个性化阅读
专注于IT技术分析

解析树和语法树

当你创建一个分析树时, 它包含的细节比实际需要的更多。因此, 编译器解析语法树非常困难。以下面的解析树为例:

解析树和语法树
  • 在解析树中, 大多数叶子节点是其父节点的单个子节点。
  • 在语法树中, 我们可以消除这些额外的信息。
  • 语法树是解析树的变体。在语法树中, 内部节点是运算符, 叶子是操作数。
  • 当以树形结构表示程序时, 通常使用语法树。

句子id + id * id将具有以下语法树:

解析树和语法树1

抽象语法树可以表示为:

解析树和语法树2

抽象语法树是编译器中的重要数据结构。它包含最少的不必要信息。

抽象语法树比解析树更紧凑, 并且编译器可以轻松使用它。

赞(0)
未经允许不得转载:srcmini » 解析树和语法树

评论 抢沙发

评论前必须登录!