编译原理期末考试A卷Word格式文档下载.docx
《编译原理期末考试A卷Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《编译原理期末考试A卷Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
总分
复核人
分值
40
5
20
15
100
得分
登分人
注意:
1.本试卷共10页,请考生仔细检查,有错、漏、破烂及时报告监考教师更换。
2.考生班级、学号和姓名必须写在指定地点。
3.考试形式:
闭卷,考试时间120分钟。
阅卷人
一、选择题(下列各题的备选答案中只有一个选项是正确的,请把正确答案填在括号中,共20小题,每小题2分,共40分)
1._____不是编译程序的组成部分。
()
A.词法分析程序B.语法分析程序
C.代码生成程序D.设备管理程序
2.下面对编译程序分为“遍”描述正确的是_____。
A.可以提高机器的执行效率
B.可以提高程序的执行效率
C.分“遍”可以使编译程序结构清晰
D.可以增加对内存容量的要求
3.构造编译程序应掌握_____。
A.源程序B.目标语言
C.编译方法D.以上三项都是
4.词法分析阶段不能识别的是_____。
A.关键字B.标识符
C.三元式D.常数
5.设有C语言的源程序段如下:
intx;
x=33;
printf(“x=%d\n”,x);
则经过词法分析后可以识别的单词个数是_____。
A.18B.12C.14D.8
6.识别各类单词的FA(状态转化图)合并后得到的FA_____。
A.可能是NFA也可能是DFAB.一定是DFA
C.一定是NFAD.是最小的DFA
7.语言分析方法中的LL
(1)分析法属于_____分析方法。
A.自左至右B.自上而下C.自下而上D.自右至左
8.下列文法中,_____是LL
(1)文法。
A.S->
aSb|abB.S->
ab|Sab
C.S->
aS|aD.S->
aS|b
9.语言分析方法中的LR
(1)分析法属于_____分析方法。
10.设有语句z=x+y,将x+y识别为表达式的编译阶段是_____。
A.词法分析B.语法分析
C.语义分析D.代码生成
11.语法分析方法LL
(1)分析法中的第一个L指的是_____。
A.扫描顺序是从左到右B.扫描顺序是从右到到左
C.分析过程采用最左推导D.分析过程采用规范推导
12.语法分析方法LR
(1)分析法中的第二个R指的是_____。
A.扫描顺序是从左到右B.扫描顺序是从右到到左
C.分析过程采用最左推导D.分析过程采用规范规约
13.设有文法G(S为开始符号):
S->
Qp|Pq
P->
a|cA
Q->
b|dB
First(Pq)={_____}。
A.a,cB.b,dC.p,qD.其他答案
14.设有文法的产生式:
Aa|
,则在自上而下分析中,对P的推导不带回溯的条件是_____。
A.FIRST(Aa)∩FOLLOW(P)=
B.FIRST(Aa)∩FIRST(P)=
C.FIRST(Aa)∪FOLLOW(P)=
D.上述3个都不是
15.设有文法G(S为开始符号):
Bp|Dq
B->
a|Dc
D->
b|B
Follow(B)={_____}。
()
A.a,cB.c,cC.p,c,qD.其他答案
16.如果文法G中没有形如P->
…UV…的产生式,其中P,U,V表示非终结符,则称文法G为_____。
班级____________________学号____________________姓名____________________
----------------------------------------密----------------------------------------封----------------------------------------线--------------------------------
A.算符文法B.算符优先文法
C.LL
(1)文法D.LR(0)文法
17.下列文法中,_____是算符优先文法。
A.G1:
S->
AaA->
DBB->
a
B.G1:
BbB->
C.G1:
aABA->
bB->
D.G1:
aSb|a
18.算符优先分析法从左到右扫描输入串,采用移进-规约的方式,当栈顶出现_____时进行规约。
A.最左素短语B.素短语
C.句柄D.直接短语
19.自下而上语法分析的主要分析动作是_____。
A.匹配B.推导
C.规约D.移进-规约
20.下面_____不是预处理程序完成的功能。
A.滤掉源程序中的注释C.进行宏替换
B.查找源程序中的无用字符D.实现文件包含的嵌入和条件编译的嵌入
二、填空题(共5空,每空1分,共5分)
1.最常用的两类语法分析方法是________和________分析法。
2.在LR(0)分析法中,若,βV*且a
则称“A.”为________ 项目,称“S.aβ”为________项目。
3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是
________。
三、简答题(共4小题,每小题5分,共20分)
1.编译程序分为几个阶段?
前三个阶段的功能是什么?
2.阐述自上而下的语法分析和自下而上的语法分析的基本思想。
3.解释直接短语、句柄。
4.简述自下而上的语法分析方法要解决的关键问题有哪几个。
四、分析题(共3小题,每小题5分,共15分)
1.设文法G(S):
aA|a
A->
BaA|
B->
+|-|*|,
对给定的文法G(E)的句型a*a+a,给出该句型的语法推导树。
2.设有文法G[A]:
A->
AaB|bB
Ad
Dc
上述文法是不是LL
(1)文法?
为什么?
如果不是,请改写。
3.设有文法G[P]:
P→Qa
Q→bR
R→a|c
计算每个非终结符的FIRST集。
五、分析设计题(共2小题,每小题10分,共20分)
1.设有文法G(E):
E->
TE′
E′->
+TE′|
T->
FT′
T′->
*FT′|
F->
(E)|i
(1)计算该文法的每个非终结符号的FIRST集和FOLLOW集。
(2)构造该文法的LL
(1)分析表。
2.设有文法G(S):
aMb
M->
(L|c
L->
c)
(1)计算该文法的每个非终结符号的FIRSTVT集和LASTVT集。
(2)计算该文法的优先关系并产生优先关系表。