ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:948.40KB ,
资源ID:26363003      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26363003.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译原理及编译程序构造部分课后与答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

编译原理及编译程序构造部分课后与答案.docx

1、编译原理及编译程序构造部分课后与答案编译原理及编译程序构造-部分课后与答案(总30页)第一章练习12、典型的编译程序可划分为哪几个主要的逻辑部分各部分的主要功能是什么典型的编译程序具有7个逻辑部分:第二章练习4.试证明:A+ =AA*=A*A证: A*=A0A+,A+=A1A2An得:A*=A0A1A2An AA*=A(A0A1A2An)= AA0AA1AA2A An=AA2A3An +1= A+同理可得:A*A =(A0A1A2An)A=A0 AA1AA2AAnA= AA2A3An+1= A+因此: A+ =AA*=A*A练习1.设G标识符的规则是 :标识符:=a|b|c|标识符a|标识符c

2、|标识符0|标识符1试写出VT和VN,并对下列符号串a,ab0,a0c01,0a,11,aaa给出可能的一些推导。解:VT =a,b,c,0,1, VN =标识符(1) 不能推导出ab0,11,0a(2)标识符=a(3)标识符=标识符1=标识符01=标识符c01=标识符0c01= a0c01(4)标识符=标识符a=标识符aa=aaa2写一文法,其语言是偶整数的集合解:G::= | := + | |:= | := | 1 | 3 | 5 | 7 | 9 :=0 | 2 | 4 | 6 | 84. 设文法G的规则是:A:=b| cc试证明:cc, bcc, bbcc, bbbccLG证:(1)A=

3、cc(2)A=bA=bcc(3)A=bA=bbA=bbcc(4)A=bA=bbA=bbbA=bbbcc又cc, bcc, bbcc, bbbccVt*由语言定义,cc, bcc, bbcc, bbbccLG5 试对如下语言构造相应文法:(1) a(bn)a | n=0,1,2,3,其中左右圆括号为终结符。(2) (an)(bn) | n=1,2,3, 解:(1)文法GS:S:= a(B)aB:= bB |( 2 ) 文法GS:-错了,两个n不等S := (A)(B)A:= aA|aB:= bB|b7.对文法G3表达式表达式:=项|表达式+项|表达式-项项:=因子|项*因子|项/因子因子:=(表

4、达式)| i列出句型表达式+项*因子的所有短语和简单短语。 = + = + * 短语有:表达式+项*因子和项*因子简单短语是:项*因子8 文法V:= aaV | bc的语言是什么解:L(GV)= a2nbc | n=0,1,2,V aaV aaaaV . a2nbc (n 1)V bc (n=0)练习5.已知文法GE:E:=ET+ | TT:=TF* |FF:=FP |PP:=(E)| i有句型TF*PP+,问此句型的短语,简单短语,和句柄是什么解:此句型的短语有:TF*PP+,TF*,PP,P简单短语有:TF*,P句柄是:TF*8.证明下面的文法G是二义的:S:= iSeS | iS | i

5、证:由文法可知iiiei是该文法的句子,又由文法可知iiiei有两棵不同的语法树。所以该文法是二义性文法。第三章练习1画出下述文法的状态图Z:=BeB:=AfA:= e |Ae使用该状态图检查下列句子是否是该文法的合法句子f,eeff,eefe2、有下列状态图,其中S为初态,Z为终态。(1) 写出相应的正则文法:(2) 写出该文法的V,Vn和Vt;(3) 该文法确定的语言是什么解:(1) ZA1|0 AA0|0(2) V=A,Z,0,1Vn=A,ZVt=0,1(3) L (GS)= 0或0n1,n1L (GS)= 0|00*1练习1令A,B,C是任意正则表达式,证明以下关系成立:A|A=A(A

6、*)*= A*A*=| AA*(AB)*A = A(BA)*(A|B)* =(A*B*)*=(A*|B*)证明:AAxxL(A)或xL(A)xxL(A)A(A*)*(A*)0(A*)1(A*)2(A*)n(A0A 1A2An) (A1)A0A 1A2AnA*AA*所表示的语言是:LALA*LA0LA(LA0LA1LA2)LA0LA1LA2LA*故AA*A*(LALB)*LA=(L(A)LBLALBLALBLALBLALBLALB) LA=LALALBLALALBLALBLALALBLALBLALBLA= LA(LBLALBLALBLA)= LA(LBLA)(AB)*A=A(BA)*三个表达式所

