抽象語法樹

维基百科,自由的百科全书
跳转至: 导航搜索

计算机科学中,抽象语法树abstract syntax tree或者缩写为AST),或者语法树syntax tree),是源代码的抽象语法结构的状表现形式,这里特指编程语言源代码。树上的每个节点都表示源代码中的一种结构。之所以说语法是“抽象”的,是因为这里的语法并不会表示出真实语法中出现的每个细节。比如,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现;而类似于if-condition-then这样的条件跳转语句,可以使用带有两个分支的节点来表示。

和抽象语法树相对的是具体语法树concrete syntax tree),通常称作分析树parse tree)。一般的,在源代码的翻译和编译过程中,語法分析器创建出分析树。一旦AST被创建出来,在后续的处理过程中,比如语义分析阶段,会添加一些信息。

外部連結[编辑]

http://www.khanacademy.org/cs/abstract-syntax-tree/1325566512