解析树 Parse Tree

解析树是语法分析结果的一种表现形式,通常以树状表示语言的语法结构。

解析树通常按照两种相反的法则生成,分别是依存语法和短语结构语法,不用于抽象语法树,后者是分析树多包涵信息的浓缩。

解析树与抽象语法树

抽象语法树 Abstract Syntax Tree 是语法结构的一种抽象表示,其以树状的形式表现结构,即树上的每个节点都语法中的一种结构,其「抽象」的地方在于不会表示出真实语法的每个细节。

解析树通常以完全解析的形式表现源文本,其一般符合定义源语言的上下文无关语法,其包含括号、空白和注释等信息,但抽样语法树通常从这些信息中抽象出来。

简单来说 AST 只包含代码的语义,但解析树包含如何编写代码的信息,一个具体的语法树匹配语法规则所说的语法,AST 则是对「解析树」中必不可少的信息进行简单表示。

相关词:语法树