程序设计语言与编译习题解答.doc
《程序设计语言与编译习题解答.doc》由会员分享,可在线阅读,更多相关《程序设计语言与编译习题解答.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流程序设计语言与编译习题解答.精品文档.4-5 解:上下文有关文法(1型文法),产生的语言L(G)=aibici | i1,i为整数4-6 解:3型文法,L(G)=ai | i1,i为奇数4-7 解:2型文法,L(G)=aibi | i1,i为整数4-8 解:1型文法,L(G)=aibici | i1,i为整数4-9 解:1. 最左推导最右推导S (A) (B) (SdB)S (A) (B) (SdB) (A)dB) (B)dB) (SdS) (Sda) (S)dB) (b)dB) (A)da (B)da) (b)dS) (b)da) (s)d
2、a (b)da)2. 语法树4-10解:1. 因为存在推导S SbF SbP Sbc Fbc FaPbc所以FaPbc是文法G (S) 的一个句型。2. 语法树4-11解:因为串aaabaa可有下列两棵不同的语法树所以文法G (S)是二义文法。9-2解:(1)消除文法G的产生式直接左递归。ASeA | fA AdA | e (2)消除间接左递归:按S.A排序(按书上P116页的算法i=2,j=1时)将S的产生式代入有AAaeA | AbeA | ceA | fA (3)消除的直接左递归有AceAA | fAA AaeAA | beAA | e (4)对S的产生式提公因子有SAB | c B|
3、a | b (5)最后,文法G提取公因子,消除左递归后的产生式由, , , 和组成,无多余的产生式。(6)若按A.S排序,得到的产生式组合是另外的形式,但它们是等价的文法,读者可以试试。9-3解:消除左递归后,得文法G:S(L) | aLSLL, SL | e递归下降过程: Procedure match(t:token); begin if lookahead=t then lookahead=nexttoken else error end procedure S; begin if lookahead=a then match(a) else if lookahead=( then be
4、gin match(c); L; if lookahead=) then match() else error end end procudure L; begin S; L; end procudure L; begin if lookahead=, then begin match(,) S; L end end9-6解:(1)G(S):SAS SiAS | e ABA A+BAe BbS* | a (2)FIRST集和FOLLOW集FIRSTFOLLOWSb,a#,*Si,e#,*Ab,a#,*,iA+,e#,*,iBb,a#,*,i,+预测分析表ai+b*#SSASSASSSiASSe
5、SeAABAABAAAeA+BAAeAeBBaBbS*(3)因为预测分析表无多重定义入口,所以G是LL(1)文法。9-7解:对习题9-3的文法G消除左递归后,得文法G: S(L) | a LSL L,SL | e FIRST集和FOLLOW集FIRSTFOLLOWS(,a),#L(,a)L,e)预测分析表()a,#SS(L)SaLLSLLSLLL)L,SL因为预测分析表无多重定义入口,所以文法G是LL(1)文法。10-1解:(1)规范规范推导(最右推导)最右推导SABASbAABbbBABb(2)语法树(推导树)(3)短语 bB, AB, ABb, bBABb 直接短语 bB, AB 句柄 b
6、B 最左素短语 bB10-2解:(1)因为存在推导SSbFFbFFaPbFFaPbPFaPbc所以FaPbc是文法G的一个句型。(2)语法树(3)短语 FaP, c, FaPbc 直接短语 FaP, c 句柄 FaP 最左素短语 FaP10-3解:拓广文法0.SS1.SAS2.Sb3.ASA4.AaLR(0)项目集规范族I0=closureSS I1=GO(I0,S) I2=GO(I0,A) I3=GO(I0,b)I0:SS SS SAS SbSAS ASA SAS GO(I1,a)=I4Sb ASA Sb GO(I2,A)=I2ASA Aa ASA GO(I2,b)=I3Aa SAS Aa
7、SbI4=GO(I0,a) I5=GO(I1,A) I6=GO(I1,S) I7=GO(I2,S)Aa ASA ASA SAS SAS ASA ASA SAS Ab ASA Sb SAS Aa ASA Sb SAS Aa Sb GO(I1,b)=I3 GO(I2,a)=I4FOLLOW(S)=a, b, #FOLLOW(A)=a, b 状态5在输入a时有S4和r3的移进归约矛盾。 状态5在输入b时有S3和r3的移进归约矛盾。 状态7在输入a时有S4和r1的移进归约矛盾。 状态7在输入b时有S3和r1的移进归约矛盾。 文法G既不是LR(0)文法,也不是SLR(1)文法。10-4解:(1)最左推导
8、 S(T)(T,S)(S,S)(a,S)(a,(T) (a,T,S)(a,(S,S)=(a,(a,S)(a,(a,a) 最右推导 S(T)(T,S)(T,(T)(T,(T,S)(T,(T,a) (T,(S,a)(T,(a,a)(S,(a,a)(a,(a,a) 最左推导 S(T)(T,S)(S,S)(T),S)(S),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)(a,a),(a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 编译 习题 解答
限制150内