编译原理第五章答案.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编译原理第五章答案--第1页

第5章自顶向下语法分析方法

第1题

对文法G[S]

S→a||(T)∧

T→T,S|S

(1)给出(a,(a,a))和(((a,a),,(a)),a)∧的最左推导。

(2)对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。

(3)经改写后的文法是否是LL(1)的?给出它的预测分析表。

(4)给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。

答案:

编译原理第五章答案--第1页

编译原理第五章答案--第2页

编译原理第五章答案--第2页

编译原理第五章答案--第3页

也可由预测分析表中无多重入口判定文法是LL(1)的。

可见输入串(a,a)#是文法的句子。

第3题

已知文法G[S]:

S→MH|a

H→LSo|ε

K→dML|ε

L→eHf

M→K|bLM

判断G是否是LL(1)文法,如果是,构造LL(1)分析表。

编译原理第五章答案--第3页

编译原理第五章答案--第4页

第7题

对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文

法进行改写,并对改写后的文法进行判断。

(1)A→baB|ε

编译原理第五章答案--第4页

编译原理第五章答案--第5页

B→Abb|a

(2)A→aABe|a

B→Bb|d

(3)S→Aa|b

A→SB

B→ab

答案:

(1)先改写文法为:

0)A→baB

1)A→ε

2)B→baBbb

3)B→bb

4)B→a

再改写文法为:

0)A→baB

1)A→ε

2)B→bN

3)B→a

4)N→aBbb

5)N→b

(2)文法:A→aABe|aB→Bb|d

提取左公共因子和消除左递归后文法变为:

0)A→aN

1)N→ABe

2)N→ε

3)B→dN1

4)N1→bN1

5)N1→ε

编译原理第五章答案--第5页

编译原理第五章答案--第6页

(3)文法:S→Aa|bA→SBB→ab

第1种改写:

用A的产生式右部代替S的产生式右部的A得:

S→SBa|bB→ab

消除左递归后文法变为:

0)S→bN

1)N→BaN

2)N→ε

3)B→ab

编译原理第五章答案--第6页

编译原理第五章答案--第7页

也可由预测分析表中无多重入口判定文法是LL(1)的。

第2种改写:

文档评论(0)

LLFF111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档