第五章 自顶向下语法分析方法.pptVIP

  • 7
  • 0
  • 约2.01万字
  • 约 96页
  • 2017-09-09 发布于湖北
  • 举报
第五章 自顶向下语法分析方法

本章小结 两种自顶向下分析方法: 递归子程序法 预测分析法 一种文法:LL(1)文法 判别方法 非LL(1)到LL(1)的转换 如果文法具有间接左递归,则也将发生上述问题, 只不过环的圈子兜得更大。 要实行自顶向下分析,必须要消除文法的左递归,下面我们将介绍直接左递归的消除方法,在此基础上再介绍一般左递归的消除方法。 (1)消除直接左递归 将左递归规则改为右递归规则 若:P→P?|? 则可改写为:P→?P’ P’→?P’|ε 例12 已知G[E]: E→T*F|T/F|F   T→F|T*F|T/F 解:左递归改为右递归得: E→T*F|T/F|F T→FT’ T’→*FT’|/FT’|ε (2)消除间接左递归 例13 S→Aa|b A→Sd 根源:最左循环依赖 解决思路:试图改为单向依赖 更改依赖方向基本方法:产生式代入,先把间接左递归转化为直接左递归 S→Sda|b 再消除直接左递归 S→bS’ S’→daS’|ε 消 除 所 有 左 递 归 的 算 法 1.把G的非终结符整理成某种顺序A1,A2,……An ,使得: A1 → δ1|δ2|……δk A2→ A1 r…… A3 → A2u | A1v….. ……. 2. for ( i=1;i

文档评论(0)

1亿VIP精品文档

相关文档