编译原理四:语法分析详解

996 阅读1分钟

自顶向下的分析

自顶向下的分析

最左推导(Left-most Derivation)

最左推导

最右推导(Right-most Derivation)

最右推导

最左推导和最右推导的唯一性

最左推导和最右推导的唯一性

自顶向下的语法分析采用最左推导方式

  • 总是选择每个句型的最左非终结符进行替换
  • 根据输入流中的下一个终结符,选择最左非终结 符的一个候选式

例: 例1.png

自顶向下语法分析的通用形式

自顶向下语法分析的通用形式

预测分析 (Predictive Parsing)

  • 预测分析是递归下降分析技术的一个特例,通过 在输入中向前看固定个数(通常是一个)符号来选 择正确的A-产生式。
  • 可以对某些文法构造出向前看k个输入符号的预测分析 器,该类文法有时也称为LL(k) 文法类
  • 预测分析不需要回溯,是一种确定的自顶向下分析 方法

文法转换

问题1 问题2

消除直接左递归

消除直接左递归

消除直接左递归的一般形式

消除直接左递归的一般形式

消除间接左递归

消除间接左递归

消除左递归算法

消除左递归算法

提取左公因子(Left Factoring )

提取左公因子

提取左公因子算法

提取左公因子算法

LL(1) 文法

S _ 文 法 LL(1) LL(1)1