抽象语法树的简介
在计算机科学领域,抽象语法树(简称AST)或语法树,是展示编程语言源代码抽象语法结构的图形化表示,具体指代代码的语法结构。该树中的每个节点对应源代码中的一种特定结构。
所谓的“抽象”,意味着它并不详尽地描绘真实语法中的每一个细节。
例如,嵌套的括号在树结构中是隐含的,而非作为独立节点存在;而诸如“if-条件-then”的条件语句则可以通过具有两个分支的节点来表示。
与之相对的是具体语法树(又称分析树或解析树),它通常在源代码的翻译与编译阶段由语法分析器生成。
AST一旦生成,在后续如语义分析等处理阶段,还会增添额外信息。