北航13秋《编译技术》在线作业答案
北航13秋《编译技术》在线作业一试卷总分:100 测试时间:--
一、单选题(共14道试题,共56分。)
1.下面的优化项目中,不属于循环优化的是( )。
A. 不变运算外提
B. 削弱运算强度
C. 消除归纳变量
D. 合并已知运算
满分:4分
2.LR(1)文法都是( )。
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
满分:4分
3.正则文法( )二义性的。
A. 可以是
B. 一定不是
C. 一定是
D. 可以不是
满分:4分
4.规范规约是( )。
A. 最左规约
B. 最右规约
C. 动态规约
D. 静态规约
满分:4分
5.编译程序中语法分析器接收以( )为单位的输入。
A. 单词
B. 表达式
C. 产生式
D. 句子
满分:4分
6.有限自动机有()个接受状态
A. 只能一个
B. 只能两个
C. 只能三个
D. 0个、一个或多个
满分:4分
7.高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。
A. 自左至右
B. 自上而下
C. 自下而上
D. 自右向左
满分:4分
8.编译器与要编译的源程序的接口阶段是( )。
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成器
满分:4分
9.类型转换时,整数到实数的转换称为( )。
A. 截断
B. 舍入
C. 拓展
D. 收缩
满分:4分
10.描述一个语言的文法是( )。
A. 唯一的
B. 不唯一的
C. 可能唯一
D. 可能不唯一
满分:4分
11.下面哪个文法是右递归的()
A. A E→TE|T
B. T→aT
C. E→(E)
D. E→a
满分:4分
12.Chomsky 定义的四种形式语言文法中, 3 型文法又称为( )文法。
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
满分:4分
13.已知文法:S→aAa|aBb|bAb|bBaA→x B→x ,则( )。
A. LR(1)文法
B. LALR(1)文法
C. 都不是
D. A和B
满分:4分
14.代码生成属于编译器的()
A. 语义分析
B. 分析
C. 代码生成
D. 综合
满分:4分
二、多选题(共4道试题,共16分。)
1.以下属于计算机存储器的是( )。
A. 寄存器区域
B. 随机访问存储器
C. 代码区
D. 数据区
满分:4分
2.关于堆式分配,下面说法正确地是( )。
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 适用于允许为变量动态申请内存空间的语言
满分:4分
3.下面哪些语言特征会影响存储分配策略?()
A. 过程能否递归
B. 当控制从过程的活动返回时,局部变量的值是否要保留
C. 过程能否访问非局部变量
D. 过程调用的参数传递方式
满分:4分
4.栈式分配策略在下列哪些情况下行不通?()
A. 过程活动停止后,局部名字的值还必须维持
B. 被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流
C. 不遵守栈式规则的有Pascal语言和C语言的动态变量
D. Java禁止程序员自己释放空间
满分:4分
三、判断题(共7道试题,共28分。)
1.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。 ( )
A. 错误
B. 正确
满分:4分
2.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )
A. 错误
B. 正确
满分:4分
3.优先关系表对应的优先函数,如果存在,一定唯一。 ( )
A. 错误
B. 正确
满分:4分
4.对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。( )
A. 错误
B. 正确
满分:4分
5.算符优先分析法采用"移近-归约"技术,其归约过程是规范的。( )
A. 错误
B. 正确
满分:4分
6.我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。 ( )
A. 错误
B. 正确
满分:4分
7.算符优先关系表不一定存在对应的优先函数。 ( )
北航13秋《编译技术》在线作业二
试卷总分:100 测试时间:--
一、单选题(共14道试题,共56分。)
1.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为( )文法。
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
满分:4分
2.LR(1)文法都是( )。
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
满分:4分
3.简单优先分析每次规约的是( )。
A. 最左短语
B. 直接短语
C. 句柄
D. 最左素短语
满分:4分
4.把一个高级语言程序翻译成机器可执行的目标程序的工作由( )完成。
A. 汇编程序
B. 解释程序
C. 编译程序
D. 预处理程序
满分:4分
5.目标代码生成属于编译器的( )阶段。
A. 词法分析
B. 语法分析
C. 分析
D. 综合
满分:4分
6.在自下而上的语法分析方法中,分析的关键是( )。
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
满分:4分
7.描述一个语言的文法是( )。
A. 唯一的
B. 不唯一的
C. 可能唯一
D. 可能不唯一
满分:4分
8.词法分析器的输出是( )。
A. 字符串
B. 二元式
C. 三元式
D. 四元式
满分:4分
9.( )负责分析程序语法结构。
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成程序
满分:4分
10.下面哪个文法是左递归的( )。
A. E→E+T|T
B. T→F*T
C. E→(E)
D. E→a
满分:4分
11.若一个文法是递归的,则它所产生的句子个数( )。
A. 必定是无穷的
B. 是有限个的
C. 根据具体情况而定
D. 不确定
满分:4分
12.Chomsky 定义的四种形式语言文法中,1 型文法又称为( )文法。
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
满分:4分
13.词法扫描程序把源代码生成为( )。
A. 记号流
B. 语法树
C. 词法树
D. 目标代码
满分:4分
14.算符优先分析每次规约的是( )。
A. 最左短语
B. 直接短语
C. 句柄
D. 最左素短语
满分:4分
二、多选题(共4道试题,共16分。)
1.关于栈式分配,下面说法正确地是( )。
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 不适用于可递归调用语言
满分:4分
2.下面语言特征会影响存储分配策略的是( )。
A. 过程能否递归
B. 当控制从过程的活动返回时,局部变量的值是否要保留
C. 过程能否访问非局部变量
D. 过程调用的参数传递方式
满分:4分
3.编译器中常用的文法分析有( )。
A. 自上而下分析算法
B. 自下而上分析算法
C. Earley算法
D. Cocke-Younger-Kassimi算法
满分:4分
4.在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt → s 哪些是终结符号( )
A. stmt-sequence
B. stmt
C. s
D. ;
满分:4分
三、判断题(共7道试题,共28分。)
1.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )
A. 错误
B. 正确
满分:4分
2.编译器通常包括许多代码改进或优化步骤。( )
A. 错误
B. 正确
满分:4分
3.文法的二义性和语言的二义性是两个不同的概念。( )
A. 错误
B. 正确
满分:4分
4.算符优先关系表不一定存在对应的优先函数。 ( )
A. 错误
B. 正确
满分:4分
5.上下文无关文法也叫正规文法。 ( )
A. 错误
B. 正确
满分:4分
6.逆波兰法表示的表达式亦称前缀式。 ( )
A. 错误
B. 正确
满分:4分
7.文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。 ( )
北航13秋《编译技术》在线作业三
试卷总分:100 测试时间:--
一、单选题(共14道试题,共56分。)
1.一个文法所描述的语言是( )。
A. 唯一的
B. 不唯一的
C. 可能唯一
D. 可能不唯一
满分:4分
2.语法分析程序输出( )。
A. 记号系列
B. 分析树或语法树
C. 中间代码
D. 目标代码
满分:4分
3.在下述的编译方法中,自顶向下的分析方法有( )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(k)分析 ⑦ LL(k)分析 ⑧LALR(K)分析
A. ③④⑦
B. ③④⑧
C. ①②⑤⑥⑦
D. ①②⑤⑥⑧
满分:4分
4.词法扫描程序把源代码生成为( )。
A. 记号流
B. 语法树
C. 词法树
D. 目标代码
满分:4分
5.正规式(a|b)*表示的是( )。
A. 所有由字母a或b构成的串
B. 字符串a|b
C. 字符串(a|b)*
D. 空串
满分:4分
6.( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。
A. 符号表
B. 代码表
C. 源程序
D. 出错表
满分:4分
7.编译器与要编译的源程序的接口阶段是( )。
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成器
满分:4分
8.文法G的一棵语法树叶结点的自左至右排列是G的一个( )。
A. 短语
B. 句型
C. 句柄
D. 素短语
满分:4分
9.若文法G定义的语言是无限集,则文法必然是( )。
A. 上下文无关文法
B. 正规文法
C. 二义性文法
D. 递归文法
满分:4分
10.( )阶段检查程序的语义正确性,以保证程序各部分能有意义地结合在一起,并为以后的代码生成阶段收集类型信息。
A. 语法分析
B. 词法分析
C. 语义分析
D. 中间代码生成
满分:4分
11.最适合动态建立数据实体的内存分配方式是( )。
A. 栈式分配
B. 堆式分配
C. 编译时预先分配
D. 以上三种均可
满分:4分
12.语法分析属于编译器的( )阶段。
A. 词法分析
B. 语法分析
C. 分析
D. 综合
满分:4分
13.文法 G 产生的( )的全体是该文法描述的语言。
A. 句型
B. 终结符集
C. 非终结符集
D. 句子
满分:4分
14.有文法G=({S},{a},{S→SaS,S→e},S),该文法是( )。
A. LL(1)文法
B. 二义性文法
C. 算符优先文法
D. SLR(1)文法
满分:4分
二、多选题(共4道试题,共16分。)
1.关于堆式分配,下面说法正确地是( )。
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 适用于允许为变量动态申请内存空间的语言
满分:4分
2.代码优化时,常见的循环优化包括( )。
A. 代码外提
B. 归纳变量删除
C. 强度削弱
D. 常量合并
满分:4分
3.编译器中常用的文法分析有( )。
A. 自上而下分析算法
B. 自下而上分析算法
C. Earley算法
D. Cocke-Younger-Kassimi算法
满分:4分
4.关于栈式分配,下面说法正确地是( )。
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 不适用于可递归调用语言
满分:4分
三、判断题(共7道试题,共28分。)
1.文法G的一个句子对应于多个推导,则G是二义的。( )
A. 错误
B. 正确
满分:4分
2.算符优先关系表不一定存在对应的优先函数。 ( )
A. 错误
B. 正确
满分:4分
3.编译器是将一种语言翻译为另一种语言的计算机程序。( )
A. 错误
B. 正确
满分:4分
4.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。( )
A. 错误
B. 正确
满分:4分
5.有限自动机能够识别上下文无关语言。 ( )
A. 错误
B. 正确
满分:4分
6.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ( )
A. 错误
B. 正确
满分:4分
7.对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。( )
A. 错误
B. 正确
满分:4分
页:
[1]