7、描述的语言都是LALB中任意组合(A|B)*=(A*B*)=(A*|B*)*2. 构造下列正则表达式相应的DFA(1) 1(0|1)*|0(2) 1(1010*|1(010)*1)*04. 5. 构造一DFA,它接受=0,1上所有满足如下条件的字符串:每个1都有0直接跟在右边。第四章练习2. 有文法GA: A:= (B) | dBeB:= c | Bc试设计自顶向下的语法分析程序。解:消除左递归:A:= (B) | dBeB:= ccprocedure B;if CLASS = c thenbeginnextsym;while CLASS = c do nextsym;end;elseerro

8、r; program G;beginnextsym;A;end;procedure A;if CLASS = ( thenbeginnextsym;B;if CLASS = ) thennextsym;elseerrorend;elseif CLASS = d thenbeginnextsym;B;if CLASS = e thennextsym;elseerror;end;elseerror;3. 有文法GZ: Z:= AcB| BdA:=AaB|cB:= aA|a(1) 试求各选择(候选式)的FIRST集合;(2) 该文法的自顶向下的语法分析程序是否要编成递归子程序为什么(3) 试用递归下

9、降分析法设计其语法分析程序。解: (1) FIRST(B)=a FIRST(A)=c FIRST(Z)=a,cFIRST(AcB)=c FIRST(Bd) =aFIRST(AaB)=c FIRST(c) =cFIRST(aA) =a FIRST(a) =a(2) 要编成递归子程序,因为文法具有递归性(3) 改写文法:Z:= AcB| BdA:= caBB:= aA 练习1 . 对下面的文法GE: E TE E + E |T FTT T |F PFF * F |P (E)| a | b | (1) 计算这个文法的每个非终结符号的FIRST和FOLLOW集合(2) 证明这个文法是LL(1)的(3)

