编译原理习题解答

编译原理习题解答

ID:1499109

大小:551.00 KB

页数:45页

时间:2017-11-12

编译原理习题解答_第1页
编译原理习题解答_第2页
编译原理习题解答_第3页
编译原理习题解答_第4页
编译原理习题解答_第5页
资源描述:

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

1、1.从下列文法中消除左递归,提取左公因子S→Aa

2、Ab

3、cA→Ad

4、Se

5、f先消除直接的左递归A→SeA’

6、fA’A’→dA’

7、ε再消除间接左递归:S→SeA’a

8、SeA’b

9、fA’a

10、fA’b

11、cS→fA’aS’

12、fA’bS’

13、cS’S’→eA’aS’

14、eA’bS’

15、εS→fA’aS’

16、fA’bS’

17、cS’S’→eA’aS’

18、eA’bS’

19、εA’→dA’

20、ε提取左公因子:S→fA’B

21、cS’B→aS’

22、bS’S’→eA’C

23、εC→aS’

24、bS’A’→dA’

25、εP811.S→a

26、^

27、(T)T→T,S

28、S消除左递归:S→a

29、^

30、(T)T→ST’T’→,ST’

31、εProcedureTBe

32、ginS;T’EndProcedureSIfsym=‘(‘thenBeginAdvance;TIfsym=‘)’thenadvanceElseerrorEndElseifsym=‘^’thenadvanceElseifsym=‘a’thenadvanceElseerrorProcedureT’Ifsym=‘,’thenBeginAdvance;S;T’End(2)判断是否为LL(1)First(T’)={‘,’,ε}First(T)=First(S)={a,^,(}Follow(S)={#,’,’,)}Follow(T)={)}Follow(T’)={)}T’有两个候选,但first

33、(T’)∩follow(T’)=φ文法是LL(1)的构造预测分析表:a^(),#SS→aS→^S→(T)TT→ST’T→ST’T→ST’T’T’→εT’→,ST’2.E→TE’E’→+E

34、εT→FT’T’→T

35、εF→PF’F’→*F’

36、εP→(E)

37、a

38、b

39、^+*()^abε#E→TE’E’→+E

40、εT→FT’T’→T

41、εF→PF’F’→*F’

42、εP→(E)

43、a

44、b

45、^FIRST(E)={(,^,a,b};FIRST(E’)={+,ε};FIRST(T)={(,^,a,b

46、};FIRST(T’)={(,^,a,b,ε};FIRST(F)={(,^,a,b};FIRST(F’)={*,ε};FIRST(P)={(,^,a,b};FOLLOW(E)={),#};FOLLOW(E’)={),#};FOLLOW(T)={+,),#};FOLLOW(T’)={+,),#};FOLLOW(F)={+,(,),^,a,b,#};FOLLOW(F’)={+,(,),^,a,b,#};FOLLOW(P)={+,*,(,),^,a,b,#};因为:E’→+E

47、εFIRST(+E)FOLLOW(E’)={+}{),#}=Φ;T’→T

48、εFIRST(T)FOLLOW(T

49、’)={(,^,a,b}{+,),#}=Φ;F’→*F’

50、εFIRST(*F)FOLLOW(F’)={*}{+,(,),a,b,^,#}=Φ;P→(E)

51、a

52、b

53、^FIRST(“(E)”)FIRST(a)FIRST(b)FIRST(^)=Φ;所以是LL(1)文法。构造预测分析表:+*()ab^#EE→TE’E→TE’E→TE’E→TE’E’E’→+EE’→εE’→εTT→FT’T→FT’T→FT’T→FT’T’T’→εT’→TT’→εT’→TT’→TT’→TT’→εFF→PF’F→PF’F→PF’F→PF’F’F’→ε*F’F’→εF’→εF’→εF’→εF’→εF’→ε

54、PP→(E)P→aP→bP→^4.E→-EE→(E)

55、VTT→-E

56、εV→idFF→(E)

57、ε-()idε#EVTF-()id#EE→-EE→(E)E→VTVV→idFTT→-ET→εT→εFF→εF→(E)F→εF→εFIRST(E)={-,(,id};FIRST(V)={id};FIRST(T)={-,ε};FIRST(F)={(,ε};FOLLOW(E)={),#};FOLLOW(V)={-,),#};FOLLOW(T)={),#};FOLLOW(F)={-,),#};分析栈输入串输出#E#TV#TFid#TF#T#E-#E#E-#E#TV#

58、TFid#TFid--id((id))#id--id((id))#id--id((id))#--id((id))#--id((id))#--id((id))#-id((id))#-id((id))#id((id))#id((id))#id((id))#((id))#EVTVidFFεT-EE-EEVTVidFF(E)分析栈输入串输出#T)E(#T)E#T))E(#T))E#T))TV#T))TFid#T))TF#T))T#T))#T)#T#

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

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

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