编译原理复习题--有答案版

编译原理复习题--有答案版

ID:31734454

大小:196.40 KB

页数:13页

时间:2019-01-17

编译原理复习题--有答案版_第1页
编译原理复习题--有答案版_第2页
编译原理复习题--有答案版_第3页
编译原理复习题--有答案版_第4页
编译原理复习题--有答案版_第5页
资源描述:

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

1、1、给出下面语言的相应文法。L1={anbnci

2、n≥1,i≥0}答案:S→AB

3、BA→a

4、aAB→bBc

5、bc2.给出下面语言的相应文法L1={anbncmdm

6、m,n≥1,n为奇数,m为偶数}。答案:文法G(S):S→ACA→aaAbb/abC→ccCcc/cc3、构造一个DFA,它接受S={a,b}上所有包含ab的字符串。(要求:先将正规式转化为NFA,再将NFA确定化,最小化)(一)相应的正规式为(a

7、b)*ab(a

8、b)*(二)①与此正规式对应的NFA为答案;在自己写的纸上4、对下面的文法G:E→TE’E’→+E

9、εT→FT’T

10、’→T

11、εF→PF’F’→*F’

12、εP→(E)

13、a

14、b

15、∧(1)证明这个文法是LL(1)的。考虑下列产生式:E’->E

16、εT’->T

17、εF’->*F’

18、εP->(E)

19、∧a

20、bFIRST(+E)∩FIRST(ε)={+}∩{ε}=φFIRST(+E)∩FOLLOW(E')={+}∩{#,)}=φFIRST(T)∩FIRST(ε)={(,a,b,^}∩{ε}=φFIRST(T)∩FOLLOW(T')={(,a,b,^}∩{+,),#}=φFIRST(*F')∩FIRST(ε)={*}∩{ε}=φFIRST(*F')∩FOLLOW(F')={

21、*}∩{(,a,b,^,+,),#}=φFIRST((E))∩FIRST(a)∩FIRST(b)∩FIRST(^)=φ所以,该文法式LL(1)文法.计算这个文法的每个非终结符的FIRST和FOLLOW。(8分)答案:FIRST(E)={(,a,b,^}FIRST(E')={+,ε}FIRST(T)={(,a,b,^}FIRST(T')={(,a,b,^,ε}FIRST(F)={(,a,b,^}FIRST(F')={*,ε}FIRST(P)={(,a,b,^}FOLLOW(E)={#,)}FOLLOW(E')={#,)}FOLLOW(T)=

22、{+,),#}FOLLOW(T')={+,),#}FOLLOW(F)={(,a,b,^,+,),#}FOLLOW(F')={(,a,b,^,+,),#}FOLLOW(P)={*,(,a,b,^,+,),#}(3)构造它的预测分析表。(6分)答案;在手机上写出表达式a+b*(c-d)对应的逆波兰式和三元式序列。答案:逆波兰式:(abcd-*+)三元式序列:OPARG1ARG2(1)-cd(2)*b(1)(3)+a(2)给出下面语言的相应文法L1={anbnambm

23、n,m≥0}给出下面语言的相应文法答案:S→AB

24、A

25、B

26、∑A→aAb

27、ab

28、B→aBb

29、abL2={anbnci

30、n≥1,i≥0}给出下面语言的相应文法答案:S→AB

31、BA→a

32、aAB→bBc

33、bc17、对下面的文法G:S®SÚaT

34、aT

35、ÚaTT®ÙaT

36、Ùa(1)消除该文法的左递归和提取左公因子;(2)构造各非终结符的FIRST和FOLLOW集合;(3)构造该文法的LL(1)分析表,并判断该文法是否是LL(1)的。18、文法G(S)及其LR分析表如下,请给出串baba#的分析过程。(1)S→DbB(2)D→d(3)D→ε(4)B→a(5)B→Bba(6)B→εLR分析表ACTIONGOTObDa#SBD0r3

37、s3121acc2s43r24r6S5r665r4r46s7r17S88r5r5答案:步骤状态符号输入串00#baba#102#Dbaba#2024#Dbaba#30245#Dbaba#40246#DbBba#502467#DbBba#6024678#DbBba#70246#DbB#801#S#acc七、证明题1、证明下面文法是LL(1)的但不是SLR(1)的。S→AaAb

38、BbBaA→εB→ε首先该文法无左递归存在,没有公共左因子。其次:对于S→AaAb

39、BbBaFIRST(AaAb)={a}FIRST(BbBa)={b}FIRST(A

40、aAb)∩FIRST(BbBa)=Φ所以该文法是LL(1)文法。(2)证明该文法不是SLR的。文法的LR(0)项目集规范族为:I0={S’→.SS→.AaAbS→.BbBaA→.B→.}I1={S’→S.}I2={S→A.aAb}I3={S→B.bBa}I4={S→Aa.AbA→.}I5={S→Bb.BaB→.}I6={S→AaA.b}I7={S→BbB.a}I8={S→AaAb.}I9={S→BbBa.}考察I0:FOLLOW(A)={a,b}FOLLOW(B)={a,b}FOLLOW(A)∩FOLLOW(B)={a,b}产生规约-规约

41、冲突。所以该文法不是SLR(1)文法。2、证明下面文法是SLR(1)但不是LR(0)的。S→AA→Ab

42、bBaB→aAc

43、a

44、aAb解:文法G[S]:0:S→A1:A→Ab2:A→bBa3:B

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

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

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