这是一个开源免费的Go语言进阶教程,Go语法树是Go语言源文件的另一种语义等价的表现形式。而Go语言自带的go fmt和go doc等命令都是在Go语法树的基础之上分析工具。因此将Go语言程序作为输入数据,让我们语法树这个维度重新审视Go语言程序,我们将得到创建Go语言本身的技术。Go语法树由标准库的go/ast包定义,它是在go/token包定义的词法基础之上抽象的语法树结构。本书简单介绍语法树相关包的使用。

目录

第1章 记号
第2章 基础面值
第3章 基础表达式
第4章 代码结构
第5章 通用声明
第6章 函数声明
第7章 复合类型
第8章 复合面值
第9章 复合表达式
第10章 语句块和语句
第11章 类型检查
附录A goyacc