编译原理清华大学第7章LR法.pptVIP

  • 22
  • 0
  • 约2.96万字
  • 约 78页
  • 2017-07-02 发布于湖北
  • 举报
图 7.8 LR(0)识别G′的活前缀的DFA 如果一个文法的LR(1)分析表不含多重入口时,(或任何一个LR(1)项目集中无移进-归约冲突或归约-归约冲突)则称该文法为LR(1)文法,所构造的相应分析表称为LR(1)分析表,能使用LR(1)分析表的分析器称为LR(1)分析器或称规范的LR分析器。 表 7.11 LR(1)分析表 2 5 8 9 1 Acc r1 r3 r2 S4 S7 S4 r3 S7 r2 S3 S6 S3 r3 S6 r2 0 1 2 3 4 5 6 7 8 9 B S # b a GOTO ACTION 状态 结论: LR(1)文法是无二义的。 LR(1)项目集的构造对某些同心集的分裂可能使状态数目剧烈的增长。 一个文法是LR(0)文法一定也是SLR(1)文法,也是LR(1)文法。反之则不一定成立。 7.5 LALR(1) 分析 LR(1)分析表的构造,对归约时向前查看的符号由SLR(1)用的FOLLOW集改为向前搜索符,计算方法比较确切,对文法放宽了要求,也就是适应的文法类广,因此,可以解决SLR(1)方法解决不了的问题。 但是,由于它的构造对某些同心集的分裂可能对状态数目引起剧烈的增长,从而导致存储容量的急剧增加,也使应用受到一定的限制。 为了克服LR(1)的这种缺点,采用对LR(1)项目集规范族合并同心集的方法

文档评论(0)

1亿VIP精品文档

相关文档