华东交通大学2016-2017学年度第一学期编译原理期末样题

合集下载

编译原理试题汇总-编译原理期末试题(8套答案大题集)

编译原理试题汇总-编译原理期末试题(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版)编译原理模拟试题五

(完整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

编译原理试题汇总+编译原理期末试题(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

编译原理试题汇总+编译原理期末试题(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版)编译原理期末考试试卷及答案

(完整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 中存在一个句子,当其满足下列条件()之一时,则称该文法是二义文法。

编译原理试题汇总+编译原理期末试题(8套含答案+大题集)

编译原理试题汇总+编译原理期末试题(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___。

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)

《编译原理》考试试题及答案(汇总)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个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.构造编译程序应掌握______。

2016学年第一学期编译原理期末试题A卷答案

2016学年第一学期编译原理期末试题A卷答案

中山大学本科生期末考试考试科目:《编译原理》(A卷答案)学年学期:2016学年第一学期姓名:学院/系:数据科学与计算机学院/软件工程学号:考试方式:闭卷年级专业:考试时长:120分钟班别:第八条:“考试作弊者,不授予学士学位。

”------------以下为试题区域,共九道大题,总分100分,考生请在答题纸上作答------------1.Write regular expressions for the following languages (8 points).a)All strings over {0, 1} that do not contain consecutive zeros (4 points).(0?1)*0?b)All strings representing a nonnegative binary number (without leading zeros)which is a multiple of 8 (4 points).0 | 1(1|0)*0002.Consider the following regular expression (17 points):( a | b ) * a ( a | b )a)Based on the Thompson Algorithm, construct the NFA from the above regularexpression (8 points).b)Convert the NFA into a DFA with minimum number of states (9 points).ε-closure({0}) = {0, 1, 2, 4, 7}ε-closure(move({0, 1, 2, 4, 7}, ‘a’)) = ε-closure({3, 8}) = {1, 2, 3, 4, 6, 7, 8, 9, 11}ε-closure(move({0, 1, 2, 4, 7}, ‘b’)) = ε-closure({5}) = {1, 2, 4, 5, 6, 7}ε-closure(move({1, 2, 3, 4, 6, 7, 8, 9, 11}, ‘a’)) = ε-closure({3, 8, 10}) = {1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13}ε-closure(move({1, 2, 3, 4, 6, 7, 8, 9, 11}, ‘b’)) = ε-closure({5, 12}) = {1, 2, 4, 5, 6, 7, 12, 13}ε-closure(move({1, 2, 4, 5, 6, 7}, ‘a’)) = ε-closure({3, 8}) = {1, 2, 3, 4, 6, 7, 8, 9, 11}ε-closure(move({1, 2, 4, 5, 6, 7}, ‘b’)) = ε-closure({5}) = {1, 2, 4, 5, 6, 7}ε-closure(move({1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13}, ‘a’)) = ε-closure({3, 8, 10}) = {1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13}ε-closure(move({1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13}, ‘b’)) = ε-closure({5, 12}) = {1, 2, 4, 5, 6, 7, 12, 13}ε-closure(move({1, 2, 4, 5, 6, 7, 12, 13}, ‘a’)) = ε-closure({3, 8}) = {1, 2, 3, 4, 6, 7, 8, 9, 11}ε-closure(move({1, 2, 4, 5, 6, 7, 12, 13}, ‘b’)) = ε-closure({5}) = {1, 2, 4, 5, 6, 7}NFA states DFA state a B{0, 1, 2, 4, 7} A B C{1, 2, 3, 4, 6, 7, 8, 9, 11} B D E {1, 2, 4, 5, 6, 7} C B C {1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 13} D D E {1, 2, 4, 5, 6, 7, 12, 13} E B CMinimized DFA:3.Consider the following CFG (9 points):S +SS | -SS | aand the string +a-aa.a)Give a leftmost derivation for the string (3 points).S => +SS => +aS => +a-SS => +a-aS => +a-aab)Give a rightmost derivation for the string (3 points).S => +SS => +S-SS => +S-Sa => +S-aa => +a-aac)Give a parse tree for the string (3 points).4.Write CFGs for the following languages (8 points):a)L={a n b m c n | m ≥ 0, n ≥ 1} (4 points).S → aSc | aAcA → bA | εb)All strings over {a, b} that begin and end with the same letter (4 points).S → aAa | bAb | a | bA → aA | bA | ε5.Consider the following CFGs (18 points):S → i(E)t(E)X | EX → e(E) | εE → aY | bYY → c(E) | εwhere i, t, e, a, b, c, ( and ) are terminals.a)Compute the FIRST and FOLLOW sets for all non-terminals (8 points).b)Construct an LL(1) parsing table for the grammar (8 points).c)Is this grammar LL(1)? Why? (2 points)Yes, because no conflicts can be found in the LL(1) parsing table.6.Consider the following CFG (12 points):S→aAD | aBe | bBS | bAeA→gB→gD→d |εaugment the grammar and construct the LR(1) sets of items for the augmented grammar.首先拓广G[S]为G[Z]:0:Z → S 1:S → aAD 2:S → aBe3:S → bBS 4:S → bAe 5:A → g6:B → g 7:D → d 8:D →ε构造G[Z]的LR(1)项目族为:7.The following grammar generates binary strings and their complements (10 points).F →B| BB →B0| B1| 0| 1The value of a (non-negated) string is just the decimal value of the binary number the string represents; the value of a negated string is the decimal value of the string with 1’s replaced by 0’s and 0’s replaced by 1’s. For example, the value of 010 is 2 and ¬010 is 5. Design a syntax-directed definition (SDD) for the above grammar such that the non-terminal F has an attribute F.val which keeps the value of an inputstring generated by F. Please do NOT modify the grammar.8.Consider the following basic block (10 points):a)Construct the DAG of the above basic block (5 points).b)Assume that only G, L and M will be used after the basic block. Give theoptimized three-address statement sequence (5 points).1) t2 = A * C2) t3 = A + C3) t4 = t2– t34) G = 3 * t45) L = 15 + t46) M = L9.Consider the following fragment of three-address instructions (8 points):(1) b := 1(2) b := 2(3) if w <= x goto B(4) e := b(5) goto B(6) A: goto D(7) B: c := 3(8) b := 4(9) c := 6(10) D: if y <= z goto E(11) goto End(12) E: g := g + 1(13) h: = 8(14) goto A(15) End: h := 9Please partition these three-address instructions into basic blocks, and draw the control flow graph. You may draw the resulting graph directly, but you must markeach node by number n~m indicating that the corresponding basic block consists of instructions n through m, inclusive.。

