编译原理第四章 习题与答案1

编译原理第四章 习题与答案1

ID:16293107

大小:143.50 KB

页数:7页

时间:2018-08-09

编译原理第四章 习题与答案1_第1页
编译原理第四章 习题与答案1_第2页
编译原理第四章 习题与答案1_第3页
编译原理第四章 习题与答案1_第4页
编译原理第四章 习题与答案1_第5页
资源描述:

《编译原理第四章 习题与答案1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章习题1 4-1消除下列文法的左递归性。(1)S→SA

2、AA→SB

3、B

4、(S)

5、()B→[S]

6、[](2)S→AS

7、bA→SA

8、a(3)S→(T)

9、a

10、εT→S

11、T,S4-2对于如下文法,求各候选式的FIRST集和各非终结符号的FOLLOW集。S→aAB

12、bA

13、εA→aAb

14、εB→bB

15、ε4-3验证下列文法是否为LL(1)文法。(1)S→AB

16、CDaA→ab

17、cB→dE

18、εC→eC

19、εD→fD

20、fE→dE

21、ε(2)S→aABbCD

22、εA→ASd

23、εB→SAc

24、eC

25、εC→Sf

26、Cg

27、εD→aBD

28、ε4-4对于如下的文法G[S]

29、:S→Sb

30、Ab

31、bA→Aa

32、a(1)构造一个与G等价的LL(1)文法G′[S];(2)对于G′[S],构造相应的LL(1)分析表;(3)利用LL(1)分析法判断符号串aabb是否是文法G[S]的合法句子。4-5设已给文法S→SaB

33、bBA→S

34、aB→Ac(1)构造一个与G等价的LL(1)文法G′[S];(2)对于G′[S],构造相应的LL(1)分析表;(3)利用LL(1)分析法判断符号串bacabc是否是文法G[S]的合法句子。第4章习题答案4-1解:(1)文法G[S]中的S,A都是间接左递归的非终结符号。将A产生式的右部代入产

35、生式S→A中,得到与原文法等价的文法G′[S]:S→SA

36、SB

37、B

38、(S)

39、()A→SB

40、B

41、(S)

42、()B→[S]

43、[]文法G′[S]中的S是直接左递归的非终结符号,则消除S产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法G"[S]:S→BS′

44、(S)S′

45、()S′S′→AS′

46、BS′

47、εA→SB

48、B

49、(S)

50、()B→[S]

51、[](2)文法G[S]中的S,A都是间接左递归的非终结符号。将A产生式代入产生式S→AS中,得到与原文法等价的文法G′[S]:S→SAS

52、aS

53、bA→SA

54、a文法G′[S]中的S是直接左

55、递归的非终结符号,则消除S产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法G"[S]:S→aSS′

56、bS′S′→ASS′

57、εA→SA

58、a(3)文法G[S]中的T是直接左递归的非终结符号。则消除T产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法G′[S]:S→(T)

59、a

60、εT→ST′T′→,ST′

61、ε4-2解:文法G[S]的各候选式的FIRST集和各非终结符号的FOLLOW集如答案表4-2所示。答案表4-2文法G[S]的各个FIRST集和FOLLOW集产生式FIRSTFOLLOWS→aABS→

62、bAS→ε{a}{b}{ε}{#}A→aAbA→ε{a}{ε}[b,#}B→bBB→ε{b}{ε}{#}4-3解:(1)因为D产生式的两个候选式fD和f的FIRST集交集为f,不为空,所以该文法不是LL(1)的。(2)因为文法中含有左递归的非终结符号A,故此文法具有左递归性,不是LL(1)的。4-4解:(1)文法中含有直接左递归的非终结符号S和A,则消除直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法G′[S]::S→AbS′

63、bS′S′→bS′

64、εA→aA′A′→aA′

65、ε文法G′[S]的各候选式的FIRST集和各非

66、终结符号的FOLLOW集如答案表4-4-(1)所示:答案表4-4-(1)文法G′[S]的各个FIRST集和FOLLOW集产生式FIRSTFOLLOWS→AbS′S→bS′{a}{b}{#}S′→bS′S′→ε{b}{ε}{#}A→aA′{a}{b}A′→aA′A′→ε{a}{ε}{b}下面来验证文法G′[S]是否是LL(1)文法。对于文法G′[S],因为有:对于产生式S→AbS′

67、bS′,有FIRST(AbS′)∩FIRST(bS′)={a}∩{b}=Æ;对于产生式S′→bS′

68、ε,有FIRST(bS′)∩FOLLOW(S′)={

69、b}∩{#}=Æ;对于产生式A′→aA′

70、ε,有FIRST(aA′)∩FOLLOW(A′)={a}∩{b}=Æ;所以文法G′[S]即为所求的与G等价的LL(1)文法。(2)文法G′[S]的LL(1)分析表如答案表4-4-(2)所示:答案表4-4-(2)文法G′[S]的LL(1)分析表ab#SS→AbS′S→bS′S′S′→bS′S′→εAA→aA′A′A′→aA′A′→ε(3)对符号串aabb进行LL(1)分析的过程如答案表4-4-(3)所示。答案表4-4-(3)对aabb进行LL(1)分析的过程步骤分析栈余留输入串所用产生式1#

71、Saabb#S→AbS′2#S′bAaabb#A→aA′3#S′bA′aaabb#4#S′bA′abb#A′→aA′5#S′bA′aabb#6#S′bA′bb#A′→ε7#S′bbb#8#S′b#S′→bS′9#S′bb#10#S′#S′→ε11#

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。