编译原理第五章答案_第1页
编译原理第五章答案_第2页
编译原理第五章答案_第3页
编译原理第五章答案_第4页
编译原理第五章答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1题对文法GSSt a|(T) ATf T,S|S(1)第5章 自顶向下语法分析方法给出(a,(a,a)和(a,a),(a),a) A 的最左推导。对文法G,进行改写,然后对每个非终结符写出不带回溯的递归子程序。 经改写后的文法是否是LL(1)的?给出它的预测分析表。给出输入串(a,a)#的分析过程,并说明该串是否为G的句子。答案:对(a.(a.a)的最左推导为言S=(T)=(T.S) =(S.S) =(AS) 二他) =心心) =(aXS5) =(氐(a$) =(aL(a(T.S)=(S5)=(T).S) n(TS)S) n(TSS)S) d(SSS)、S) n(T)SS)$) =(T,S

2、).S.S).S) =(S,S).S.S).S) =(a.S).S.S),S) =(a.a)5.S),S) =(a.a),A.S).S) 二(EA(T)$) n(aQA(S).S)=(a.a),A,(a),S) n(aOA(a)a)(2)改写文法为:0) Sa DSA2) St(T)3) T*SN4) Nr SN5) Nt非终结符FIRST 集FOLLOW 蛍S轨/V也)TN e)炖左部为N的产生武町知:FIRSTSN) =, FIRST ()=瑞FOLLOW (N) =)ElJ J SELECKNS N)nSELECT(N s) -门片=所以文法JLL(l)的。预测分析表(Predic li

3、ng Aim lysis Tah Le)aA()LSa-ATT)1.TSNSNSNLNre.SNr也可由预测分析表中无多重入口判定文法是LL(1)的。对辅入串(a.a)部的分机过程为:当前输入符(CVR_CHAR)剰余输入符(IN OUT ST 尺 ENG J所用产生式COP ERATION)豹T #)XS #)Na #)N #)XS, #)S #)Xa 井)#)#5#S-(TJ丁一 SNS*a用)#N-.SNa)#Sa#NE#可见输入串(a,a) #是文法的句子。第3题已知文法GS:St MH|a3 LSo| Kt dML| Lt eHfmt K|bLM判断G是否是LL(1)文法,如果是,构

4、造 LL(1)分析表。文法展开为:0)SM H1)Sa2)HL So3)H j4)Kd M L5)K6)LeHf7)MK8)Mb L M非终结符FIRST 集FOLLOW ffcsa,d,b.e,e碌oM心W巳就0He,eL何a,d.b.e,o,#K1gg.就 0对相同人:部的产武町知:SELEC TOSM H)nSELECT(Sa) = d.b .e #.o n a J=0 SELECT(H-*L S a)nSELECT(H-e) e 0 #.fe =0 SELEUT(K一d M L)nSELECTK)= d 0 亡農o 护总 ELECT(MKnSELECT(Mb LM)=d,巴梵 o b

5、=迂 所以立法是LL的。预測分析表2a0defb#sMHtMHMHMHtMH1MKKK一 bLM*H7-LSo-111 TLrHfL1K*dlL一十由预测分析表中无参乘入I I也叮判宦文法長LL(1)的.第7题对于一个文法若消除了左递归,提取了左公共因子后是否一定为LL(1)文法?试对下面文法进行改写,并对改写后的文法进行判断。(1 )A 7 baB| ab#Af Bn-bNN*aBbbfB7 Abb|a(2) A 7 aABe|aB7 Bb|d(3) S 7 Aa|bA7 sbB7 ab答案:(1 )先改写文法为:0) A 7 baB1) A 7 2) B 7 baBbb3) B 7 bb4

6、) B 7 a再改写文法为:0) A 7 baB1) A 7 2) B 7 bN3) B 7 a4) N 7 aBbb5) N 7 bFIRSTFOLLOW丸何#Bb.aNb.a#.b预测分析表;由预测分析表中无多丑入I I判定文法是1X(1)的。(2) 文法:A7 aABe|a B 7 Bb|d提取左公共因子和消除左递归后文法变为:0) A7 &7 d N14) N1 7 b N15) N1 71) N2) N3) B非终结符FIRST 集FOLLOW 集A财B河eNOle牡0N1Se对相同左部的产生式町知:SELECTfN-A B e)nSELECT(N-)= a 0 #M = SELEC

7、TCNlb N1)nSELECT(NlE)= b)n e =& 所以文法绘LL(1)的.硕测分析丧 J)= a # =!2 所以文法是LL(1)的。预测分 fi 表(Predicting Aiialy sis Table)abSbNBa bNtBeNE也可由预测分析表中无多重入口判定文法是LL(1)的。第2种改写:用S的产生式右部代替 A的产生式右部的 S得:S7 Aa|b A 7 AaB|bB B 7 ab 消除左递归后文法变为:0) S1) S2) A3) N4) N5) B7 A a7 b7 b B N7 a B N非终绪符FIRST 集FOLLOW 集Sb)AbiBNax7 a b对和冋左制的产生式叮知ISELECT(一 A arELECT(b)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论