10、 构造它的预测分析表解:(1)FIRST( E ) = (, a, b, FOLLOW( E ) = #, ) FIRST( E ) = +,FOLLOW( E ) = #, )FIRST( T ) = (, a, b, FOLLOW( T ) = #, ),+FIRST( T ) = (, a, b, ,FOLLOW( T) = #, ),+ FIRST( F ) = (, a, b, FOLLOW( F ) = (, a, b, ,#, ),+FIRST( F ) = *,FOLLOW( F ) = (, a, b, ,#, ),+FIRST( P ) = (, a, b, FOLLOW(

11、 P ) = *,(, a, b, ,#, ),+ (2) 证明:FIRST( +E) FIRST() = + = FIRST( +E) FOLLOW( E ) +#, ) = FIRST( T ) FIRST() (, a, b, = FIRST( T ) FOLLOW( T) = (, a, b, #, ),+ = FIRST( *F ) FIRST() * = FIRST( *F ) FOLLOW( F ) = * (, a, b, ,#, ),+ = FIRST( (E) ) FIRST(a) FIRST(b) FIRST()= 所以此文法是LL(1)文法2. 对于文法GS:S aAB

12、bcd | A ASd | B SAh | eC | C Sf | Cg | D aBD | (1) 对每一个非终结符号,构造FOLLOW集;(2) 对每一产生式的各侯选式,构造FIRST集;(3) 指出此文法是否为LL(1)文法。解:(1)FIRST(S) = a, FIRST(A) = a,d, FIRST(B) = a,d,h,e, FIRST(C) = a,f,g, FIRST(D) = a, FOLLOW(S) = d,a,f,h#FOLLOW(A) = a,h,e,b,dFOLLOW(B) = b,aFOLLOW(C) = g,b,a(2) FIRST(aABbcd) = aFIR

13、ST() = FIRST(ASd) = a,dFIRST() = FIRST(SAh) = a,d,hFIRST(eC) = eFIRST() = FIRST(Sf) = a,fFIRST(Cg) = a,f,gFIRST() = (3) 不是LL(1)文法,因FIRST(Sf) FIRST(Cg) = a,f a,f,g或FOLLOW(S) FIRST(aABbcd)d,a,f,h# a或FOLLOW(A) FIRST(ASd) a,h,e,b,d a,d 或FOLLOW(B) FIRST(SAh) a,b a,d,h 或FOLLOW(C) FIRST(Sf) g,a,b a,f 或FOLL

14、OW(C) FIRST(Cg) g,a,b a,f ,g6. 一个文法G是LL(1)的必要与充分条件是什么试证明之。充要条件是:对于G的每一个非终结符A的任何两条不同规则A:= |, 有:(1) FIRST()FIRST()= (2) 假若=*=, 则FIRST()FOLLOW(A)= 证明:充分性:条件(证明:充分性:条件(1)(2)成立反证:若分析表中存在多重入口,即)成立反证:若分析表中存在多重入口,即MB,a = B:= 1, B:= 2 ,表明FIRST(1)FIRST(2) 或MB,a = B:= 1, B:= 2,其中2= 或2=+= 表明FIRST(1)FOLLOW(B) 与条

15、件(1)(2)矛盾。必要性:文法是)矛盾。必要性:文法是LL(1)文法,即分析表中不含多重入口若条件文法,即分析表中不含多重入口若条件(1)不成立,即存在某非终结符B的两条规则B:= 1|2,FIRST(1)FIRST(2) 则对任意的aFIRST(1)FIRST(2),有MB,a = B:= 1, B:= 2,矛盾若条件(矛盾若条件(2)不成立,即存在某非终结符B的两条规则B:= 1|2,2=*= 有FIRST(1)FOLLOW(B) 则对任意的aFIRST(1)FOLLOW (B),有MB,a = B:= 1, B:= 2,矛盾练习4.有文法GE: E:= E+T | TT:= T*F |

16、 FF:= (E) | i列出下述句型的短语和素短语:E、T、i、T*F、F*F、i*F 、F* i、F+F+F练习1. 考虑具有下列规则的文法SE# ET|E+T TP| PT PF|P*F Fi|(E)(a) 下列句型的最右推导步骤中,其活前缀的集合是什么(1) E+i*i#(2) E+P(ii)(b)为下列输入串构造最右推导的逆:(1) i+i*i#(2) i+i(i+i)#解:(a)(1)句柄为i,所以活前缀集合为:E,E,Ei(2)句柄为i,所以活前缀集合为:E,E+, E+P, E+P, E+P(, E+P(I(b) (1)i+i*i# =F+i*i# =P + i*i# =T+i

17、*i# =E+i*i# =E+F*i# =E+P*i# =E+P*F# =E+P# =E+T# =E# +E+TE-T T-*T*FT-FF-(E)F-ii翻译为波兰后缀表达式的文法为:E-E+T+E-T T-T*F*T-FF-(E)F-ii2 构造一符号串翻译文法,它将接受由0和1组成的任意输入符号串,并产生下面的输出符号串: (a) 输入符号串倒置 (c) 输入符号串本身。(a)S-0S0 或 S-0S0S-1S1 S-1S1S-S-( c)E-00EE-11EE-3. 以下的符号串翻译文法能做什么-C EN HI GL N I E S SE H解:可以识别终结符号串ENGLISH,并输出符号串CHINESE。4. 有特殊的翻译文法产生的两个活动序列是:xybz和qaxybzxxybzy由这个翻译文法删掉诸动作符号得到的输入文法是:-a-b这是个什么翻译文法解:其文法为:-xybz-qaxy5.下面给出带有开始符号的翻译文法,试列出属于这个文法所定义的语法制导翻译的所有对偶。的翻译文法,试列出属于这个文法所定义的语法制导翻译的所有对偶。-xcy -ydxczb-ay-d-bx解:(1)dcb yxz(2)dxcb xy(3)baxcb xyxy

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1