北航17秋《编译技术》在线作业123
北航《编译技术》在线作业一一、单选题:【14道,总分:56分】
1.赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是 ( )。 (满分:4)
A. Xab+cd-/-bc*a+-:= B. Xab+/cd--bc*a+--:=
C. Xab+-cd-/abc*+-:= D. Xab+cd-/abc*+--:=
2.有限自动机有( )个接受状态 (满分:4)
A. 只能一个 B. 只能两个
C. 只能三个 D. 0个、一个或多个
3.在自下而上的语法分析方法中,分析的关键是( )。 (满分:4)
A. 寻找句柄
B. 寻找句型
C. 消除递归
D. 选择候选式
4.规范规约是( )。 (满分:4)
A. 最左规约
B. 最右规约
C. 动态规约
D. 静态规约
5.下面哪个文法是右递归的( ) (满分:4)
A. A E→TE|T
B. T→aT
C. E→(E)
D. E→a
6.类型转换时,整数到实数的转换称为( )。 (满分:4)
A. 截断
B. 舍入
C. 拓展
D. 收缩
7.下面的优化项目中,不属于循环优化的是( )。 (满分:4)
A. 不变运算外提
B. 削弱运算强度
C. 消除归纳变量
D. 合并已知运算
8.下面哪个文法是左递归的( )。 (满分:4)
A. E→E+T|T
B. T→F*T
C. E→(E)
D. E→a
9.在编译时安排所有数据对象的存储单元的分配策略属于( )。 (满分:4)
A. 静态分配策略
B. 动态分配策略
C. 栈式分配策略
D. 堆分配策略
10.( )负责分析程序语法结构 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成程序
11.编译程序中语法分析器接收以( )为单位的输入。 (满分:4)
A. 单词
B. 表达式
C. 产生式
D. 句子
12.若一个文法是递归的,则它所产生的句子个数( )。 (满分:4)
A. 必定是无穷的
B. 是有限个的
C. 根据具体情况而定
D. 不确定
13.在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。 (满分:4)
A. 句柄
B. 前缀
C. 活前缀
D. LR(0)项目
14.语法分析属于编译器的( )阶段。 (满分:4)
A. 词法分析
B. 语法分析
C. 分析
D. 综合
二、多选题:【4道,总分:16分】
1.在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt → s 下面哪些是可以由该文法推导出的句型?( ) (满分:4)
A. stmt; stmt-sequence
B. s
C. s;s
D. s;s;stmt
2.关于栈式分配,下面说法正确地是( )。 (满分:4)
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 不适用于可递归调用语言
3.下面属于静态检查的是( )。 (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
4.下面哪些语言特征会影响存储分配策略?( ) (满分:4)
A. 过程能否递归
B. 当控制从过程的活动返回时,局部变量的值是否要保留
C. 过程能否访问非局部变量
D. 过程调用的参数传递方式
三、判断题:【7道,总分:28分】
1.优先关系表对应的优先函数,如果存在,一定唯一。 ( ) (满分:4)
A. 错误
B. 正确
2.符号表管理和出错管理是编译过程中的两项重要工作。( ) (满分:4)
A. 错误
B. 正确
3.文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。 ( ) (满分:4)
A. 错误
B. 正确
4.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ( ) (满分:4)
A. 错误
B. 正确
5.每个文法的综合符合集和集成属性集的交应该为空。 ( ) (满分:4)
A. 错误
B. 正确
6.把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。 ( ) (满分:4)
A. 错误
B. 正确
7.解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。( ) (满分:4)
A. 错误
B. 正确
北航《编译技术》在线作业三
一、单选题:【14道,总分:56分】
1.文法 G 产生的( )的全体是该文法描述的语言。 (满分:4)
A. 句型
B. 终结符集
C. 非终结符集
D. 句子
2.如果r、s是正规式,则下面( )不一定是正规式。 (满分:4)
A. rs
B. r|s
C. r*
D. r+s
3.在编译时安排所有数据对象的存储单元的分配策略属于( )。 (满分:4)
A. 静态分配策略
B. 动态分配策略
C. 栈式分配策略
D. 堆分配策略
4.编译器与要编译的源程序的接口阶段是( )。 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成器
5.最适合动态建立数据实体的内存分配方式是( )。 (满分:4)
A. 栈式分配
B. 堆式分配
C. 编译时预先分配
D. 以上三种均可
6.文法 E→(E)产生的语言是( )。 (满分:4)
A. 空集
B.( )
C. (E)
D.((((E))))
7.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是( )。 (满分:4)
A. 非终极符集
B. 终极符集
C. 字母表
D. 状态集
8.高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。 (满分:4)
A. 自左至右
B. 自上而下
C. 自下而上
D. 自右向左
9.下面哪个文法是右递归的( ) (满分:4)
A. A E→TE|T
B. T→aT
C. E→(E)
D. E→a
10.赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是 ( )。 (满分:4)
A. Xab+cd-/-bc*a+-:=
B. Xab+/cd--bc*a+--:=
C. Xab+-cd-/abc*+-:=
D. Xab+cd-/abc*+--:=
11.下面哪个文法是左递归的( )。 (满分:4)
A. E→E+T|T
B. T→F*T
C. E→(E)
D. E→a
12.LR(1)文法都是( )。 (满分:4)
A. 无二义性且无左递归
B. 可能有二义性但无左递归
C. 无二义性但可能是左递归
D. 可以既有二义性又有左递归
13.( )负责分析程序语法结构。 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成程序
14.代码生成属于编译器的( ) (满分:4)
A. 语义分析
B. 分析
C. 代码生成
D. 综合
二、多选题:【4道,总分:16分】
1.栈式分配策略在( )情况下行不通。 (满分:4)
A. 过程活动停止后,局部名字的值还必须维持
B. 被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流
C. 不遵守栈式规则的有Pascal语言和C语言的动态变量
D. Java禁止程序员自己释放空间
2.下面哪些属于静态检查?( ) (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
3.( )三个阶段合称为对源程序进行综合,它们从源程序的中间表示建立起和源程序等价的目标程序。 (满分:4)
A. 中间代码生成
B. 代码优化
C. 代码生成
D. 代码删除
4.在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt stmt → s 下面哪些是可以由该文法推导出的句型?( ) (满分:4)
A. stmt; stmt-sequence
B. s
C. s;s
D. s;s;stmt
三、判断题:【7道,总分:28分】
1.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。 ( ) (满分:4)
A. 错误
B. 正确
2.文法的二义性和语言的二义性是两个不同的概念。( ) (满分:4)
A. 错误
B. 正确
3.解释程序是在翻译完成之后生成目标代码,然后执行目标代码。( ) (满分:4)
A. 错误
B. 正确
4.优先关系表对应的优先函数,如果存在,一定唯一。 ( ) (满分:4)
A. 错误
B. 正确
5.每个文法的综合符合集和集成属性集的交应该为空。 ( ) (满分:4)
A. 错误
B. 正确
6.解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。( ) (满分:4)
A. 错误
B. 正确
7.算符优先分析法只能识别由算符优先文法描述的句子。( ) (满分:4)
A. 错误
B. 正确
北航《编译技术》在线作业二
一、单选题:【14道,总分:56分】
1.Chomsky 定义的四种形式语言文法中, 3 型文法又称为( )文法。 (满分:4)
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
2.简单优先分析每次规约的是( )。 (满分:4)
A. 最左短语
B. 直接短语
C. 句柄
D. 最左素短语
3.下面的优化项目中,不属于循环优化的是( )。 (满分:4)
A. 不变运算外提
B. 削弱运算强度
C. 消除归纳变量
D. 合并已知运算
4.已知文法:S→aAa|aBb|bAb|bBaA→x B→x ,则( )。 (满分:4)
A. LR(1)文法
B. LALR(1)文法
C. 都不是
D. A和B
5.( )是为每个标识符保存一个记录的数据结构,记录的域是标识符的属性。 (满分:4)
A. 符号表
B. 代码表
C. 源程序
D. 出错表
6.词法扫描程序把源代码生成为( )。 (满分:4)
A. 记号流
B. 语法树
C. 词法树
D. 目标代码
7.有文法G=({S},{a},{S→SaS,S→e},S),该文法是( )。 (满分:4)
A. LL(1)文法
B. 二义性文法
C. 算符优先文法
D. SLR(1)文法
8.在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。 (满分:4)
A. 句柄
B. 前缀
C. 活前缀
D. LR(0)项目
9.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为( )文法。 (满分:4)
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
10.文法 G 产生的( )的全体是该文法描述的语言。 (满分:4)
A. 句型
B. 终结符集
C. 非终结符集
D. 句子
11.最适合动态建立数据实体的内存分配方式是( )。 (满分:4)
A. 栈式分配
B. 堆式分配
C. 编译时预先分配
D. 以上三种均可
12.( )负责分析程序语法结构 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成程序
13.词法分析器的输出是( )。 (满分:4)
A. 字符串
B. 二元式
C. 三元式
D. 四元式
14.( )的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号。 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 源代码优化程序
二、多选题:【4道,总分:16分】
1.文法符号的语义属性有( )。 (满分:4)
A. 综合属性
B. 继承属性
C. 符号属性
D. 数字属性
2.下面哪些属于静态检查?( ) (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
3.以下哪些属于计算机存储器( ) (满分:4)
A. 寄存器区域
B. 随机访问存储器
C. 代码区
D. 数据区
4.在目标代码优化阶段,常见的优化有( )。 (满分:4)
A. 选择编址模式以提高性能
B. 将速度慢的指令更换成速度快的
C. 删除注释
D. 删除多余的操作
三、判断题:【7道,总分:28分】
1.LL(1)分析必须对原有文法提取左因子和消除左递归。( ) (满分:4)
A. 错误
B. 正确
2.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。( ) (满分:4)
A. 错误
B. 正确
3.解释程序是在翻译完成之后生成目标代码,然后执行目标代码。( ) (满分:4)
A. 错误
B. 正确
4.优先关系表对应的优先函数,如果存在,一定唯一。 ( ) (满分:4)
A. 错误
B. 正确
5.一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。 ( ) (满分:4)
A. 错误
B. 正确
6.解释程序与编译程序的不同指出在于:它立即执行源程序而不是生成在翻译完成之后才执行的目标代码。( ) (满分:4)
A. 错误
B. 正确
7.每个文法都能改写为LL(1)文法。 ( ) (满分:4)
A. 错误
B. 正确
页:
[1]