编译原理第1阶段练习题 上半年江南大学考试题库及答案.docx
《编译原理第1阶段练习题 上半年江南大学考试题库及答案.docx》由会员分享,可在线阅读,更多相关《编译原理第1阶段练习题 上半年江南大学考试题库及答案.docx(12页珍藏版)》请在冰豆网上搜索。
![编译原理第1阶段练习题 上半年江南大学考试题库及答案.docx](https://file1.bdocx.com/fileroot1/2022-10/13/ae7182db-ba01-4295-9e87-7137f108c9be/ae7182db-ba01-4295-9e87-7137f108c9be1.gif)
编译原理第1阶段练习题上半年江南大学考试题库及答案
江南大学网络教育第一阶段练习题
考试科目:
《编译原理》第章至第章(总分100分)
__________学习中心(教学点)批次:
层次:
专业:
学号:
身份证号:
姓名:
得分:
一单选题(共4题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.若一个文法是递归的,则它所产生的语言的句子是()。
(5分)
A.无穷多个
B.有穷多个
C.可枚举的
D.个数是常量
2.文法G[A]:
A→εA→aBB→AbB→a是()。
(5分)
A.0型文法
B.1型文法
C.2型文法
D.3型文法
3.词法分析器的输入是()。
(5分)
A.单词符号串
B.源程序
C.语法单位
D.目标程序
4.一个上下文无关文法G包括四个组成部分,它们是:
一组非终结符号,一组终结符号,一个开始符号,以及一组()。
(5分)
A.句子
B.句型
C.单词
D.产生式
二填空题(共2题,总分值10分)
5.编译程序的功能可以分解为词法分析、语法分析、__________、中间代码生成、中间代码优化、目标代码生成。
(5分)
6.微小语言Micro的单词有下面的几种:
标识符、__________、实常数、保留字、__________、换行符。
(5分)
三简答题(共2题,总分值20分)
7.给出与正规式R=1(0|1)*101等价的NFA。
(10分)
8.写出下面程序经词法分析后的TOKEN表示。
beginvarX:
real;
varJ:
integer;
read(J);
J:
=J+(J*20);
X:
=J-1;
Write(2*J+X)
End(10分)
四综合计算题(共2题,总分值50分)
9.已知文法G(S)S→a|(T)T→T,S|S
写出句子((a,a),a)的规范归约过程及每一步的归约规则和句柄。
(25分)
10.已知文法G[E]为:
E→T|E+T|E-TT→F|T*F|T/FF→(E)|i
①该文法的开始符号(识别符号)是什么?
②请给出该文法的终结符号集合Vt和非终结符号集合Vn。
③找出句型T+T*F+i的所有短语、简单短语和句柄。
(25分)
一单选题(共4题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.答案:
A
解析过程:
2.答案:
D
解析过程:
3.答案:
B
解析过程:
4.答案:
D
解析过程:
二填空题(共2题,总分值10分)
5.答案:
语义分析
解析过程:
6.答案:
整常数,符号词
解析过程:
三简答题(共2题,总分值20分)
7.答案:
解析过程:
8.答案:
解:
$begin $var ($id,X) $colon $real $semi $line
$var ($id,J) $colon $integer $semi $line $read
$LParen ($id,J) $RParen $semi $line ($id,J) $assign
($id,J) $plus $Lparen ($id,J) $mult ($intC,20) $RParen
$semi $line ($id,X) $assign ($id,J) $subs ($intC,1)
$semi $line $write $LParen ($intC,2) $mult ($id,J)
$plus ($id,X) $RParen $semi $End
解析过程:
四综合计算题(共2题,总分值50分)
9.答案:
解:
句型归约规则句柄
((a,a),a)S→aa
((S,a),a)T→SS
((T,a),a)S→aa
((T,S),a)T→T,ST,S
((S),a)T→SS
((T),a)S→(T)(T)
(S,a)T→SS
(T,a)S→aa
(T,S)T→T,ST,S
(T)S→(T)(T)
S
解析过程:
10.答案:
解:
①该文法的开始符号(识别符号)是E。
②该文法的终结符号集合Vt={+、-、*、/、(、)、i}。
非终结符号集合Vn={E、T、F}。
③句型T+T*F+I的短语为i、T*F、第一个T、T+T*F+i;
简单短语为i、T*F、第一个T;
句柄为第一个T。
解析过程:
江南大学网络教育第二阶段练习题
考试科目:
《编译原理》第章至第章(总分100分)
__________学习中心(教学点)批次:
层次:
专业:
学号:
身份证号:
姓名:
得分:
一单选题(共4题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.有限状态自动机能识别()。
(5分)
A.上下文无关文法
B.上下文有关文法
C.正则文法
D.短语文法
2.文法G[E]:
E→E+T|T,T→T*P|P,P→(E)|I,则句型P+T+i的短语有()。
(5分)
A.i,P+T
B.P,P+T,i,P+T+i
C.P+T+i
D.P,P+T,i
3.在自底向上的语法分析方法中,分析的关键是()。
(5分)
A.寻找句柄
B.寻找句型
C.消除递归
D.消除公共前缀
4.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合都是()。
(5分)
A.非终极符集
B.终极符集
C.字母表
D.状态集
二填空题(共2题,总分值10分)
5.文法要满足两个条件:
__________和__________才可以使用自顶向下的语法分析方法。
(5分)
6.__________是这样一种动作文法,即动作符只出现于产生式的末尾。
(5分)
三简答题(共2题,总分值20分)
7.若有文法G[S]为:
S->Ac|aBA->dfB->be,请写出语言L(G[S])的全部元素。
(10分)
8.文法G[S]为:
S→V
V→T|ViT
T→F|T+F
F→)V*|(
试给出句型ViFi(的短语,简单(直接)短语,句柄。
(10分)
四综合计算题(共2题,总分值50分)
9.写出表达式(a+b*c)/(a+b)-d的逆波兰表示和三元式序列。
(25分)
10.下面的文法是不是LL
(1)文法?
若是,请构造相应的LL
(1)分析表。
S→aDD→STe|ε T→bH|H H→d|ε(25分)
一单选题(共4题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.答案:
C
解析过程:
2.答案:
B
解析过程:
3.答案:
A
解析过程:
4.答案:
B
解析过程:
二填空题(共2题,总分值10分)
5.答案:
没有左递归,没有公共前缀
解析过程:
6.答案:
尾动作文法
解析过程:
三简答题(共2题,总分值20分)
7.答案:
解:
因为S=>Ac=>dfc
S=>aB=>abe
所以L(G[S])={abcdef}
解析过程:
8.答案:
解:
句型ViFi(的语法树如下:
F是句型ViFi(相对于T的短语、简单短语、句柄
(是句型ViFi(相对于F的短语、简单短语
(是句型ViFi(相对于T的短语
ViF是句型ViFi(相对于V的短语
ViFi(是句型ViFi(相对于V的短语
ViFi(是句型ViFi(相对于S的短语
解析过程:
四综合计算题(共2题,总分值50分)
9.答案:
解:
逆波兰表示:
abc*+ab+/d-
三元式序列:
(1)(*,b,c)
(2)(+,a,
(1))
(3)(+,a,b)
(4)(/,
(2),(3))
(5)(-,(4),d)
解析过程:
10.答案:
解:
Predict(S→aD)=first(aD)={a}
Predict(D→STe)=first(STe)={a}
Predict(D→ε)=follow(D)={#,b,d,e}
Predict(T→bH)=first(bH)={b}
Predict(T→H)=first(H)∪follow(T)={d,e}
Predict(H→d)=first(d)={d}
Pridict(H→ε)=follow(H)={e}
所以该文法是LL
(1)文法,LL
(1)分析表如下表:
解析过程:
江南大学网络教育第三阶段练习题
考试科目:
《编译原理》第章至第章(总分100分)
__________学习中心(教学点)批次:
层次:
专业:
学号:
身份证号:
姓名:
得分:
一单选题(共4题,总分值20分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.四元式之间的联系是通过()来实现的。
(5分)
A.指示器
B.临时变量
C.符号表
D.程序变量
2.优化可生成()的目标代码。
(5分)
A.运行时间较短
B.运行时间短但占用内存空间大
C.占用存储空间较小
D.运行时间短且占用存储空间小
3.在目标代码生成阶段,符号表用于()。
(5分)
A.目标代码生成
B.语义检查
C.语法检查
D.地址分配
4.下列()优化方法不是针对循环优化进行的。
(5分)
A.强度削弱
B.删除归纳变量
C.删除多余运算
D.代码外提
二填空题(共2题,总分值10分)
5.优化可分为_________、_________和全局优化三种。
(5分)
6.语法分析是依据语言的__________规则进行的,中间代码产生是依据语言的__________规进行的。
(5分)
三简答题(共2题,总分值20分)
7.什么是活动记录?
它主要由哪些内容构成?
(10分)
8.写出表达式A*(B/C-D)+E/F的逆波兰中间代码。
(10分)
四综合计算题(共2题,总分值50分)
9.文法G[M]及其LR分析表如下,请给出对串dada#的分析过程。
G[M]:
1)S→VdB 2)V