编译原理期末考试试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末考试试卷(A)卷
一、填空题(每小题2分,共20分)
1、字母表∑,用∑*表示∑上所有有穷长的串集合,∑*称为∑的①。
2、设z=abc,则z的固有头是①。
3、如何由语言基本符号组成程序中各个语法成分(包括程序)的一组规则叫
①。
4、设∑={a,b},∑上的正规式(a|b)(a|b) 相应的正规集为①
5、NFA的映象f是从"状态×字"映射到"状态子集",f为①值函数。
6、LR分析是按规范句型的①为可归约串。
7、结点的①属性值由该结点的兄弟结点和父结点的属性值计算。
8、如果分析树中一结点的属性b依赖于属性c,那么这个结点的属性b的语义规
则的计算必须在定义属性c的语义规则的计算①。
9、对于栈式符号表,引入一个显示嵌套层次关系表- ①表,该表总是
指向当前正在处理的最内层的过程的子符号表在栈符号表中的起始位置。
10、任一有向边序列n1 → n2,n2 → n3,…,nk-1 → nk为从结点n1到结点nk
的一条通路。如果n1=nk,则称该通路为①。
二、单项选择(每小题2分,共14分)
1、乔姆斯基把文法分成4种类型,即0型、1型、2型和3型。其中3型文法也称
为()。
A.上下无关文法 B.正规文法
C.上下文有关文法 D.无限制文法
2、生成非0开头的正偶数集的文法是()。
A. Z::=ABC B. Z::=ABC
C::=0|2|4|6|8 C::=0|2|4|6|8
B::=BA|B0|ε B::=BA|B0|0
A::=1|2|3|…|9 A::=1|2|3|…|9
C. Z::=ABC|2|4|6|8
D. Z::=ABC|2|4|6|8
C::=0|2|4|6|8 C::=0|2|4|6|8
B::=BA|B0|0 B::=BA|B0|ε
A::=1|2|3|…|9 A::=1|2|3|…|9
3、简单优先分析法从左到右扫描输入串,当栈顶出现()时进归约。
A.素短语
B.直接短语
C.句柄
D.最左素短语
4、同心集合并有可能产生新的()冲突。
A.归约
B.移进/移进
C.移进/归约
D.归约/归约
5、在编译中,动态存储分配的含义是()。
A.在运行阶段对源程序中的量进行存储分配
B. 在编译阶段对源程序中的量进行存储分配
C. 在说明阶段对源程序中的量进行存储分配
D. 以上都不正确
6、活动记录中的连接数据不包含()。
A.老SP
B.返回地址
C.全局DISPLAY地址 D形式单元
7、有一语法制导翻译如下:
S→bAb {printer(“1”)}
A→(B {printer(“2”)}
A→a {printer(“3”)}
B→Aa) {printer(“4”)}
若输入序列为b(((aa)a)a)b,且采用自下而上的分析法,则输出序列为( )。A.32224441 B.34242421 C.12424243 D.34442212
三、写出条件语句 IF a>0 THEN x:=x+1 ELSE x:=4*( x- 1) 的四元式序列(6分)
四、设有基本块(8分)
(1) 画出DAG图;
(2) 假设只有L在基本块后被引用,请写出优
化后的四元序列。
五、将下图DFA 最小化,并写出最小化后DFA 的正规式。(10分)
六、对下面的文法进行改写,并判断改写后是否是LL (1)文法。(15分) S →Aa|b A →SB B →ab 七、已知文法: S →S ;G|G G →G (T )|H H →a|(S) T →T+S|S
求句型#a;(T+S);H;(S)#短语、句柄、素短语、最左素短语(12分)
八、【注意】计算机061/062班和计教061/062请做第1、2题,计算机063(海外班)请做第3题,做错题得0分。(15分) 【计算机061/062班和计教061/062班做】
1、给出文法G[S]的LR(1)项目集规范族中I0项目集的全体项目。(5分) G[S]为: (1) E →E+T (2) E →T (3) T →T*F (4) T →F (5) F →(E) (6) F →a
2、文法G[M]及其LR 分析表如下,请给出对串dbba#的分析过程。(10分) G[M]: 1) M →VbA 2) V →d 3) V →ε 4) A →a 5) A →Aba 6) A →ε
b
【计算机063海外班做】
3、判断下列各题所示是否为LR类文法,若是请说明是LR(0),SLR(1),LALR(1)
或LR(1)的哪一种,并构造相应分析表。(15分)
S→aAd∣eBd∣aBr∣eAr
A→a
B→a
答案:
一、填空题(每空2分,共20分)
1、闭包
2、ε, a, ab
3、语法
4、{aa,bb,ab,ba}
5、多
6、句柄
7、继承
8、之后
9、 DISPLAY 10、环路
二、单项选择(每小题2分,共14分)
三、写出条件语句IF a>0 THEN x:=x+1 ELSE x:=4*( x- 1) 的四元式序列(6分)解:①(j>,a ,0 ,③) 评分标准:标号对给1分,
②(j, , , ⑥)四元式格式对给1分,
③(+,x ,1 ,T1)每2条四元式序列对给1分。
④(:= ,T1, , T2 )
⑤(j , , , ⑨)
⑥(- ,x, 1,T3)
⑦(*,4,T3, T4 )
⑧(:= ,T4 , , x)
⑨
四、设有基本块(8分)
(1) 画出DAG图;
(2) 假设只有L在基本块后被引用,请写出优化后的四元序列。
评分标准:DAG图正确给4分,代码每条1分。
解:(1)对于B1其DAG图:
若只有L活跃,则代码为
D:=A+C
E:=A*C
F:=D+E
L:=F+15