《编译原理》课后习题答案第5章

《编译原理》课后习题答案第5章

ID:34122123

大小:238.93 KB

页数:14页

时间:2019-03-03

《编译原理》课后习题答案第5章_第1页
《编译原理》课后习题答案第5章_第2页
《编译原理》课后习题答案第5章_第3页
《编译原理》课后习题答案第5章_第4页
《编译原理》课后习题答案第5章_第5页
资源描述:

《《编译原理》课后习题答案第5章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理》课后习题答案第五章第5章自顶向下语法分析方法第1题对文法G[S]S→a

2、∧

3、(T)T→T,S

4、S(1)给出(a,(a,a))和(((a,a),∧,(a)),a)的最左推导。(2)对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。(3)经改写后的文法是否是LL(1)的?给出它的预测分析表。(4)给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。答案:(1)对(a,(a,a)的最左推导为:S(T)(T,S)(S,S)(a,S)(a,(T))(a,(T,S))(a,(S,S))(a,(a,S))(a,(a,a))对(((a,a),∧,(a)

5、),a)的最左推导为:S(T)(T,S)(S,S)((T),S)((T,S),S)((T,S,S),S)((S,S,S),S)(((T),S,S),S)(((T,S),S,S),S)(((S,S),S,S),S)(((a,S),S,S),S)(((a,a),S,S),S)(((a,a),∧,S),S)(((a,a),∧,(T)),S)(((a,a),∧,(S)),S)计算机咨询网(www.jsjzx.net)陪着您1《编译原理》课后习题答案第五章(((a,a),∧,(a)),S)(((a,a),∧,(a)),a)(2)改写文法为:0)S→a1)S→∧2)S→(T)3)T

6、→SN4)N→,SN5)N→ε非终结符FIRST集FOLLOW集S{a,∧,(}{#,,,)}T{a,∧,(}{)}....N{,,ε}.{)}....对左部为N的产生式可知:FIRST(→,SN)={,}FIRST(→ε)={ε}FOLLOW(N)={)}由于SELECT(N→,SN)∩SELECT(N→ε)={,}∩{)}=所以文法是LL(1)的。预测分析表(PredictingAnalysisTable)a∧(),#S→a→∧→(T)T→SN→SN→SNN→ε→,SN也可由预测分析表中无多重入口判定文法是LL(1)的。(3)对输入串(a,a)#的分析过程为:当前输

7、入符剩余输入符所用产生式栈(STACK)(CUR_CHAR)(INOUT_STRING)(OPERATION)#S(a,a)#...S→(T)#)T((a,a)#....#)Ta,a)#...T→SN#)NSa,a)#...S→a#)Naa,a)#....#)N,a)#...N→,SN#)NS,,a)#....计算机咨询网(www.jsjzx.net)陪着您2《编译原理》课后习题答案第五章#)NSa)#...S→a#)Naa)#....#)N)#...N→ε#))#...##可见输入串(a,a)#是文法的句子。计算机咨询网(www.jsjzx.net)陪着您3《编译原理

8、》课后习题答案第五章第3题已知文法G[S]:S→MH

9、aH→LSo

10、εK→dML

11、εL→eHfM→K

12、bLM判断G是否是LL(1)文法,如果是,构造LL(1)分析表。答案:文法展开为:0)S→MH1)S→a2)H→LSo3)H→ε4)K→dML5)K→ε6)L→eHf7)M→K8)M→bLM非终结符FIRST集FOLLOW集S{a,d,b,ε,e}{#,o}........M{d,ε,b}....{e,#,o}......H{ε,e}......{#,f,o}......L{e}.........{a,d,b,e,o,#}K{d,ε}......{e,#,o}.....

13、.对相同左部的产生式可知:SELECT(S→MH)∩SELECT(S→a)={d,b,e,#,o}∩{a}=SELECT(H→LSo)∩SELECT(H→ε)={e}∩{#,f,o}=SELECT(K→dML)∩SELECT(K→ε)={d}∩{e,#,o}=SELECT(M→K)∩SELECT(M→bLM)={d,e,#,o}∩{b}=所以文法是LL(1)的。计算机咨询网(www.jsjzx.net)陪着您4《编译原理》课后习题答案第五章预测分析表:aodefb#S→a→MH→MH→MH→MH→MHM→K→K→K→bLM→KH→ε→LSo→ε→εL→eHfK→ε→dM

14、L→ε→ε由预测分析表中无多重入口也可判定文法是LL(1)的。计算机咨询网(www.jsjzx.net)陪着您5《编译原理》课后习题答案第五章第7题对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。(1)A→baB

15、εB→Abb

16、a(2)A→aABe

17、aB→Bb

18、d(3)S→Aa

19、bA→SBB→ab答案:(1)先改写文法为:0)A→baB1)A→ε2)B→baBbb3)B→bb4)B→a再改写文法为:0)A→baB1)A→ε2)B→bN3)B→a4)N→aBbb5)N→

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

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

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