编译原理第一套模拟卷.docx
- 文档编号:12188990
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:13
- 大小:20.63KB
编译原理第一套模拟卷.docx
《编译原理第一套模拟卷.docx》由会员分享,可在线阅读,更多相关《编译原理第一套模拟卷.docx(13页珍藏版)》请在冰豆网上搜索。
编译原理第一套模拟卷
编译原理第一套模拟卷
总分:
100分时间:
90分钟
一、选择题(每小题2分,共20分)
1.词法分析器的输出结果是_____。
A.单词的种别编码 B.单词在符号表中的位置
C.单词的种别编码和自身值 D.单词自身值
2.正规式M1和M2等价是指_____。
A.M1和M2的状态数相等 B.M1和M2的有向边条数相等
C.M1和M2所识别的语言集相等 D.M1和M2状态数和有向边条数相等
3.文法G:
S→xSx|y所识别的语言是_____。
A.xyx B.(xyx)*C.xnyxn(n≥0) D.x*yx*
4.如果文法G是无二义的,则它的任何句子α_____。
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
5.构造编译程序应掌握______。
A.源程序 B.目标语言
C.编译方法 D.以上三项都是
6.四元式之间的联系是通过_____实现的。
A.指示器 B.临时变量
C.符号表 D.程序变量
7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。
A.┐AB∨∧CD∨ B.A┐B∨CD∨∧
C.AB∨┐CD∨∧ D.A┐B∨∧CD∨
8.优化可生成_____的目标代码。
A.运行时间较短 B.占用存储空间较小
C.运行时间短但占用内存空间大 D.运行时间短且占用存储空间小
9.下列______优化方法不是针对循环优化进行的。
A.强度削弱 B.删除归纳变量
C.删除多余运算 D.代码外提
10.编译程序使用_____区别标识符的作用域。
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
二、是非题(请在括号内,正确的划√,错误的划×)(每小题2分,共20分)
1.编译程序是对高级语言程序的解释执行。
()
2.一个有限状态自动机中,有且仅有一个唯一的终态。
()
3.一个算符优先文法可能不存在算符优先函数与之对应。
()
4.语法分析时必须先消除文法中的左递归。
()
5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。
()
6.逆波兰表示法表示表达式时无须使用括号。
()
7.静态数组的存储空间可以在编译时确定。
()
8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。
()
9.两个正规集相等的必要条件是他们对应的正规式等价。
()
10.一个语义子程序描述了一个文法所对应的翻译工作。
()
3、简答题(每小题6分,共30分)
1.写一个文法G,使其语言为不以0开头的偶数集。
2.已知文法G(S)及相应翻译方案
S→aAb{print“1”}
S→a{print“2”}
A→AS{print“3”}
A→c{print“4”}
输入acab,输出是什么?
3.已知文法G(S)
S→bAa
A→(B|a
B→Aa)
写出句子b(aa)b的规范归约过程。
4.考虑下面的程序:
…
procedure p(x,y,z);
begin
y:
=x+y;
z:
=z*z;
end
begin
A:
=2;
B:
=A*2;
P(A,A,B);
PrintA,B
end.
试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出A,B的值是什么?
5.文法G(S)
S→dAB
A→aA|a
B→Bb|ε
描述的语言是什么?
4、计算题(每小题15分,共30分)
1.设文法G(S):
S→^|a|(T)
T→T,S|S
⑴消除左递归;
⑵构造相应的FIRST和FOLLOW集合;
⑶构造预测分析表
2.语句ifEthenS
(1)改写文法,使之适合语法制导翻译;
(2)写出改写后产生式的语义动作。
编译原理第二套模拟卷
总分:
100分时间:
90分钟
一、选择题(每小题2分,共20分)
1.语言是
A.句子的集合B.产生式的集合
C.符号串的集合D.句型的集合
2.编译程序前三个阶段完成的工作是
A.词法分析、语法分析和代码优化
B.代码生成、代码优化和词法分析
C.词法分析、语法分析、语义分析和中间代码生成
D.词法分析、语法分析和代码优化
3.一个句型中称为句柄的是该句型的最左
A.非终结符号B.短语C.句子D.直接短语
4.下推自动机识别的语言是
A.0型语言B.1型语言
C.2型语言D.3型语言
5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即
A.字符B.单词C.句子D.句型
6.对应Chomsky四种文法的四种语言之间的关系是
A.L0L1L2L3B.L3L2L1L0
C.L3=L2L1L0D.L0L1L2=L3
7.词法分析的任务是
A.识别单词B.分析句子的含义
C.识别句子D.生成目标代码
8.常用的中间代码形式不含
A.三元式B.四元式C.逆波兰式D.语法树
9.代码优化的目的是
A.节省时间B.节省空间
C.节省时间和空间D.把编译程序进行等价交换
10.代码生成阶段的主要任务是
A.把高级语言翻译成汇编语言
B.把高级语言翻译成机器语言
C.把中间代码变换成依赖具体机器的目标代码
D.把汇编语言翻译成机器语言
2、是非题(请在括号内,正确的划√,错误的划×)(每小题2分,共20分)
1.一个上下文无关文法的开始符,可以是终结符或非终结符。
()
2.一个句型的直接短语是唯一的。
()
3.已经证明文法的二义性是可判定的。
()
4.每个基本块可用一个DAG表示。
()
5.每个过程的活动记录的体积在编译时可静态确定。
()
6.2型文法一定是3型文法。
()
7.一个句型一定句子。
()
8.算符优先分析法每次都是对句柄进行归约。
()
9.采用三元式实现三地址代码时,不利于对中间代码进行优化。
()
10.编译过程中,语法分析器的任务是分析单词是怎样构成的。
()
3、简答题(每小题6分,共30分)
1.证明文法G(S)
S→SaS|ε
是二义性的。
2.已知文法G(S)
S→BA
A→BS|d
B→aA|bS|c
的预测分析表如下
a
b
c
d
#
S
S→BA
S→BA
S→BA
A
A→BS
A→BS
A→BS
A→d
B
B→aA
B→bS
B→c
给出句子adccd的分析过程。
3.写一个文法G,使其语言为L(G)={albmclanbn|l>=0,m>=1,n>=2}
4.已知文法G(S):
S→a|(T)
T→T,S|S
的优先关系表如下:
关系
a
(
)
a
-
-
.>
.>
(
<.
<.
=.
<.
)
-
-
.>
.>
<.
<.
.>
.>
请计算出该优先关系表所对应的优先函数表。
5.何谓优化?
按所涉及的程序范围可分为哪几级优化?
四、计算题(每小题15分,共30分)
1.设文法G(S):
S→(T)|a
T→T+S|S
(1)计算FIRSTVT和LASTVT;
(2)构造优先关系表。
2.设某语言的for语句的形式为
fori:
=E
(1)toE
(2)doS
其语义解释为
i:
=E
(1)
LIMIT:
=E
(2)
again:
ifi<=LIMITthen
Begin
S;
i:
=i+1
gotoagain
End;
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。
编译原理第三套模拟卷
总分:
100分时间:
90分钟
一、选择题(每小题2分,共20分)
1.一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,目标代码生成等五个部分。
A.语法分析 B.文法分析 C.语言分析 D.解释分析
2.词法分析器用于识别_____。
A.字符串 B.语句
C.单词 D.标识符
3.语法分析器则可以发现源程序中的_____。
A.语义错误 B.语法和语义错误
C.错误并校正 D.语法错误
4.下面关于解释程序的描述正确的是_____。
(1)解释程序的特点是处理程序时不产生目标代码
(2)解释程序适用于COBOL和FORTRAN语言
(3)解释程序是为打开编译程序技术的僵局而开发的
A.
(1)
(2) B.
(1) C.
(1)
(2)(3) D.
(2)(3)
5.解释程序处理语言时,大多数采用的是_____方法。
A.源程序命令被逐个直接解释执行
B.先将源程序转化为之间代码,再解释执行
C.先将源程序解释转化为目标程序,再执行
D.以上方法都可以
6.编译过程中,语法分析器的任务就是_____。
(1)分析单词是怎样构成的
(2) 分析单词串是如何构成语句和说明的
(3)分析语句和说明是如何构成程序的 (4)分析程序的结构
A.
(2)(3) B.
(2)(3)(4)
C.
(1)
(2)(3) D.
(1)
(2)(3)(4)
7.编译程序是一种_____。
A.汇编程序 B.翻译程序
C.解释程序 D.目标程序
8.文法G所描述的语言是_____的集合。
A.文法G的字母表V中所有符号组成的符号串
B.文法G的字母表V的闭包V*中的所有符号串
C.由文法的开始符号推出的所有终极符串
D.由文法的开始符号推出的所有符号串
9.文法分为四种类型,即0型、1型、2型、3型。
其中3型文法是_____。
A.短语文法 B.正则文法
C.上下文有关文法 D.上下文无关文法
10.一个上下文无关文法G包括四个组成部分,它们是:
一组非终结符号,一组终结符号,一个开始符号,以及一组_____。
A.句子 B.句型
C.单词 D.产生式
5、是非题(请在括号内,正确的划√,错误的划×)(每小题2分,共20分)
1.一个优先表一定存在相应的优先函数。
()
2.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
()
3.递归下降分析法是一种自下而上分析法。
()
4.并不是每个文法都能改写成LL
(1)文法。
()
5.每个基本块只有一个入口和一个出口。
()
6.一个LL
(1)文法一定是无二义的。
()
7.逆波兰法表示的表达试亦称前缀式。
()
8.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
()
9.正规文法产生的语言都可以用上下文无关文法来描述。
()
10.一个优先表一定存在相应的优先函数。
()
2.简答题(每小题6分,共30分)
1.目标代码有哪几种形式?
生成目标代码时通常应考虑哪几个问题?
2.一字母表Σ={a,b},试写出Σ上所有以a为首的字组成的正规集相对应的正规式。
3.基本的优化方法有哪几种?
4.写一个文法G,使其语言为L(G)={abncn|n≥0}
5.考虑下面的程序:
…
procedurep(x,y,z);
begin
y:
=y+z;
z:
=y*z+x
end;
begin
a:
=2;
b:
=3;
p(a+b,b,a);
printa
end.
试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出a的值是什么?
四、计算题(每小题15分,共30分)
1.把语句
whilea<10do
ifc>0thena:
=a+1
elsea:
=a*3-1;
翻译成四元式序列。
2.设有基本块
D:
=A-C
E:
=A*C
F:
=D*E
S:
=2
T:
=A-C
Q:
=A*C
G:
=2*S
J:
=T*Q
K:
=G*5
L:
=K+J
M:
=L
假设基本块出口时只有M还被引用,请写出优化后的四元序列。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 第一 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)