华东交通大学2016-2017学年度第一学期编译原理期末样题
编译原理试题汇总-编译原理期末试题(8套答案大题集)

编译原理考试题及答案汇总一、选择1.将编译程序分成若干个“遍”是为了_B__。
A . 提高程序的执行效率B.使程序的结构更加清晰C. 利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.正规式 MI 和 M2 等价是指__C__。
A . MI 和 M2 的状态数相等 B.Ml 和 M2 的有向弧条数相等。
C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等3.中间代码生成时所依据的是 _C_。
A.语法规则 B.词法规则 C.语义规则 D.等价变换规则4.后缀式 ab+cd+/可用表达式__B_来表示。
A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。
A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析7.词法分析器用于识别__C___。
A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符8.语法分析器则可以发现源程序中的___D__。
A.( ) 语义错误 B.( ) 语法和语义错误C.( ) 错误并校正 D.( ) 语法错误9.下面关于解释程序的描述正确的是__B___。
(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于 COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3)10.解释程序处理语言时 , 大多数采用的是__B___方法。
A.( ) 源程序命令被逐个直接解释执行B.( ) 先将源程序转化为中间代码 , 再解释执行C.( ) 先将源程序解释转化为目标程序 , 再执行D.( ) 以上方法都可以11.编译过程中 , 语法分析器的任务就是__B___。
(完整word版)编译原理模拟试题五

《编译原理》期末试题(一)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)1.词法分析器的输出结果是_____。
A.( ) 单词的种别编码B.( ) 单词在符号表中的位置C.( ) 单词的种别编码和自身值D.( ) 单词自身值2.正规式M 1 和M 2 等价是指_____。
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.编译程序使用_____区别标识符的作用域。
编译原理试题汇总+编译原理期末试题(8套含答案+大题集)(完整资料).doc

此文档下载后即可编辑编译原理考试题及答案汇总一、选择1.将编译程序分成若干个“遍”是为了_B__。
A . 提高程序的执行效率B.使程序的结构更加清晰C. 利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.正规式 MI 和 M2 等价是指__C__。
A . MI 和 M2 的状态数相等和 M2 的有向弧条数相等。
C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等3.中间代码生成时所依据的是 _C_。
A.语法规则 B.词法规则 C.语义规则 D.等价变换规则4.后缀式 ab+cd+/可用表达式__B_来表示。
A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。
A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析7.词法分析器用于识别__C___。
A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符8.语法分析器则可以发现源程序中的___D__。
A.( ) 语义错误 B.( ) 语法和语义错误C.( ) 错误并校正 D.( ) 语法错误9.下面关于解释程序的描述正确的是__B___。
(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于 COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3)10.解释程序处理语言时 , 大多数采用的是__B___方法。
A.( ) 源程序命令被逐个直接解释执行B.( ) 先将源程序转化为中间代码 , 再解释执行C.( ) 先将源程序解释转化为目标程序 , 再执行D.( ) 以上方法都可以11.编译过程中 , 语法分析器的任务就是__B___。
华东交通大学编译原理试题库 试卷十

