编译原理期末考题 回忆版 (2021.12)

山东大学 编译原理期末考题 回忆版 (2021.12)

2021SC@SDUSC

一、25分

1.正规式的概念

2.语言和文法的概念

3.简述基本块的划分规则

4.一个编译系统还有静态分配存储方式和动态的堆和栈的存储方式,请简述C语言的内存分配方式

5.现有一个词法分析方法GetToken(),和ACTION和GOTO的LR(0)预测分析表,请用伪代码完成自底向上的语法分析

二、15分

有下列文法G(S)

S->ABc
A->a
A->ϵ
B->b
B->ϵ

请判断它是否为LL(0)文法,如果是请构造出分析表。使用自顶向下的方法分析ac语句。

三、15分

1)请构造正规集为Σ={a,b},以ab开头的ab字符串的正规式

2)画出DFA分析图

3)进行DFA的标准化和最小化

四、15分

有下列文法G(E)

E->T|E  //“|”为终结符
E->T
T->TF
T->F
F->P
F->P* //“*”为终结符
p->a
p->b
p->(E)

判断是否为STR(1)文法,如果是,请构造STR(1)分析表

五、15分

while (c<=100) do c:=c+1

进行上述语句的中间代码翻译(语法制导、四元式)

六、15分

T1=A+B
T2=5
M=T2*4
N=C-D
L=T1+N

给一串运算式,做DAG优化,并写出对应的代码。(寄存器可用L0、L1,L、M、N活跃)(PS:公式记不清了,自己编的)

猜你喜欢

转载自blog.csdn.net/qq_50861917/article/details/121999665