知识卡片

AST抽象语法

专业/工作 · 489.b.2.b.2

内容

AST 用树结构表达源码的语法关系,只保留对编译有意义的结构,不保留所有表面符号。它像源码和后续语义分析之间的中间地图,适合做编译、格式化和静态分析。编译流水线中,AST 之后进一步转换为 [[SSA显式依赖]] 这种更利于优化的中间表示。

参考来源

- 位置:《Go语言高级开发与实战》第2章《Go语言高级编程技巧》(源文件:_epub-src/GoYu Yan Gao Ji Kai Fa Yu Shi Zhan_split_017.html) - 结论依据:原文定义 AST 是源代码语法结构的抽象表示,并说明括号等细节会隐含在树结构中,因此支撑“抽象语法地图”的结论。 - 原始内容:.3.1 编译基础知识 1 抽象语法树 抽象语法树(Abstract Syntax Tree,AST)或简称语法树(Syntax Tree)是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于 if …cond iti on…then这…