编译作业答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7 - 2 给 定 文 法 G : S?Aa|Ab|c A?Ad|Se|f 请消除文法的左递归,并提取公共左因子。 解: 消除文法 G 的②产生式直接左递归。 A→SeA | fA ③ A→dA | ? ④ 消除间接左递归:按 S.A 排序(按算法 i=2,j=1 时)将 S 的① 产生式代入③有 A→AaeA | AbeA | ceA | fA ⑤ 消除⑤的直接左递归有 A→ceAA | fAA ⑥ A→aeAA | beAA | ? ⑦ 对 S 的①产生式提公因子有 S→AB | c ⑧ B→| a | b ⑨ 最后,文法 G 提取公因子,消除左递归后的产生式由⑧, ⑨, ⑥, ⑦和④组成,无多余的产生式。 若按A.S 排序,得到的产生式组合是另外的形式,但它们是等价的文法。 7-3 给定文法 G: S?(L)|a L?L,S|S 消除文法 G 的左递归,并写出递归下降分析的相应递归过程。解: 消除左递归后,得文法 G: S→(L) | a L→SL L→, SL | ? 递归下降过程: procedure advance( ) begin sym =getchar( ) end procedure S; begin if sym =a then advance( ) else if sym =( begin advance( ) L( ); if sym =) end  then then advance( ) else error() end procudure L; begin S; L; else error() end procudure L; begin if sym =, then begin advance( ) S; L end end 解: (1)G(S):S→AS S→:AS | ? A→BA A→+BA|? B→bS* | a (2)FIRST 集和 FOLLOW 集 FIRST FOLLOW S b,a #,* S :,? #,* A b,a #,*,: A +,? #,*,: B b,a #,*,:,+ 预测分析表 S S S→AS S→:AS S→AS S→? S→? A A A→BA A→? A→+BA A→BA A→? A→? B B→a B→bS* a:+b*#(3)因为预测分析表无多重定义入口,所以G a : + b * # 解: 对习题 7-3 的文法G 消除左递归后,得文法 G: S→(L) | a L→SL L→,SL | ? FIRST 集和FOLLOW 集 FIRST FOLLOW S (,a ),’,# L (,a ) L ’,? ) 预测分析表 ( ) a , # S S→(L) S→a L L L L→SL L→SL L→) L→,SL 因为预测分析表无多重定义入口,所以文法 G 是LL(1)文法。 8-1 S?AB 已知文法G: A?Ab|bB B?a|Sb 写出bBABb 的规范推导。 画出bBABb 的语法树。 求bBABb 的短语、直接短语、句柄和最左素短语。解: 规范规范推导(最右推导)最右推导S?AB?ASb?AABb?bBABb 语法树(推导树) 短语 bB, AB, ABb, bBABb 直接短语 bB, AB 句柄 bB 最左素短语 bB 8-2 已知文法G: S?SbF|F F?FaP|P P?c 试证明FaPbc 是文法 G 的一个句型。 画出FaPbc 的语法树。 求出FaPbc 的短语、直接短语、句柄和最左素短语。解: 因为存在推导 S?SbF?FbF?FaPbF?FaPbP?FaPbc 所以FaPbc 是文法G 的一个句型。 语法树 短语 FaP, c, FaPbc 直接短语 FaP, c 句柄 FaP 最左素短语 FaP 8-3 已知文法G: S?AS|b A?SA|a 列出G 的 LR(0)项目集规范族。 这个文法是 LR(0)文法吗?是 SLR(1)文法吗?若是,请构造出相应的分析表。 解: 拓广文法 S→S S→AS S→b A→SA A→a LR(0)项目集规范族 I0=closure{S→·S} I1=GO(I0,S) I2=GO(I0,A) I3=GO(I0,b) I0:S→·S S→S· S→A·S S→b· S→·AS S→·b A→·SA A→·a A→S·A A→·SA A→·a S→·AS S→·AS S→·b A→·SA A→·a I4=GO(I0,a) A→a· S→·b I5=GO(I1,A) A→SA· S→A·S S→·AS S→·b A→·SA A→·a  I6=GO(I1,S) A→S·A A→·SA A→·b S→·AS S→·b  I7=GO(I2,S) S→AS· A→S·A A→·S

文档评论(0)

mph + 关注
官方认证
内容提供者

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

认证主体上海谭台科技有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91310115MA7CY11Y3K

1亿VIP精品文档

相关文档