编译原理期末试题(8套含答案)资料

编译原理期末试题(8套含答案)资料

《编译原理》期末试题(一)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个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.( ) x n yx n(n≥0) D.( ) x*yx*4.如果文法G是无二义的,则它的任何句子α_____。

A.( )最左推导和最右推导对应的语法树必定相同B.( ) 最左推导和最右推导对应的语法树可能不同C.( ) 最左推导和最右推导必定相同D.( )可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握______。

编译原理试题汇总 编译原理期末试题(8套含答案 大题集)(DOC)

编译原理试题汇总 编译原理期末试题(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___。

华东交通大学编译原理必考题第5-7章作业(含答案)最新版 刘立月说期末,补考,清考都是考这些,会做你就过了

华东交通大学编译原理必考题第5-7章作业(含答案)最新版 刘立月说期末,补考,清考都是考这些,会做你就过了

【解】 对应的四元式序列为:
100(Jnz, A, , 108 ) 101(J , , , 102 ) 102(Jnz, B, , 104 ) 103(J , , , 106 ) 104(Jnz, C, , 106 ) 105(J , , , 108 ) 106(Jnz, D, , 108 ) 107(J , , , 116 ) 108(J>,a ,b , 110 ) 109(J , , , 113 ) 110(-, m,k , T1 ) 111(:= ,T1 , ,x ) 112(J , , , 100) 113(+, m,k , T2 ) 114(:= ,T2 , ,y ) 115(J , , ,100 ) 116
B
b
由上表可知:该文法中,所有相同左部不同右部的产生式 SELECT 集两两相交 均为空集,所以该文法为 LL(1)文法。 ②构造预测分析表
f S A B ε b ABf BbS ε e ABf e d ABf BbS dAg
#
1
3、已知文法 G[S]:S→(A)│a│b A→AcS│S 优先矩阵,并判断该文法是否是算符优先文法。
④构造算符优先矩阵(注:按终结符出现顺序列表):
( ( ) a b c # < < < ) = > > > > < < < < a < b < c < > > > > = > > > #
⑤ 因为该文法 G 为 2 型文法, 且不含空产生式, 没有形如 U…VW…的产生式, 其中 V,W∈VN,所以 G 为算符文法;又因为 G 中任意两个终结符间至多有一种算 符优先关系存在(算符优先矩阵无冲突,见上表),所以 G 为算符优先文法。

编译原理_华东交通大学中国大学mooc课后章节答案期末考试题库2023年

编译原理_华东交通大学中国大学mooc课后章节答案期末考试题库2023年

编译原理_华东交通大学中国大学mooc课后章节答案期末考试题库2023年1.在语法制导编译翻译中,模块是不包含在里面工作的。

答案:代码优化2.G[E]: E ® dA|d,A ® dA|aA|B, B ®d|a,描述的语言为:。

答案:d(d½a)*3.下列文法可能为二义性文法的是:。

答案:递归文法4.LR(0)分析方法与SLR(1) 分析方法的差别在于。

分析表的构造方法5.两个文法等价,当且仅当它们的等价。

答案:描述语言6.语句y:=x/(a-b)+c-e*d的等价逆波兰表达式为。

答案:yxab-/c+ed*-:=7.简单优先分析方法和算符优先分析方法的相同之处是。

答案:均是自下而上8.在LR分析表中,Sj表示的意思是。

移进9.给定文法G[S]:S→(A)|a|b A →SB B→bSB|ε ,则Follow(S)为。

答案:#, b, )10.LR(0)项目I={ S ® a.A , A® .Ab , A®. a },则I中存在冲突。

答案:无11.下列优化技术中不能直接产生优化效果的是。

答案:变换循环控制条件12.赋值表达式的x:=a+(b+c)*d的逆波兰式为( )。

xabc+d*+:=13.编译程序中词法分析器输出的单位为:()答案:单词14.一个LR(0) 项目为E®aA·f ,其中a、f∈VT,E、A∈VN,该项目是:答案:移进项目15.下列编译程序的模块中,哪项不是必须的?()答案:中间代码生成16.下列文法中,描述能力最强且复杂度最高的是()。

答案:0型文法17.下列描述正确的是()。

答案:可归前缀包含了句柄。

18.自动机M1和M2等价是指:答案:M1和M2所识别的语言相等19.对文法G(E): E → E+E | E-E | i 而言,FIRSTVT(E)中不包括:答案:e20.下列哪种方式能更直观的描述高级语言中的单词:答案:正规式21.一个源程序可以通过解释程序等价变换成机器语言表示的目标程序。

编译原理期末试题(8套含答案+大题集)

编译原理期末试题(8套含答案+大题集)

《编译原理》期末试题(一)一、是非题(请在括号内,正确的划√,错误的划×)(每个2分,共20分)1.编译程序是对高级语言程序的解释执行。

(× )2.一个有限状态自动机中,有且仅有一个唯一的终态。

(×)3.一个算符优先文法可能不存在算符优先函数与之对应。

(√ )4.语法分析时必须先消除文法中的左递归。

(×)5.LR分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。

(√)6.逆波兰表示法表示表达式时无须使用括号。

(√ )7.静态数组的存储空间可以在编译时确定。

(×)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。

(×) 9.两个正规集相等的必要条件是他们对应的正规式等价。

(× )10.一个语义子程序描述了一个文法所对应的翻译工作。

(×)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个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.构造编译程序应掌握______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 分)
相关文档
最新文档