编译原理试卷A(考试专用)文档格式.doc
《编译原理试卷A(考试专用)文档格式.doc》由会员分享,可在线阅读,更多相关《编译原理试卷A(考试专用)文档格式.doc(4页珍藏版)》请在冰点文库上搜索。
2009—2010学年第 一学期
科目:
编译原理计算机系_计算机科学与技术专业___级_____班
题号
一
二
三
四
总分
得分
阅卷人
一、填空题(每空1分,共10分)
1.编译程序的工作的过程一般可以划分为词法分析、___________、___________、____________、___________等几个基本阶段,同时还会伴有___________和出错处理。
2.自上而下语法分析方法会面临的主要问题有递归和___________。
3.表达式a+(b*c+5)的逆波兰式表示为___________。
4.文法的属性有___________和___________。
5.根据所涉及程序的范围,优化可分为局部优化、___________和全局优化三种。
二、选择题(每小题2分,共10分)
1.描述语言L={anbn|n≥1}的文法为()。
A.Z:
:
=Abb;
A:
=aA|a;
B:
=bBB.Z:
=Aa|aB:
=aBb|b
C.Z:
Ab;
=aAb|aD.Z:
=aAb;
=ab|aAb|ε
2.以10结尾的二进制数串为()。
A.(0|1)*01B.(0|1)*10C.01(0|1)*D.10(0|1)*
3.一个句型中出现了某一产生式的右部,则此右部()是该句型的句柄。
A.一定B.不一定
C.不可能D.上述没有答案。
4.程序的基本块是指()。
A.一个子程序
B.一个仅有一个入中和一个出的语句。
C.一个没有嵌套的程序段。
D.一组顺序执行的程序段,仅有一个入口和一个出口。
5.请给出下面程序采用值传递和换名传递后a的值()。
programmain(input,output)
procedurep(x,y,z);
beginy:
=y+1;
z:
=a+xend;
begina:
=2;
b:
=3;
p(a+b,a,a);
printaend.
A.2和8B.2和9C.7和9D.7和8
三、判断并改错(每小题2分,共10分)
1.文法的二义性和语言的二义性是两个相同的概念。
2.DAG图中运算符,操作符可作为终端结点。
3.NFA和DFA所含的终态结点可以是若干个。
4.存在一个优先关系表就一定存在优先函数与之对应。
5.目标代码的生成与目标语言和操作系统无关。
四、分析题(共70分)
1.对于文法G:
(10分)
1)写出句型b(Ma)b的最右推导并画出语法树。
2)写出上述句型的短语,直接短语和句柄。
2.构造正规式(0|1)*00相应的DFA并进行化简。
(15分)
3.计算文法G(M)的每个非终结符的FIRST和FOLLOW集合,给出LL
(1)分析表,并判断该文法是否是LL
(1)的,请说明理由。
(20分)
G(M):
M→TB
T→Ba|e
B→Db|eT|e
D→d|e
4.给出赋值语句A:
=-B*(C+D)的四元式表示形式。
(5分)
5.设文法G(S):
(15分)
1)构造各非终结符的FIRSTVT和LASTVT集合;
2)构造优先关系表。
3)该文法是算法优先文法吗?
6.设有基本块(5分)
T1:
=2
T2:
=10/T
T3:
=S-R
T4:
=S+R
A:
=T2*T4
B:
=A
T5:
T6:
=T3*T5
=T6
假设基本块出口时只有A,B还被引用,请写出优化后的四元序列。
第4页共4页