编译原理-7语法分析-I.pptVIP

  • 16
  • 0
  • 约4.59千字
  • 约 42页
  • 2018-10-17 发布于江苏
  • 举报
编译原理-7语法分析-I

例:表达式文法直接左递归的消除 E → E + T|T T → T * F|F F → ( E )|id E→ T E’ E’→ + T E’|ε T→ F T’ T’→* F T’|ε F→ ( E )|id 例: 间接左递归的消除 S→Ac|c A→Bb|b B→Sa|a 将B的定义代入A产生式得:A→Sab|ab|b 将A的定义代入S产生式得: S→Sabc|abc|bc|c 消除直接左递归: S→abcS’|bcS’|cS’   S’→abcS’|ε 删除“多余的”产生式:A→Sab|ab|b和B→Sa|a 结果: S→abcS’|bcS’|cS’   S’→abcS’|ε 消除左递归的一般方法 用产生式组 A?β1 B|β2 B |…|βm B B?α1 B|α2 B |…|αn B|ε 替换产生式组 A→Aα1|Aα2|…|Aαn|β1|β2|…|βm 其中:B为新变量,相当于A’ 提取左因子 例:if语句的原始文法 S→ if E then S |if E then S else S |other 存在左因子 if E then S 影响分析:遇到 if 时难以判断用哪一个产生式进行匹配(推导) 左因子提取方法 将形如 A→αβ1|αβ2|…|αβn |γ1|γ2|… | γm 的规则改写为 A→αA’|γ1|γ2|…

文档评论(0)

1亿VIP精品文档

相关文档