编译原理第四章作业.pptVIP

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

* 1 文法G[S] S→ a |∧ |(T) T→ T,S | S 文法中含有左递归,一定不是LL(1)文法,不能应用递归子程序法,所以 a) 消除左递归,改写后的文法是: S → a | ∧ | (T) T→ ST’ T’→ ,ST’ | ε b) 判断文法是否为LL(1)文法 S → a S→∧ S→ (T) T→ ST’ T’→ ,ST’ T’→ ε LL(1)文法的充分必要条件是:对每个非终结符A的任意两个产生式,A→α ,A→β,满足 select(A→ α) ∩select(A→β)=Φ , LL(1)文法的判别: 1 求出能推出ε非终结符 { T’ } T’ T S FIRST S → a S→∧ S→ (T) T→ ST’ T’→ ,ST’ T’→ ε 3计算FOLLOW集 T’ T S FOLLOW , a ∧ ( a ∧ ( # ) ) , ) ε 2计算FIRST集 由S→ (T) 得Follow(T)={)} 由T→ ST’ 得 由于T’能推出ε 所以Follow(S)= (First(T’)-{ε})? Follow(T)={ , } ?{ ) } 由T→ ST’ 得 Follow(T’)= Follow(T)={ ) } select(S→a) 和select(S→ ∧) 和select(S→(T))两两不相交 Select(T ’→ ,ST’ ) ∩ select(T ’→ ε) = Φ 因为具有相同左部的产生式的SELECT集两两交集为空,所以此文法是LL(1)文法。 4计算SELECT集 SELECT(S → a ) ={ a } SELECT(S→∧) ={ ∧ } SELECT(S→ (T)) ={ ( } SELECT(T→ ST’ ) =First(ST’)={ a, ∧,( } SELECT(T ’→ ,ST’ ) ={ , } SELECT(T ’→ ε) =Follow(T’)={ ) } (2)经改写后的文法是否是LL(1)的?给出它的预测分析表。 已求得产生式的SELECT集 SELECT(S → a ) ={ a } SELECT(S→∧) ={ ∧ } SELECT(S→ (T)) ={ ( } SELECT(T→ ST’ ) ={ a, ∧,( } SELECT(T ’→ ,ST’ ) ={ , } SELECT(T ’→ ε) ={ ) } 是LL(1)文法,构造预测分析表如下: T’→ ,ST’ T’→ ε T’ T→ST’ T→ST’ T→ST’ T S→(T) S→ ∧ S→a S # , ) ( ∧ a (3)给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。 T’→ ,ST’ T’→ ε T’ T→ST’ T→ST’ T→ST’ T S→(T) S→ ∧ S→a S # , ) ( ∧ a , 匹配 ,a)# #)T’S, 7 T’→,ST’ ,a)# #)T’ 6 a 匹配 a,a)# #T’a 5 S→a a,a)# #)T’S 4 T→ST’ a,a)# #)T 3 ( 匹配 (a,a)# #)T( 2 S→(T) (a,a)# #S 1 所用产生式 剩余输入串 分析栈 步骤 T’→ ,ST’ T’→ ε T’ T→ST’ T→ST’ T→ST’ T S→(T) S→ ∧ S→a S # , ) ( ∧ a 接受 # # 12 ) 匹配 )# #) 11 T’→ ε )# #)T’ 10 a 匹配 a)# #)T’a 9 S→a a)# #)T’S 8 题目:设拓广文法G?[S?]的产生式为: S? ? S S ? aA | bB A ? cA | d B ? cB | d LR(0)项目集规范族 I0: S??.S S?.aA S?.bB I1: (I0,S) S??S. I2: (I0,a) S?a.A A?.cA A?.d I3: (I0,b) S?b.B B?.cB B?.d I4: (I2,c) (I4,c) A?c.A A?.cA A?.d I5: (I3,c) (I5,c) B?c.B

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档