17春《编译原理》.docx
《17春《编译原理》.docx》由会员分享,可在线阅读,更多相关《17春《编译原理》.docx(20页珍藏版)》请在冰豆网上搜索。
17春《编译原理》
17春《编译原理》作业_1
一、单选题
1.用高级语言编写的程序经编译后产生的程序叫_____。
A.源程序
B.目标程序
C.连接程序
D.解释程序
答案B
2.构造编译程序应掌握______。
A.源程序
B.目标语言
C.编译方法
D.以上三项都是
答案D
3.四种形式语言文法中,1型文法又称为_____文法。
A.短语结构文法
B.前后文无关文法
C.前后文有关文法
D.正规文法
答案C
4.解释程序处理语言时,大多数采用的是_____方法。
A.源程序命令被逐个直接解释执行
B.先将源程序转化为之间代码,再解释执行
C.先将源程序解释转化为目标程序,再执行
D.以上方法都可以
答案B
5.四元式之间的联系是通过_____实现的。
A.指示器
B.临时变量
C.符号表
D.程序变量
答案B
6.把汇编语言程序翻译成机器可执行的目标程序的工作是由_____完成的。
A.编译器
B.汇编器
C.解释器
D.预处理器
答案B
7.下列______优化方法不是针对循环优化进行的。
A.强度削弱
B.删除归纳变量
C.删除多余运算
D.代码外提
答案C
8.将编译程序分成若干个"遍"是为了()。
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
答案B
9.在自底向上的语法分析方法中,分析的关键是_____。
A.寻找句柄
B.寻找句型
C.消除递归
D.选择候选式
答案D
10.设G是一个给定的文法,S是文法的开始符号,如果S->x(其中x∈V*),则称x是文法G的一个_____。
A.候选式
B.句型
C.单词
D.产生式
答案B
二、多选题
1.一个LR
(1)项目可以看成()两个部分组成。
A.心
B.向前搜索符集合
C.分析表
D.分析函数
答案A,B
2.循环优化的重要技术有()。
A.代码外提
B.删除归纳变量
C.强度削弱
D.局部优化
答案A,B,C
3.运行时的存储区常常划分为:
()
A.目标区
B.静态数据区
C.栈区
D.堆区
答案A,B,C,D
三、判断题
1.解释程序适用于COBOL和FORTRAN语言。
()
答案错误
2.在解释方式下,解释程序将按照源程序中语句的动态顺序,逐句地进行分析解释,并立即予以执行。
答案正确
3.如果一个数组所需要的存储空间的大小在编译时就已知道,则称此数组是动态数组。
答案错误
4.一个有限状态自动机中,有且仅有一个唯一的终态。
()
答案错误
5.递归下降法允许任一非终极符是直接左递归的。
()
答案正确
6.逆波兰记号是最简单的一种中间代码表示形式。
答案正确
7.
答案正确
8.编译程序与具体的机器有关,与具体的语言无关。
()
答案错误
9.LR法是自顶向下语法分析方法。
()
答案错误
10.若一个文法中存在某个句子,它有两个不同的最左(最右)推导,则这个文法是二义。
答案正确
11.动态数组的存储空间在编译时就可完全确定。
()
答案错误
12.可以将编译程序的几个不同阶段组织成为一遍,也可以把一个阶段分成若干遍完成。
答案正确
17春《编译原理》作业_2
一、单选题
1.词法分析器的输出结果是_____。
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
答案C
2.优化可生成_____的目标代码。
A.运行时间较短
B.占用存储空间较小
C.运行时间短但占用内存空间大
D.运行时间短且占用存储空间小
答案D
3.与编译系统相比,解释系统_____。
A.比较简单,可移植性好,执行速度快
B.比较复杂,可移植性好,执行速度快
C.比较简单,可移植性差,执行速度慢
D.比较简单,可移植性好,执行速度慢
答案D
4.一个上下文无关文法G包括四个组成部分,它们是:
一组非终结符号,一组终结符号,一个开始符号,以及一组_____。
A.句子
B.句型
C.单词
D.产生式
答案D
5.数组的内情向量中肯定不含有数组的_____的信息。
A.维数
B.类型
C.维上下界
D.各维的界差
答案A
6.语法分析器则可以发现源程序中的_____。
A.语义错误
B.语法和语义错误
C.错误并校正
D.语法错误
答案D
7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。
A.┐AB∨∧CD∨
B.A┐B∨CD∨∧
C.AB∨┐CD∨∧
D.A┐B∨∧CD∨
答案B
8.若文法G定义的语言是无限集,则文法必然是_____。
A.递归的
B.前后文无关的
C.二义性的
D.无二义性的
答案A
9.编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过_____这几步:
(1)编辑
(2)编译(3)连接(4)运行
A.
(1)
(2)(3)(4)
B.
(1)
(2)(3)
C.
(1)(3)
D.
(1)(4)
答案B
10.编译程序使用_____区别标识符的作用域。
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
答案B
二、多选题
1.数据空间的使用和管理方法分成()。
A.静态存储分配
B.栈式动态存储分配
C.堆式动态存储分配
D.局部存储分配
答案A,B,C
2.通常编译过程分成前端和后端,其中前端包括(),后端包括目标代码生成
A.语法分析
B.语义分析
C.中间代码生成
D.词法分析
答案A,B,C,D
3.
A.(A)
B.(B)
C.(C)
D.(D)
E.(E)
答案D,E
三、判断题
1.符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。
()
答案错误
2.优先分析法可以分成简单优先分析法和算符优先分析法。
答案正确
3.逆波兰法表示的表达式把运算对象放在运算符的后面。
()
答案错误
4.一个多遍的编译程序可以较之一遍的编译程序少占内存。
答案正确
5.计算机高级语言翻译成低级语言只有解释一种方式。
()
答案错误
6.
答案错误
7.
答案错误
8.编译程序是对高级语言程序的解释执行。
()
答案错误
9.在SLR
(1)分析法的名称中,S的含义是简单的。
()
答案正确
10.一个确定有穷自动机有且只有一个终态。
()
答案错误
11.全局优化是在整个程序范围内进行的优化。
答案正确
12.有两类重要的局部等价可用于基本块,它们是保结构的变换和代数变换。
答案正确
17春《编译原理》作业_3
一、单选题
1.一个句型中的最左_____称为该句型的句柄。
A.短语
B.简单短语
C.素短语
D.终结符号
答案B
2._____是两类程序语言处理程序。
A.高级语言程序和低级语言程序
B.解释程序和编译程序
C.编译程序和操作系统
D.系统程序和应用程序
答案B
3.()是把中间代码进行变换或者进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
答案D
4.词法分析器用于识别_____。
A.字符串
B.语句
C.单词
D.标识符
答案C
5.若一个文法是递归的,则它所产生的语言的句子_____。
A.是无穷多个
B.是有穷多个
C.是可枚举的
D.个数是常量
答案A
6.下面关于解释程序的描述正确的是_____。
(1)解释程序的特点是处理程序时不产生目标代码
(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的
A.
(1)
(2)
B.
(1)
C.
(1)
(2)(3)
D.
(2)(3)
答案B
7.一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,目标代码生成等五个部分,还应包括符号表处理和出错处理。
A.语法分析
B.文法分析
C.语言分析
D.解释分析
答案A
8.文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是
A.L(G[N])={bi│i≥0}
B.L(G[N])={b2i│i≥0}
C.L(G[N])={b2i+1│i≥0}
D.L(G[N])={b2i+1│i≥1}
答案C
9.()是在词法分析的基础上将单词序列分解成各类语法短语。
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
答案A
10.审查每个算符是否具有语言规范允许的运算对象是()的工作。
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
答案B
二、多选题
1.一个LR分析器由()组成。
A.驱动程序
B.分析函数
C.分析栈
D.向前搜索符集合
答案A,B,C
2.在编译过程中,语法分析器的任务是()。
A.分析单词是怎样构成的
B.分析单词串是如何构成语句和说明的
C.分析语句和说明是如何构成程序的
D.分析程序的结构
答案B,C,D
3.四元式是一种比较普遍采用的中间代码形式,它的四个组成成分是()。
A.算法op
B.第一运算对象ARG1
C.第二运算对象ARG2
D.运算结果RESULT
答案A,B,C,D
三、判断题
1.正则文法其产生式为A->a,A->Bb,A,B∈VN,a、b∈VT。
()
答案错误
2.一个数组是由同一类型数据所组成的某种n维矩形结构。
答案正确
3.
答案正确
4.程序设计语言中的布尔表达式只有一个作用,即用做改变控制流语句中的表达式。
答案错误
5.语法分析时必须先消除文法中的左递归。
()
答案错误
6.词法分析程序的功能是读入源程序,输出单词符号。
答案正确
7.产生式是用于定义词法成分的一种书写规则。
()
答案错误
8.DFA可以通过多条路径识别一个符号串。
()
答案错误
9.在编译方式下执行源程序,易于查错,在程序执行中可以修改程序,但执行效率低。
答案错误
10.衡量目标代码的质量主要从占用空间和执行效率两个方面综合考虑。
答案正确
11.目标代码的优化是在目标代码生成以后进行的。
答案正确
12.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。
答案错误
17春《编译原理》作业_4
一、单选题
1.在LR分析法中,分析栈中存放的状态是识别规范句型_____的DFA状态。
A.句柄
B.前缀
C.活前缀
D.LR(0)项目
答案C
2.中间代码生成时所依据的是_____。
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
答案C
3.汇编程序是将汇编语言程序翻译成()。
A.高级语言程序
B.机器语言程序
C.汇编语言程序
D.汇编语言或机器语言程序
答案B
4.编译过程中,语法分析器的任务就是_____。
(1)分析单词是怎样构成的
(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4)分析程序的结构
A.
(2)(3)
B.
(2)(3)(4)
C.
(1)
(2)(3)
D.
(1)
(2)(3)(4)
答案B
5.编译程序绝大多数时间花在_____上。
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
答案D
6.编译程序是将高级语言程序翻译成()。
A.高级语言程序
B.机器语言程序
C.汇编语言程序
D.汇编语言或机器语言程序
答案D
7._____是一种典型的解释型语言。
A.BASIC
B.C
C.FORTRAN
D.PASCAL
答案A
8.
A.(A)
B.(B)
C.(C)
D.(D)
答案C
9.文法分为四种类型,即0型、1型、2型、3型。
其中2型文法是_____。
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
答案D
10.编译程序是一种_____。
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
答案C
二、多选题
1.语言程序的测试工具有()
A.静态分析器
B.动态测试器
C.调试工具
D.格式化工具
答案A,B
2.编译程序从逻辑结构上,一般由()组成,此外编译程序还包括表格处理程序、出错处理程序。
A.词法分析程序
B.语法分析程序
C.语义分析程序
D.中间代码生成程序
E.代码优化程序
F.目标代码生成程序
答案A,B,C,D,E,F
3.一个控制流程图可以表示成一个组,它包括()。
A.图中所有结点集
B.图中所有有向边集
C.首结点
D.堆区
答案A,B,C
三、判断题
1.
答案正确
2.
答案正确
3.优化使得运行速度加快或者占用存储空间减少,或者两者都有。
答案正确
4.
答案正确
5.决定目标代码的因素主要取决于具体的机器结构、指令格式、字长及寄存器的个数和种类,并与指令的语义和所用操作系统、存储管理等都密切相关。
答案正确
6.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。
()
答案错误
7.编译程序究竟分成几遍,参考的因素主要是源语言和机器(目标)的特征。
答案正确
8.词法分析和语法分析本质上都是对源程序的结构进行分析。
答案正确
9.所有的编译程序都要进行优化阶段。
答案错误
10.仅考虑一个基本块,不能确定一个赋值是否真是无用的。
()
答案正确
11.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。
()
答案错误
12.一个正规语言可以由正规文法定义,也可以由正规式定义。
答案正确