一、填空题(每题2分,共20分)1、语法分析是依据语言的规则进行的,中间代码产生是依据语言的规则进行的。
2、程序语言的单词符号一般可以分为等等。
3、语法分析器的输入是,其输出是4、所谓自上而下分析法是指。
5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是。
6、对于文法G,仅含终结符号的句型称为。
7、逆波兰式ab+c+d*e-所表达式为。
8、一个名字的属性包括和。
9、对于数据空间的存贮分配,FORTRAN采用策略,PASCAL 采用策略。
10、所谓优化是指。
二、名词解释(每题2分,共10分)1、词法分析器2、语法3、最右推导4、语法制导翻译5、基本块三、简述题(每题4分,共24分)1、考虑下面程序...........Var i:integer;a:array[1..2] of integer;procedure Q(b);Var b:integer;begini:=1;b:=b+2;i:=2;b:=b+3End;begina[1]:=5;a[2]:=6;i:=1;Q(a[i]);print(a[1],a[2])END.试问:若参数传递的方式分别采用传地址和传值时,程序执行后输出a[1], a[2]的值是什么?2、画出Pascal中实数(不带正负号,可带指数部分)的状态转换图。
3、已知文法G(4、写出表达式(a+b)/(a-b)-a(a+b*c)的三元式序列及四元序列。
5、符号表的作用是什么?符号表的查找的整理技术有哪几种?6、所谓DISPLAY表?其作用是什么?四、计算题(共41分)1、写一个文法,使其语言是偶数集,且每个偶数不以0开头。
(5分)2、已知文法G(S):S→a|∧|(T)T→T,S|S⑴给出句子(a,(a,a))的最左推导并画出语法树;⑵给出句型((T,S),a)的短语、直接短语、句柄。
(8分)3、把语句if x>0∧y>0 then z:=x+yelse beginx:=x+2;y:=y+3END;翻译成四元式序列。
编译原理试题汇总+编译原理期末试题(8套含答案+大题集)(完整资料).doc

此文档下载后即可编辑编译原理考试题及答案汇总一、选择1.将编译程序分成若干个“遍”是为了_B__。
A . 提高程序的执行效率B.使程序的结构更加清晰C. 利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率2.正规式 MI 和 M2 等价是指__C__。
A . MI 和 M2 的状态数相等 B.Ml 和 M2 的有向弧条数相等。
C .M1 和 M2 所识别的语言集相等 D. Ml 和 M2 状态数和有向弧条数相等3.中间代码生成时所依据的是 _C_。
A.语法规则 B.词法规则 C.语义规则 D.等价变换规则4.后缀式 ab+cd+/可用表达式__B_来表示。
A. a+b/c+d B.(a+b)/(c+d) C. a+b/(c+d) D. a+b+c/d6.一个编译程序中,不仅包含词法分析,_A____,中间代码生成,代码优化,目标代码生成等五个部分。
A.( ) 语法分析 B.( )文法分析 C.( )语言分析 D.( )解释分析7.词法分析器用于识别__C___。
A.( ) 字符串 B.( )语句 C.( )单词 D.( )标识符8.语法分析器则可以发现源程序中的___D__。
A.( ) 语义错误 B.( ) 语法和语义错误C.( ) 错误并校正 D.( ) 语法错误9.下面关于解释程序的描述正确的是__B___。
(1) 解释程序的特点是处理程序时不产生目标代码(2) 解释程序适用于 COBOL 和 FORTRAN 语言(3) 解释程序是为打开编译程序技术的僵局而开发的A.( ) (1)(2) B.( ) (1) C.( ) (1)(2)(3) D.( ) (2)(3)10.解释程序处理语言时 , 大多数采用的是__B___方法。
A.( ) 源程序命令被逐个直接解释执行B.( ) 先将源程序转化为中间代码 , 再解释执行C.( ) 先将源程序解释转化为目标程序 , 再执行D.( ) 以上方法都可以11.编译过程中 , 语法分析器的任务就是__B___。
编译原理期末试题及答案

编译原理期末试题及答案2、写出表达式a+b*(c-d)/e的逆波兰式和三元序列。
3、写出表达式a:=(b+c)*e+(b+c)/f的逆波兰式和三元序列。
4、已知⽂法G(S)及相应翻译⽅案S→aAb {print “1”}S→a {print “2”}A→AS {print “3”}A→c {print “4”}输⼊acab, 输出是什么5、已知⽂法G(S)S→bAaA→(B | aB→Aa)写出句⼦b(aa)b的规范归约过程。
6、已知⽂法G[S]S→S*aF | aF | *aFF→+aF | +a消除⽂法左递归。
1、设⽂法G(S):S→^ | a | (T)T→T,S | S⑴消除左递归;⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表2.语句if E then S(1) 改写⽂法,使之适合语法制导翻译;(2) 写出改写后产⽣式的语义动作。
4.设某语⾔的for语句的形式为for i:=E(1) to E(2) do S其语义解释为i:=E(1)LIMIT:=E(2)again: if i<=LIMIT thengoto againEnd;(1)写出适合语法制导翻译的产⽣式;(2)写出每个产⽣式对应的语义动作。
7.已知⽂法G(S)S→a | ^ | (T)T→T,S | S(1) 给出句⼦(a,(a,a))的最左推导;(2) 给出句型((T,S),a)的短语, 直接短语,句柄。
8.对于C 语⾔do S while E语句(1)改写⽂法,使之适合语法制导翻译;(2)写出改写后产⽣式的语义动作。
9.已知⽂法G(S)S→aAcBeA→Ab| bB→d(1)给出句⼦abbcde的最左推导及画出语法树;(2)给出句型aAbcde的短语、素短语。
10.设⽂法G(S):S→(T) | aS | aT→T,S | S⑴消除左递归和提公共左因⼦;⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表。
编译原理期末考试题目及答案

I 0
I 1
t
0
1
[S]
q1
[A,D,B]
[D,B,C]
[D,B]
重新命名
q1
q2
q3
[D,B,C]
[D,B,C,Z]
[D,B]
q2
q4
q3
[D,B]
[D,B,C]
[D,B]
q3
q2
q3
第二步(2分):将
NFA确定化为DFA:(l分)
[D,B,C,Z] [D,B,C,Z]
3.自下而上分析法采用 移进 、归约、错误处理、 接受 等四种操作。
4.一个LL(1)分析程序需要用到 一张分析表 和符号栈。
5. 后缀式abc-/所代表的表达式是a/(b-c)。
逆波兰表示法表示表达式时无须使用括号。R两个正规集相等的必要条件是他们对应的正规式等价。 编译程序是对高级语言程序的编译执行。X
一、填空题(每空2分,共20分)1.编译程序首先要识别出源程序中每个 单词,然后再分析每个 句子 并翻译其意义。
2.编译器常用的语法分析方法 有自底向上 和自顶向下 两种。
3. 通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的 优化与目标代码的生成则是对源程序的 综合 。
4. 程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即 方案。
5.对编译程序而言,输入数据是源程序 ,输出结果是 目标程序 。
1.计算机执行用高级语言编写的程序主要有两种途径:解释和编译 。
2.扫描器是 词法分析器,它接受输入的 源程序 ,对源程序进行 词法分析 并识别出一个个单词符号,其输出结果是单词符 号,供语法分析器使用。
DFA的状态转换图(l分)
(完整word版)编译原理期末考试试卷及答案

第 0 页共 16 页一.填空题(每空2分,共20分) 1. 不同的编译程序关于数据空间的存储分配策略可能不同,但大部分编译中采用的方案有两种:静态存储分配方案和动态存储分配方案,而后者又分为(1)和(2)。
2. 规范规约是最(3)规约。
3. 编译程序的工作过程一般划分为5个阶段:词法分析、(4)、语义分析与中间代码生成,代码优化及(5)。
另外还有(6)和出错处理。
4.表达式x+y*z/(a+b)的后缀式为(7)。
5.文法符号的属性有综合属性和(8)。
6.假设二位数组按行存放,而且每个元素占用一个存储单元,则数组a[1..15,1..20]某个元素a[i ,j]的地址计算公式为(9)。
7.局部优化是局限于一个(10)范围内的一种优化。
二.选择题(1-6为单选题,7-8为多选题,每问2分,共20分)1. 一个上下文无关文法G 包括四个组成部分:一组终结符,一组非终结符,一个(),以及一组()。
A .字符串B .产生式C .开始符号D .文法2.程序的基本块是指()。
A .一个子程序B .一个仅有一个入口和一个出口的语句C .一个没有嵌套的程序段D .一组顺序执行的程序段,仅有一个入口和一个出口 3. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A .自左向右 B .自顶向下 C .自底向上 D .自右向左 4.在通常的语法分析方法中,()特别适用于表达式的分析。
A .算符优先分析法 B . LR 分析法 C .递归下降分析法 D . LL (1)分析法 5.经过编译所得到的目标程序是()。
A .四元式序列B .间接三元式序列C .二元式序列D .机器语言程序或汇编语言程序 6.一个文法所描述的语言是();描述一个语言的文法是()。
A .唯一的 B .不唯一的 C .可能唯一,也可能不唯一7.如果在文法G 中存在一个句子,当其满足下列条件()之一时,则称该文法是二义文法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
O
(1)给出串 abbaa 最左推导、最右推导。(3 分) (2)该文法的产生式集合 P 可能有哪些元素?(3 分) (3)找出该句子的所有短语、直接短语、句柄。(3 分)
线
O
第 2 页 共 9 页
背面有试题
2
五、(本题共计 10 分) 已知某 NFA 的状态转换矩阵如下表所示, 将此 NFA 确定化, 得分 构造最小化 DFA,要求写出具体解题过程。
订
O
线
O
七、(本题共 15 分)
解:简单优先关系矩阵如下: S S a = <>
第 8 页 共 9 页
a
b = <
背面有试题
P <
Q
c >; =
<> > >
=
=< = = >
由于矩阵中有元素存在多种优先关系,故不是简单优先文法。
八、(本题共 15 分)
解:(1)构造该文法的拓广文法。(1 分) (0)S’→S (1) S→aS (2)A→bS (3)A→a (2)构造其 LR(0)项目集规范族,并给出识别活前缀的 DFA。(7 分)
装
O
订
O
线
O
第 5 页 共 6 页
背面有试题
八、(本题共计 15 分) 已知文法 G(S):S aS | bS | a
(1)构造该文法的拓广文法。(1 分) (2)构造其 LR(0)项目集规范族,并给出识别活前缀的 DFA。(7 分) (3)构造其 SLR 分析表,并判断该文法是否是 SLR(1)文法。(7 分)
第 1 页 共 6 页 背面有试题
7.文法 G:S x Sx | y 所识别的语言是( ) n n * A.xyx B.(xyx) C.x yx (n≥0) D.x*yx* 8. 语法分析中的立法机构是( ) A. 正规式 B. 上下文无关文法 C. 上下文有关文法 D. 预测分析器 9. 编译的各个阶段中,与源程序打交道的阶段是 A. 语法分析 B. 语义分析 C. 词法分析 D. 代码优化 10. 下面的逆波兰表达式:ab+cd+* ,所代表的中缀形式的表达式是( ) A. a+b+c*d B. (a+b)*(c+d) C. (a+b)*c+d D. a+b*c+d
第 7 页 共 6 页 背面有试题
1 3 5 6
b 1
a 3 3
表 2 最小化后的 DFA b 1 6 6
c a 3 a 5 d b 6 b
c 3
d 5
装
(2 分)
O
六、(本题共 15 分)
解:消除左递归后的文法 G’: S→aTS’|*aTS’ S’→*aTS’|ε T→+aT|+a 提取左公因子得文法 G’’:S→aTS’|*aTS’ S’→*aTS’|ε T→+aT’ T’→T|ε Select(S→aTS’)={a} Select(S→*aTS’)={*} Select(S→aTS’)∩Select(S→*aTS’)=Ф Select(S’→*aTS’)={*} Select(S’→ε)=Follow(s’)={#} Select(S’→*aTS’)∩Select(S’→ε)= Ф Select(T→+aT’)={+} Select(T’→T)=First(T) ={+} Select(T’→ ε)=Follow(T’)={*,#} Select(T’→T)∩Select(T’→ε)= Ф 所以该文法是 LL(1)文法。 预测分析表: * + a # S S’Ta, N TS’T, N S’ S’Ta, N ε, P T T’a, N T’ ε, P T, P ε, P a ε, N # OK
华东交通大学 2016—2017 学年第一学期(样题)
( A )卷
课程名称: 学生姓名: 题号 一 10 编译原理( B )考试时间: 学号: 二 20 三 6 四 9 分钟 考试方式:闭卷 学时:48 学时 教学小班序号: 八 15 九 十 总分 100
教学班级: 五 10 六 15 七 15
解:从上表中可以看出,该 NFA 已经是 DFA,所以直接对其进行最小化(2 分) 初始分划Π0: 终态组{6,7} ,非终态组{1,2,3,4,5}---------------------(2 分) 对{1,2,3,4,5}进行审查: {1,2}输入 b 到达{2} ,而{3,4}输入 b 到达{6,7} ,{5}输入 b 不会有任何动作, 故得到新分划{1,2} {3,4} {5} -----------------------(2 分) Π1: {1,2} {3,4} {5} {6,7} Π1 即是最后划分, ----------------------(2 分) 重新命名, 以 1,3,5,6 代替{1,2} {3,4} {5} {6,7} 得最小化的 DFA 如下表 2 所示
a I1 : S→a.S S→.aS S→.bS S→.a S→a. S I4 : S→aS.
装
O
b a S I3 : S’→S.
订
O
I0 : S’→.S S→.aS S→.bS S→.a
b
I2 : S→b.S S→.aS S→.bS S→.a
a S I5 : S→bS.
b
线
O
(3)构造其 SLR 分析表,并判断该文法是否是 SLR(1)文法。(7 分) 状态 I1 移进-规约冲突,计算 S 的 Follow 集合:Follow(S)={#},可以采用 SLR 冲突 消解法,得到如下 SLR 分析表: ACTION GOTO 状态 a b # S 0 S1 S2 3 1 S1 S2 r3 4 2 S1 S2 5 3 acc 4 r1 5 r2 该文法是 SLR(1)文法。
装
O
订
O
线
O
第 4 页 共 9 页
背面有试题
4
七、(本题共计 15 分)
得分
对文法 G[S]: S → aSb | P P → bPc | bQc Q → Qa | a 构造简单优先关系表。该文法是否是简单优先文法?(只需要将序号部分补 充完整)
S S a b P Q c (4) (9) (1) a (2) (3) b (5) (6) (7) (8) (10) (11) (13) (14) (15) (12) P Q c
表 1 2 3 4 5 6 7 4 6 6 NFA 的状态转换矩阵 a b c 3 4 2 2 6 7 3 3 5 5 d
装
O
订
O
线
O
第 3 页 共 6 页
背面有试题
六、(本题共计 15 分) 对于文法文法 G[S]:S→S*aT|aT|*aT T→+aT|+a;判定 G[S]是否 是 LL(1)文法,若不是,试图将文法 G[S]改写成等价的 LL(1)文法,并 构造预测分析表,若是,请直接给出其 LL(1)分析表。
订
O
二、单项选择填空题(对下列各题,请在答题卡上对应的小题 中填上你的选项,共 10 小题,每题 2 分,共计 20 分) 线
得分
O
1. 编译程序是对( ) A. 汇编程序的翻译 B. 高级语言程序的解释执行 C. 机器语言的执行 D. 高级语言的翻译 2. 词法分析器的输出结果是( ) A.单词的种别编码 B.单词在符号表中的位置 C.单词的种别编码和自身值 D.单词自身值 3. 在规范规约中,用( )来刻画可规约串。 A.直接短语 B.句柄 C.最左素短语 D.素短语 * * 4. 与正规式(a | b) (c | d)等价的正规式是( ) A.a* (c | d) | b(c | d) B.a* (c | d) * | b(c | d) * C.a* (c | d) | b* (c | d) D.(a | b) * c | (a | b) * d 5. 若项目集 IK 含有 A · ,则在状态 K 时,仅当面临输入符号 a FOLLOW(A)时,才 采取 A · 动作的一定是( ) A.LALR 文法 B.LR(0) 文法 C.LR(1)文法 D.SLR(1)文法 6. 四元式之间的联系是通过( )实现的。 A. 指示器 B. 临时变量 C. 符号表 D. 程序变量
第 9 页 共 6 页
背面有试题
订
A→a B→SBB|b (3)该句子的所有短语、直接短语、句柄有: 短语 a1 相对 A1 ε 相对 S b1 相对 B1 b2 相对 B2 直接(简单)短语 √ √ √ √ √ 3分 3分 句柄 √
O
线
a2 相对 A2 εbb 相对 B aa 相对 S aεbbaa 相对 S
O
五、(本题共 10 分)
1 D 2 C 3 B 4 D 5 D 6 B 7 C 8 B 9 C 1 B 0
装
O
三、(本题共 6 分)
解:(1)S→AA A→aAb|ε (3 分) (2)G[S]:S->S+D|S-D|D D->0|1|2|3|4|5|6|7|8|9 (3 分)
四、(本题共 9 分)
解:(1)串 abbaa 最左推导: S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa 最右推导:S=>ABS=>ABAa=>ABaa=>ASBBaa=>ASBbaa=>ASbbaa=>Abbaa=>abbaa (2)产生式有:S→ABS |Aa|ε 3分
三、(本题共计 6 分) 给出生成下述语言的上下文无关文法:
得分
(1){anbnambm| n,m>=0}(3 分) (2)为只包含数字、加号和减号的表达式,例如 9-2+5,3-1,7 等构造一个文法。(3 分)