编译原理试题及答案

编译原理试题及答案

ID:17545067

大小:133.50 KB

页数:5页

时间:2018-09-02

编译原理试题及答案_第1页
编译原理试题及答案_第2页
编译原理试题及答案_第3页
编译原理试题及答案_第4页
编译原理试题及答案_第5页
资源描述:

《编译原理试题及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编译原理试题及答案一、对于文法G[S]:  S→1A

2、0B

3、ε  A→0S

4、1AA  B→1S

5、0BB  ⑴(3分)请写出三个关于G[S]的句子;  ⑵(4分)符号串11A0S是否为G[S]的句型?试证明你的结论。  ⑶(3分)试画出001B关于G[S]的语法树。二、请构造一个文法,使其产生这样的表达式E:表达式中只含有双目运算符+、*,且+的优先级高于*,+采用右结合,*采用左结合,运算对象只有标识符i,可以用括号改变运算符优先级。要求给出该文法的形式化描述。三、设有语言L={α

6、α∈{0,1}+,且α不以0

7、开头,但以00结尾}。  ⑴试写出描述L的正规表达式;  ⑵构造识别L的DFA(要求给出详细过程,并画出构造过程中的NDFA、DFA的状态转换图,以及DFA的形式化描述)。四、给定文法G[S]:  S→AB  A→aB

8、bS

9、c  B→AS

10、d  ⑴(6分)请给出每一个产生式右部的First集;  ⑵(3分)请给出每一个非终结符号的Follow集;  ⑶(8分)请构造该文法的LL(1)分析表;  ⑷(8分)什么是LL(1)文法?该文法是LL(1)文法吗?为什么?五、给定文法G[S]:  S→SaA

11、a  A→A

12、bS

13、b  ⑴请构造该文法的以LR(0)项目集为状态的识别规范句型活前缀的DFA。  ⑵请构造该文法的LR(0)分析表。  ⑶什么是LR(0)文法?该文法是LR(0)文法吗?为什么?  ⑷什么是SLR(1)文法?该文法是SLR(1)文法吗?为什么?六、给定下列语句:  ifa+b>c  thenx:=a*(b-c)+(b*c-d)/e  ⑴写出其等价的逆波兰表示;  ⑵写出其等价的四元式序列。七、已知下列C语言程序:  int*f()  { inta=100;return&a;  }  main()  { in

14、t*i=f();    chara[]=“compiler”;printf(“theresultis%d”,*i);  }  程序运行结果为:theresultis26157,  请解释为什么程序运行的结果不是期望的“theresultis100”?51.1三个0和1数量相等的串1.2S=>1A=>11AA=>11A0S1.3第二题构造文法如下:G[E]=({+,*,(,),i},{E,F,T},P,E),其中P为:E→E*F

15、FF→T+F

16、TT→(E)

17、i第三题(1)正规表达式:1(0

18、1)*00(2)第

19、一步:将正规表达式转换为NDFA第二步:将NDFA确定化为DFA:造表法确定化(3分)确定化后DFAM的状态转换表(2分)状态输入I0I1 t01[S]—[A,D,B] q0—q1[A,D,B][D,B,C][D,B]重新命名q1q2q3[D,B,C][D,B,C,Z][D,B]q2q4q3[D,B][D,B,C][D,B] q3q2q3[D,B,C,Z][D,B,C,Z][D,B] q4q4q35DFA的状态转换图(3分)第三步:给出DFA的形式化描述DFAM=({q0,q1,q2,q3,q4},{0,1},

20、t,q0,{q4})t的定义见M的状态转换表。第四题(1)First(AB)={a,b,c}First(aB)={a}First(bS)={b}First(c)={c}First(AS)={a,b,c}First(d)={d}(2)Follow(S)={#,a,b,c,d}Follow(A)={a,b,c,d}Follow(B)={#,a,b,c,d}(3)LL(1)分析表(8分)VNVTabcd#SS?ABS?ABS?AB  AA?aBA?bSA?C  BB?ASB?ASB?ASB?d (4)对于文法G的每一

21、个非终结符U的产生式U?α1

22、α2

23、…

24、αn,5如果SELECT(U?αi)?SELECT(U?αj)=?(i≠j,i,j=1,2,…,n),则文法G是一个LL(1)文法。该文法是LL(1)文法。因为SELECT(A?aB)?SELECT(A?bS)?SELECT(A?C)=?SELECT(B?AS)?SELECT(B?d)=?第五题⑴拓广文法1分G[S′]:S′→S⑴S→SaA⑵S→a⑶A→AbS⑷A→b⑸该文法的以LR(0)项目集为状态的识别规范句型活前缀的DFA:⑵该文法的LR(0)分析表:状态ACTIO

25、NGOTOab#SA0S2  1 1S3 acc  2r3r3r3  3 S5  44r2r2/S6r2  5r5r5r5  6S2  7 7r4/S3r4r4  ⑶LR(0)文法:该文法的以LR(0)项目集为状态的识别规范句型活前缀的DFA中没有冲突状态。该文法不是LR(0)文法因为存在冲突状态:I4和I75⑷SLR(1)文法:该文法的以LR(0)项目集为状态的识别规范句型活前缀的D

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

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

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