郑州大学《编译原理》期末试题样卷

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

词法分析:

1、根据正规式(a|b)*(aa|bb) (a|b)*构造NFA, 然后确定化成DFA

2、设计一个最小化的DFA,其输入字母表是{0,1},接受从0开始以1结尾的所有序列

正规式为:0(0|1)*1

语法分析:

1、已知文法G[E]: E E+T|E-T|T,T T*F|T/F|F,F(E)|i

证明(F+i)-T*(E-T)是文法的句型,并给出该句型的短语、直接短语和句柄

3、文法:S Aa

A BB

B sb|c 消除左递归

4、文法:S Qd

Q Rb|Se

R Sa|Qf|a 消除左递归

5、判断文法S cA|BA

A CB|ε

B dB

C a|bd

是否是LL(1)文法,说明理由。是的话构造预测分析表

6、已知文法G[A]: A(A)|a,构造该文法的LR(0)分析表

7、判断文法S Sab|bR

R S|a

是不是SLR文法,若是,构造分析表,不是的话说明理由。

语法制导翻译和中间代码生成:

1、分别给出表达式-(a*(b-c))+d 的逆波兰式、四元式和三元式

逆波兰式:@(a*(b-c))+d到@(a*(bc-))+d到@(abc-*)+d到(abc-*@)+d到abc-*@d+

注意:@为求负的运算符-

四元式:

(-,b,c,T1)

(*,a,T1,T2)

(@,T2,-,T3)

(+,T3,d,T4)

2、写出a*-(b+c)树形表示法

3、对布尔式X+Y>Z∨A∧(┐B∨C)进行翻译

4、把语句if A∨B

解: (1)(jnz,A,_,(5)) ;真出口;若A为真,执行S1代码

(2)(j,__,(3)) ;若A为假,看∨右边的表达式值

(3)(j<,B,D,(5)) ;真出口; ∨右边的表达式值为真

相关文档
最新文档