第三章语法分析.pptVIP

  • 15
  • 0
  • 约1.67万字
  • 约 83页
  • 2017-06-24 发布于四川
  • 举报
有文法如下, ( S’ →S ) 1) S →A|B 2) A →aAc 3) A →a 4) B →bBd B →b 构造识别其所有规范句型活前缀的DFA。 练习 I0: S’→.S S→.A S→.B A→.aAc A→.a B→.bBd B→.b S I1:S’→S. A I2:S→A. B I3:S→B. a I4: A→a.Ac A→a. A→.aAc A→.a b I5: B→b.Bd B→b. B→.bBd B→.b A I6:A→aA.c a b B I7: B→bB.d c I8:A→aAc. d I7: B→bBd. S’ →S S →A|B A →aAc A →a B →bBd B →b 只有当一个文法G是LR(0)文法,即G的每一个状态不出现冲突时,才能构造出LR(0)分析表。 由于大多数适用的程序设计语言的文法不能满足LR(0) 文法的条件,因此要使用向前查看一个符号的办法来处理冲突。 只对有冲突的状态向前查看一个符号,即查看FOLLOW集,以确定做哪个动作,这种分析方法为简单的LR分析法,用SLR(1)表示。 如果每个项目都附上k个终结符号,表示要对它进行归约时,后续的k个输入符号与这k个符号相同时,才能对栈顶进行归约。这就是LR(k)分析。 3.5.3 SLR分析表的构造 该项目集中既含有移进项目,又含有归约项目,出现了冲突。 解决

文档评论(0)

1亿VIP精品文档

相关文档