编译原理第7章答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理第7章答案

第七章 LR分析法 1.已知文法 A(aAd|aAb|ε 判断该文法是否是SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程。 解:增加一个非终结符S/后,产生原文法的增广文法有: S/(A A(aAd|aAb|ε 下面构造它的LR(0)项目集规范族为: a b d # A I0: S/(?A A(?aAd A(?aAb A(? I2: A(a?Ad A(a?Ab A(?aAd A(?aAb A(? I1: S/(A? I1: S/(A? acc I2: A(a?Ad A(a?Ab A(?aAd A(?aAb A(? I2 I3: A(aA?d A(aA?b I3: A(aA?d A(aA?b I4: A(aAb? I5: A(aAd? I4: A(aAb? I5: A(aAd? 从上表可看出,状态I0和I2存在移进-归约冲突,该文法不是LR(0)文法。 对于I0来说有 FOLLOW(A)∩{a}={b,d,#}∩{a}=Φ 所以在I0状态下面临输入符号为a时移进,为b,d,#时归约,为其他时报错。 对于I2来说有也有与I0完全相同的结论。 这就是说,以上的移进-归约冲突是可以解决的,因此该文法是SLR(1)文法。其他SLR(1)分析表为: 下面构造它的SLR(1)项目集规范族为: 表7.1.1 文法的SLR(1)分析表 状态 ACTION GOTO a b d # A 0 S2 r1 r2 r3 1 1 acc 2 S2 r1 r2 r3 3 3 S4 S5 4 r2 r2 r2 r2 5 r1 r1 r1 r1 对输入串ab#给出分析过程为: 步骤 状态栈 符号栈 输入串 ACTION GOTO 1 0 # ab# S2 2 02 #a b# r3 3 3 023 #aA b# S4 4 0234 #aAb # r2 1 5 01 #A # acc 15.已知文法为: S(a|^|(T) T(T,S|S 构造它的LR(0),LALR(1),LR(1)分析表。 给出对输入符号串(a#和(a,a#的分析过程。 说明(1)中三种分析表发现错误的时刻和输入串的出错位置有何区别。 解: (1)加入非终结符S/,方法的增广文法为: S/(S S(a S(^ S((T) T(T,S T(S 下面构造它的LR(0)项目集规范族为: a ^ ( ) , # S T I0: S/(?S S(?a S(?^ S(?(T) I2: S(a? I3: S(^? I4: S((?T) T(?T,S T(?S S(?a S(?^ S(?(T) I1: S/(S? I1 acc I2 I3 I4: S((?T) T(?T,S T(?S S(?a S(?^ S(?(T) I2 I3 I4 I6: T(S? I5: S((T?) T(T?,S I5: S((T?) T(T?,S I7: S((T)? I8: T(T,?S S(?a S(?^ S(?(T) I6 I7: I8: T(T,?S S(?a S(?^ S(?(T) I2 I3 I4 I9 T(T,S? I9 从上表可看出,不存在移进-归约冲突以及归约归约冲突,该文法是LR(0)文法。从而有下面的LR(0)分析表: 表7.15.1 文法的LR(0)分析表 状态 ACTION GOTO a ^ ( ) , # S T 0 S2 S3 S4 1 1 acc 2 r1 r1 r1 r1 r1 r1 3 r2 r2 r2 r2 r2 r2 4 S2 S3 S4 6 5 5 S7 S8 6 r5 r5 r5 r5 r5 r5 7 r3 r3 r3 r3 r3 r3 8 S2 S3 S4 9 9 r4 r4 r4 r4 r4 r4 下面构造它的LR(1)项目集规范族为: a ^ ( ) , # S T I0: S/(?S,# S(?a,# S(?^,# S(?(T),# I2: S(a?,# I3: S(^?,# I4: S((?T),# T(?T,S,), T(?S,), S(?a,), S(?^,), S(?(T),), I1: S/(S?,# I1 acc I2 I3 I4: S((?T),# T(?T,S,), T(?S,),

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档