编译原理课后答案(陈火旺)

上传人:大米 文档编号:508304663 上传时间:2023-08-17 格式:DOCX 页数:53 大小:376.76KB
返回 下载 相关 举报
编译原理课后答案(陈火旺)_第1页
第1页 / 共53页
编译原理课后答案(陈火旺)_第2页
第2页 / 共53页
编译原理课后答案(陈火旺)_第3页
第3页 / 共53页
编译原理课后答案(陈火旺)_第4页
第4页 / 共53页
编译原理课后答案(陈火旺)_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《编译原理课后答案(陈火旺)》由会员分享,可在线阅读,更多相关《编译原理课后答案(陈火旺)(53页珍藏版)》请在金锄头文库上搜索。

1、编译原理课后答案(陈火旺)课后答案网 http:/第二章P36-6L(G)是09组成的数字串最左推导:N = ND 二 NDD 二 NDDD = DDDD = 0DDD = 01DD= 012D= 0127N = ND = DD = 3D= 34N = ND 二 NDD 二 DDD 二 5DD 二 56D二 568 最右推导:N= ND = N7= ND7= N27= ND 27= N127= D127= 0127N = ND 二 N4二 D4二 34N = ND = N8= ND 8= N68= D68= 568P36-7G(S)O 1|3|5|7|9N 2|4|6|8|OD 0|NS O|

2、AOA AD|NP36-8文法:E T T E +T|E TT t F T* F|T/ FF (E)|i最左推导:E = E T= T T= F T= i T= i T * F = i F * F 二 i i * F = i i*iE = T= T* F = F * F = i* F = i *( E)= i *( E T)= i*( T T)二 i *( F T)二 i*( i T)二 i*(i F)= i*( i i)最右推导:E=E + T=E + T*FnE + T*i=E + F*inE + i*i=T + i*i=F + i*ini + i*i = r=F*r=F*F=F*(E)=

3、F*(E + r)=F*(E + F)=F*(E + z) =*(7+0=*( + /)=*(/+0 =/*(/ + /)A口 彳Z、: / 666TT6个6t66666666小6666666个6666个TTTFTTETFi+i+i 1-1-1i + i*iP36-9句子iiiei有两个语法树:S = iSeS = iSei = iiSei = iiieiS n IS n USeS n iiSci = iiieiP36-10/2石|厂r-(s)|(), 、“ /P36-11/*L1:S ACA; aAb |abC cC | ;L2:S ABAr aA| ;B bBc|bcL3:S ABA: a

4、Ab | ;B aBb| ;L4:S A| BA 0A1| ;B 1B0| A*/第三章习题参考答案P64 - 7(1)(0|1) 101课后答案网 http:/11 0 1确定化:01X1,2,301,2,32,32,3,42,32,32,3,42,3,42,3,52,3,42,3,52,32,3,4,Y2,3,4, Y2,3,52,3,4,V ”最小化:0,1,2,3,4,5,60,123,4,5。=1,3待0,123,4,5 =1,2,40,1,2,3,4, 5,60,123,4。二1,3,50,1,23,4, 5,60,1,23 1,30,1,2,$ =1,2,40,1,2,职4, $

5、,60,1 0 aF| 仃)T STT ,ST | ;递归子程序:procedure S;begi nif sym=a or sym=Athe n abva neeelse if sym=(the n begi nadvance;T;if sym=) the n adva nee;else error;endelse errorend;procedure T;begi nS;end;procedure t ;begi nif sym=,the n begi nadvanee;S;tendend;其中:sym:是输入串指针IP所指的符号 advanee:是把IP调至下一个输入符号 error:是

6、出错诊察程序FIRST(S)=af,( FIRST(T)=a,*( FIRST(t)=,FOLLOW(S)=),# FOLLOW(T)=) FOLLOW()=)预测分析表aA()#SSt aSt aSt (T)TTt STTt STTt STT J名T J ,ST是LL(1)文法P81 - 2文法:E TEE | ;T FTT T pF PFF; *F | ;P (E)| a |b |A(1)FIRST(E)=(,a,b,AFIRST(E)=+, FIRST(T)=(,a,b,AFIRST(T)=(,a,b,* FIRST(F)=(,a,b,AFIRST(F)=*, FIRST(P)=(,a,

7、bfF0LL0W(E)=#,)F0LL0W(E)=#,)F0LL0W(T)=+,),#FOLLOW(T)=+,),#FOLLOW(F)=(,a,b,A,+,),#FOLLOW(F)=(,a,b,A,+,),# FOLLOW(P)=*,(,a,bf,+,),#考虑下列产生式:E ,E| ;T TpF *F |P (E)|A|a|bFIRST(+E) A FIRST( )=+ n = 0FIRST(+E) A FOLLOW(E)=+A #,)=0FIRST(T) A FIRST( )=(,a,b,A n = 0FIRST(T) A F0LL0W(T)=(,a,b,A n +,),#= 0FIRST

8、(*F) A FIRST( )=* n = 0FIRST(*F) A F0LL0W(F)=* AA FIRST(b)(,a,b,*+,),#=0FIRST(E) A FIRST(a)FIRST(A)= 0所以,该文法式LL(1)文法.+*()abA#EEt TEEt TEEt TEEt TE EEEE T名E J名TTt FT*Tt FTt FTt FTTTJ名TJ TTJ名t TTt TTt TTJ名FFt PFFt PFFt PFFt PLFF J eF J eF J名F J eF J名F J呂F J名PPt (E)Pt aPt bPt aprocedure E;begi nif sym=( or sym=a or sym=b or sym=Athe n begi n T; E endelse error课后答案网 http:/endprocedure E;beginif sym=+then begin advance; E endelse if sym) and sym# then error end procedure T;beginif sym=(or sym=aor sym=borsym=Athen begin F; T end else errorendprocedure T; begin sym=Aif sym=(or sym=a or sym=bor

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号