Skip to content

📚 《Go语法树入门——开启自制编程语言和编译器之旅》(开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST/凹语言)

Notifications You must be signed in to change notification settings

ren-jimmy/go-ast-book

 
 

Repository files navigation

Go语法树入门——开启自制编程语言和编译器之旅!


蚂蚁金服招聘云原生方向和编程语言方向岗位(杭州/P7):云原生方向要求熟悉k8s配套工具,如kubectl、kustomize、kubebuilder,operator;编程语言方向要求对语言对语言解释器(如py/js/lua/wasm等)、工具链、配套SDK有一定兴趣和实践经验。欢迎各位同学咨询或推荐(推荐成功独享全额推荐红包)。联系方式 chaishushan@gmail.com, shushan.css@alibaba-inc.com


Go语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的go fmtgo doc等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据,让我们语法树这个维度重新审视Go语言程序,我们将得到创建Go语言本身的技术。Go语法树由标准库的go/ast包定义,它是在go/token包定义的词法基础只是抽象的语法树结构。本书简单介绍语法树相关包的使用(出版社已经约稿出版本书,并在开源版本的基础之上增加了语义信息、SSA形式、LLVM和凹语言等内容,因为出版社版权问题不方便全部公开新增内容)。

在线阅读

版权

版权 柴树杉史斌丁尔男,保留相关权力。针对Github注册用户提供以下的优惠权利:

  1. Github平台免费在线阅读。
  2. 关注本书项目(Star),同时关注任意一个作者的 Github 或 推特账号,自动获得下载的权利。

禁止非 Github 平台转载,作者保留相关法律权利。

About

📚 《Go语法树入门——开启自制编程语言和编译器之旅》(开源免费图书/Go语言进阶/掌握抽象语法树/Go语言AST/凹语言)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 90.0%
  • C 7.3%
  • Yacc 1.1%
  • Other 1.6%