北语 19秋《编译原理》作业1234.docx
《北语 19秋《编译原理》作业1234.docx》由会员分享,可在线阅读,更多相关《北语 19秋《编译原理》作业1234.docx(14页珍藏版)》请在冰豆网上搜索。
北语19秋《编译原理》作业1234
19秋《编译原理》作业_1
一、单选题(每题4分,共15道小题,总分值60分)
1.若一个文法是递归的,则它所产生的语言的句子_____。
(4分)
A.是无穷多个
B.是有穷多个
C.是可枚举的
D.个数是常量
答:
A(131)(9666)(2906)
2.设G是一个给定的文法,S是文法的开始符号,如果S->x(其中x∈V*),则称x是文法G的一个_____。
(4分)
A.候选式
B.句型
C.单词
D.产生式
答:
B
3.在自底向上的语法分析方法中,分析的关键是_____。
(4分)
A.寻找句柄
B.寻找句型
C.消除递归
D.选择候选式
答:
D
4.一个上下文无关文法G包括四个组成部分,它们是:
一组_____,一组终结符号,一个开始符号,以及一组产生式。
(4分)
A.句子
B.句型
C.单词
D.非终结符号
答:
D
5.文法分为四种类型,即0型、1型、2型、3型。
其中2型文法是_____。
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
答:
D
6.文法G:
S→xSx|y所识别的语言是_____。
(4分)
A.xyx
B.(xyx)*
C.xnyxn(n≥0)
D.x*yx*
答:
C
7.
扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即()。
A.字符
B.单词
C.句子
D.句型
答:
B
8.一个句型中的最左_____称为该句型的句柄。
(4分)
A.短语
B.简单短语
C.素短语
D.终结符号
答:
B
9.()是在词法分析的基础上将单词序列分解成各类语法短语。
(4分)
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
答:
A
10.常用的中间代码形式不含()(4分)
A.三元式
B.四元式
C.逆波兰式
D.语法树
答:
D
11.编译过程中,语法分析器的任务就是_____。
(1)分析单词是怎样构成的
(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是如何构成程序的(4)分析程序的结构(4分)
A.
(2)(3)
B.
(2)(3)(4)
C.
(1)
(2)(3)
D.
(1)
(2)(3)(4)
12.编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过_____这几步:
(1)编辑
(2)编译(3)连接(4)运行(4分)
A.
(1)
(2)(3)(4)
B.
(1)
(2)(3)
C.
(1)(3)
D.
(1)(4)
13.与编译系统相比,解释系统_____。
(4分)
A.比较简单,可移植性好,执行速度快
B.比较复杂,可移植性好,执行速度快
C.比较简单,可移植性差,执行速度慢
D.比较简单,可移植性好,执行速度慢
14.四种形式语言文法中,1型文法又称为_____文法。
(4分)
A.短语结构文法
B.前后文无关文法
C.前后文有关文法
D.正规文法
15.代码生成阶段的主要任务是()(4分)
A.把高级语言翻译成汇编语言
B.把高级语言翻译成机器语言
C.把中间代码变换成依赖具体机器的目标代码
D.把汇编语言翻译成机器语言
二、判断题(每题4分,共10道小题,总分值40分)
1.一个文法所有句子的集合构成该文法定义的语言。
()(4分)
答:
正确
2.过程调用的实质是把程序控制转移到子程序(过程段)。
(4分)
答:
正确
3.一个正规语言可以由正规文法定义,也可以由正规式定义。
(4分)
答:
正确
4.有两类重要的局部等价可用于基本块,它们是保结构的变换和代数变换。
答:
正确
5.算符优先关系表不一定存在对应的优先函数。
()(4分)
6.数组元素的地址计算与数组的存储方式有关。
()(4分)
7.(4分)
8.所谓循环就是程序中那些可能反复执行的代码序列。
(4分)
9.动态数组的存储空间在编译时就可完全确定。
()(4分)
10.所谓基本块是指程序中一个顺序执行的语句序列,其中只有一个入口语句和一个出口语句。
(4分)
19秋《编译原理》作业_2
一、单选题(每题4分,共15道小题,总分值60分)
1.若项目集Ik含有A->α•,则在状态k时,仅当面临的输入符号a∈FOLLOW(A)时,才采取“A->α•”动作的一定是_____。
(4分)
A.LALR文法
B.LR(0)文法
C.LR
(1)文法
D.SLR
(1)文法
2.编译程序是一种_____。
(4分)
A.汇编程序
B.翻译程序
C.解释程序
D.目标程序
3.若文法G定义的语言是无限集,则文法必然是_____。
(4分)
A.递归的
B.前后文无关的
C.二义性的
D.无二义性的
4.一个上下文无关文法G包括四个组成部分,它们是:
一组非终结符号,一组终结符号,一个开始符号,以及一组_____。
(4分)
A.句子
B.句型
C.单词
D.产生式
5.中间代码生成时所依据的是_____。
(4分)
A.语法规则
B.词法规则
C.语义规则
D.等价变换规则
6.一个文法所描述的语言是_____。
(4分)
A.唯一的
B.不唯一的
C.可能唯一,好可能不唯一
D.都不对
7.文法分为四种类型,即0型、1型、2型、3型。
其中0型文法是_____。
(4分)
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
8.文法G所描述的语言是_____的集合。
(4分)
A.文法G的字母表V中所有符号组成的符号串
B.文法G的字母表V的闭包V*中的所有符号串
C.由文法的开始符号推出的所有终结符串
D.由文法的开始符号推出的所有符号串
9.文法G[N]=({b},{N,B},N,{N→b│bB,B→bN}),该文法所描述的语言是(4分)
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}
10.编译程序是将高级语言程序翻译成()。
(4分)
A.高级语言程序
B.机器语言程序
C.汇编语言程序
D.汇编语言或机器语言程序
11.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_____。
(4分)
A.模拟执行器
B.解释器
C.符号表处理和出错处理
D.符号执行器
12.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是_____。
(4分)
A.非终极符集
B.终极符集
C.字母表
D.状态集
13.审查每个算符是否具有语言规范允许的运算对象是()的工作。
(4分)
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
14.四元式之间的联系是通过_____实现的。
(4分)
A.指示器
B.临时变量
C.符号表
D.程序变量
15.一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,目标代码生成等五个部分,还应包括符号表处理和出错处理。
(4分)
A.语法分析
B.文法分析
C.语言分析
D.解释分析
二、判断题(每题4分,共10道小题,总分值40分)
1.当一个过程调用其他过程时,调用过程和被调用过程之间的通信只能由非局部变量传递。
(4分)
2.衡量目标代码的质量主要从占用空间和执行效率两个方面综合考虑。
(4分)
3.词法分析和语法分析本质上都是对源程序的结构进行分析。
(4分)
4.(4分)
5.(4分)
6.(4分)
7.(4分)
8.动态存储分配方式只有栈式。
(4分)
9.所谓数据空间的分配,本质上看,是将程序中的每个名字与一个存储位置关联起来,该存储位置用以容纳名字的值。
(4分)
10.(4分)
19秋《编译原理》作业_3
一、单选题(每题4分,共15道小题,总分值60分)
1.将编译程序分成若干个"遍"是为了()。
(4分)
A.提高程序的执行效率
B.使程序的结构更加清晰
C.利用有限的机器内存并提高机器的执行效率
D.利用有限的机器内存但降低了机器的执行效率
2.下面关于解释程序的描述正确的是_____。
(1)解释程序的特点是处理程序时不产生目标代码
(2)解释程序适用于COBOL和FORTRAN语言(3)解释程序是为打开编译程序技术的僵局而开发的(4分)
A.
(1)
(2)
B.
(1)
C.
(1)
(2)(3)
D.
(2)(3)
3.词法分析器用于识别_____。
(4分)
A.字符串
B.语句
C.单词
D.标识符
4.用高级语言编写的程序经编译后产生的程序叫_____。
(4分)
A.源程序
B.目标程序
C.连接程序
D.解释程序
5.词法分析器的输出结果是_____。
(4分)
A.单词的种别编码
B.单词在符号表中的位置
C.单词的种别编码和自身值
D.单词自身值
6.下列______优化方法不是针对循环优化进行的。
(4分)
A.强度削弱
B.删除归纳变量
C.删除多余运算
D.代码外提
7.文法分为四种类型,即0型、1型、2型、3型。
其中3型文法是_____。
(4分)
A.短语文法
B.正则文法
C.上下文有关文法
D.上下文无关文法
8.汇编程序是将汇编语言程序翻译成()。
(4分)
A.高级语言程序
B.机器语言程序
C.汇编语言程序
D.汇编语言或机器语言程序
9.编译程序使用_____区别标识符的作用域。
(4分)
A.说明标识符的过程或函数名
B.说明标识符的过程或函数的静态层次
C.说明标识符的过程或函数的动态层次
D.标识符的行号
10.编译程序前三个阶段完成的工作是()。
(4分)
A.词法分析、语法分析和代码优化
B.代码生成、代码优化和词法分析
C.词法分析、语法分析、语义分析和中间代码生成
D.词法分析、语法分析和代码优化
11._____是一种典型的解释型语言。
(4分)
A.BASIC
B.C
C.FORTRAN
D.PASCAL
12.在LR分析法中,分析栈中存放的状态是识别规范句型_____的DFA状态。
(4分)
A.句柄
B.前缀
C.活前缀
D.LR(0)项目
13.表达式(┐A∨B)∧(C∨D)的逆波兰表示为_____。
(4分)
A.┐AB∨∧CD∨
B.A┐B∨CD∨∧
C.AB∨┐CD∨∧
D.A┐B∨∧CD∨
14._____是两类程序语言处理程序。
(4分)
A.高级语言程序和低级语言程序
B.解释程序和编译程序
C.编译程序和操作系统
D.系统程序和应用程序
15.数组的内情向量中肯定不含有数组的_____的信息。
(4分)
A.维数
B.类型
C.维上下界
D.各维的界差
二、判断题(每题4分,共10道小题,总分值40分)
1.根据优化所涉及的程序范围,可分成局部优化,全局优化2个不同的级别。
(4分)
2.每个文法都能改写为LL
(1)文法。
()(4分)
3.一个LR分析器由3个部分组成,其中分析表或分析函数,也可以称为驱动程序。
(4分)
4.优化使得运行速度加快或者占用存储空间减少,或者两者都有。
(4分)
5.出口语句是一种结构化的方式跳出循环而设置的语句,它的作用是引起外层循环的终止。
(4分)
6.所谓依赖图是一个无向图,用于描述分析树中的属性和属性间的相互依赖关系。
(4分)
7.编译程序与具体的机器有关,与具体的语言无关。
()(4分)
8.强度削弱的思想是把强度大的运算换算成强度小的运算。
(4分)
9.当参数通过引用传递时,也称作传地址,或者引用调用。
(4分)
10.(4分)
19秋《编译原理》作业_4
一、单选题(每题4分,共15道小题,总分值60分)
1.构造编译程序应掌握______。
(4分)
A.源程序
B.目标语言
C.编译方法
D.以上三项都是
2.文法G产生的_____的全体是该文法描述的语言。
(4分)
A.句型
B.终结符集
C.非终结符集
D.句子
3.解释程序处理语言时,大多数采用的是_____方法。
(4分)
A.源程序命令被逐个直接解释执行
B.先将源程序转化为中间代码,再解释执行
C.先将源程序解释转化为目标程序,再执行
D.以上方法都可以
4.正规式MI和M2等价是指_____。
(4分)
A.MI和M2的状态数相等
B.Ml和M2的有向弧条数相等
C.M1和M2所识别的语言集相等
D.Ml和M2状态数和有向弧条数相等
5.(4分)
A.(A)
B.(B)
C.(C)
D.(D)
6.把汇编语言程序翻译成机器可执行的目标程序的工作是由_____完成的。
(4分)
A.编译器
B.汇编器
C.解释器
D.预处理器
7.()是把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码。
(4分)
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
8.优化可生成_____的目标代码。
(4分)
A.运行时间较短
B.占用存储空间较小
C.运行时间短但占用内存空间大
D.运行时间短且占用存储空间小
9.一个句型中称为句柄的是该句型的最左()(4分)
A.非终结符号
B.短语
C.句子
D.直接短语
10.如果文法G是无二义的,则它的任何句子α_____。
(4分)
A.最左推导和最右推导对应的语法树必定相同
B.最左推导和最右推导对应的语法树可能不同
C.最左推导和最右推导必定相同
D.可能存在两个不同的最左推导,但它们对应的语法树相同
11.()是把中间代码进行变换或者进行改造,目的是使生成的目标代码更为高效,即省时间和省空间。
(4分)
A.语法分析
B.语义分析
C.中间代码生成
D.代码优化
E.目标代码生成
12.代码优化时所依据的是()(4分)
A.语法规则
B.词法规则
C.等价变换规则
D.语义规则
13._____和代码优化部分不是每个编译程序都必需的。
(4分)
A.语法分析
B.中间代码生成
C.词法分析
D.目标代码生成
14.语法分析器则可以发现源程序中的_____。
(4分)
A.语义错误
B.语法和语义错误
C.错误并校正
D.语法错误
15.编译程序绝大多数时间花在_____上。
(4分)
A.出错处理
B.词法分析
C.目标代码生成
D.管理表格
二、判断题(每题4分,共10道小题,总分值40分)
1.(4分)
2.LR
(1)分析表构造的思想和方法是构造其他LR分析表的基础。
(4分)
3.解释程序的输入只包括源程序。
(4分)
4.编译和运行是两个独立分开的阶段。
(4分)
5.PL/0编译程序的语法分析采用了自顶向下的递归子程序法。
(4分)
6.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。
()(4分)
7.自底而上语法分析方法的主要问题是候选式的选择。
()(4分)
8.逆波兰表示法表示表达式时无需使用括号。
()(4分)
9.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。
()(4分)
10.循环优化是对循环中的代码进行的优化。
(4分)