北航17春《编译技术》在线作业一二三答案
北航《编译技术》在线作业一一、单选题:转载请注明无忧答案网www.ap5u.com
1.下面哪个文法具有二义性( )。 (满分:4)
A. A→AA |(A) |
B. E→E+T|T
C. E→(E)
D. E→a
2.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为( )文法。 (满分:4)
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
3.最常用的中间代码形式是( )。 (满分:4)
A. 二元式
B. 三元式
C. 四元式
D. 树形表示
4.赋值语句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*+--:=
5.规范规约是( )。 (满分:4)
A. 最左规约
B. 最右规约
C. 动态规约
D. 静态规约
6.如果r、s是正规式,则下面( )不一定是正规式。 (满分:4)
A. rs
B. r|s
C. r*
D. r+s
7.目标代码生成属于编译器的( )阶段。 (满分:4)
A. 词法分析
B. 语法分析
C. 分析
D. 综合
8.文法 E→(E)产生的语言是( )。 (满分:4)
A. 空集
B.( )
C. (E)
D.((((E))))
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.( )的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号。 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 源代码优化程序
14.在编译时安排所有数据对象的存储单元的分配策略属于( )。 (满分:4)
A. 静态分配策略
B. 动态分配策略
C. 栈式分配策略
D. 堆分配策略
二、多选题:
1.下面属于静态检查的是( )。 (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
2.常见的代码优化包括( )。 (满分:4)
A. 常量合并
B. 公共子表达式删除
C. 复写传播
D. 死代码删除
3.下面哪些属于静态检查?( ) (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
4.以下哪些属于计算机存储器( ) (满分:4)
A. 寄存器区域
B. 随机访问存储器
C. 代码区
D. 数据区
三、判断题:
1.文法G的一个句子对应于多个推导,则G是二义的。( ) (满分: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. 正确
北航《编译技术》在线作业二
一、单选题:
1.有限自动机有( )个接受状态 (满分:4)
A. 只能一个
B. 只能两个
C. 只能三个
D. 0个、一个或多个
2.Chomsky 定义的四种形式语言文法中, 3 型文法又称为( )文法。 (满分:4)
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
3.赋值语句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*+--:=
4.描述一个语言的文法是( )。 (满分:4)
A. 唯一的
B. 不唯一的
C. 可能唯一
D. 可能不唯一
5.下面哪个文法是左递归的( )。 (满分:4)
A. E→E+T|T
B. T→F*T
C. E→(E)
D. E→a
6.有限自动机( )个接受状态。 (满分:4)
A. 只能有一个
B. 只能有两个
C. 只能有三个
D. 可以有0个、一个或多个
7.编译程序诸阶段的工作往往是( )。 (满分:4)
A. 顺序
B. 并行
C. 成批
D. 穿插
8.( )的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号。 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 源代码优化程序
9.在编译的各阶段中,和目标机器关系最为密切的是( )。 (满分:4)
A. 词法分析
B. 语法分析
C. 语义分析
D. 目标代码生成
10.简单优先分析每次规约的是( )。 (满分:4)
A. 最左短语
B. 直接短语
C. 句柄
D. 最左素短语
11.在LR分析法中,分析栈中存放的状态是识别规范句型( )的DFA状态。 (满分:4)
A. 句柄
B. 前缀
C. 活前缀
D. LR(0)项目
12.正则文法( )二义性的。 (满分:4)
A. 可以是
B. 一定不是
C. 一定是
D. 可以不是
13.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为( )文法。 (满分:4)
A. 短语文法
B. 上下文无关文法
C. 上下文有关文法
D. 正规文法
14.文法 E→(E)产生的语言是( )。 (满分:4)
A. 空集
B.( )
C. (E)
D.((((E))))
二、多选题:
1.关于栈式分配,下面说法正确地是( )。 (满分:4)
A. 属于动态分配
B. 属于静态分配
C. 适用于可递归调用、具有分程序结构的语言
D. 不适用于可递归调用语言
2.下面属于静态检查的是( )。 (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
3.常见的代码优化包括( )。 (满分:4)
A. 常量合并
B. 公共子表达式删除
C. 复写传播
D. 死代码删除
4.下面哪些属于静态检查?( ) (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
三、判断题:
1.解释程序是在翻译完成之后生成目标代码,然后执行目标代码。( ) (满分:4)
A. 错误
B. 正确
2.编译器通常包括许多代码改进或优化步骤。( ) (满分:4)
A. 错误
B. 正确
3.优先关系表对应的优先函数,如果存在,一定唯一。 ( ) (满分:4)
A. 错误
B. 正确
4.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。( ) (满分:4)
A. 错误
B. 正确
5.每个文法都能改写为LL(1)文法。 ( ) (满分:4)
A. 错误
B. 正确
6.文法G的一个句子对应于多个推导,则G是二义的。( ) (满分:4)
A. 错误
B. 正确
7.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( ) (满分:4)
A. 错误
B. 正确
北航《编译技术》在线作业三
一、单选题:
1.语法分析程序输出( )。 (满分:4)
A. 记号系列
B. 分析树或语法树
C. 中间代码
D. 目标代码
2.下面哪个文法是右递归的( ) (满分:4)
A. A E→TE|T
B. T→aT
C. E→(E)
D. E→a
3.文法 E→(E)产生的语言是( )。 (满分:4)
A. 空集
B.( )
C. (E)
D.((((E))))
4.( )负责分析程序语法结构 (满分:4)
A. 扫描程序
B. 语法分析程序
C. 语义分析程序
D. 代码生成程序
5.文法G的一棵语法树叶结点的自左至右排列是G的一个( )。 (满分:4)
A. 短语
B. 句型
C. 句柄
D. 素短语
6.正规式a*表示的是( )。 (满分:4)
A. 字符a
B. 由字母a组成的所有串
C. 字符串aa
D. 字符串a*
7.赋值语句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*+--:=
8.高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。 (满分:4)
A. 自左至右
B. 自上而下
C. 自下而上
D. 自右向左
9.规范规约是( )。 (满分:4)
A. 最左规约
B. 最右规约
C. 动态规约
D. 静态规约
10.下面哪个文法是左递归的( )。 (满分:4)
A. E→E+T|T
B. T→F*T
C. E→(E)
D. E→a
11.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。 (满分:4)
A. 过程
B. 程序
C. 批量
D. 遍
12.有文法G=({S},{a},{S→SaS,S→e},S),该文法是( )。 (满分:4)
A. LL(1)文法
B. 二义性文法
C. 算符优先文法
D. SLR(1)文法
13.在编译时安排所有数据对象的存储单元的分配策略属于( )。 (满分:4)
A. 静态分配策略
B. 动态分配策略
C. 栈式分配策略
D. 堆分配策略
14.下述方法中,( )不是自下而上分析方法。 (满分:4)
A. 规范归约
B. 算符优先分析法
C. 递归下降分析法
D. LR分析法
二、多选题:
1.栈式分配策略在( )情况下行不通。 (满分:4)
A. 过程活动停止后,局部名字的值还必须维持
B. 被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流
C. 不遵守栈式规则的有Pascal语言和C语言的动态变量
D. Java禁止程序员自己释放空间
2.以下哪些属于计算机存储器( ) (满分:4)
A. 寄存器区域
B. 随机访问存储器
C. 代码区
D. 数据区
3.下面哪些属于静态检查?( ) (满分:4)
A. 类型检查
B. 控制流检查
C. 唯一性检查
D. 关联名字检查
4.下面语言特征会影响存储分配策略的是( )。 (满分:4)
A. 过程能否递归
B. 当控制从过程的活动返回时,局部变量的值是否要保留
C. 过程能否访问非局部变量
D. 过程调用的参数传递方式
三、判断题:
1.编译器通常包括许多代码改进或优化步骤。( ) (满分:4)
A. 错误
B. 正确
2.算符优先分析法采用"移近-归约"技术,其归约过程是规范的。( ) (满分:4)
A. 错误
B. 正确
3.每个文法都能改写为LL(1)文法。 ( ) (满分:4)
A. 错误
B. 正确
4.文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。 ( ) (满分:4)
A. 错误
B. 正确
5.符号表管理和出错管理是编译过程中的两项重要工作。( ) (满分:4)
A. 错误
B. 正确
6.LL(1)分析必须对原有文法提取左因子和消除左递归。( ) (满分:4)
A. 错误
B. 正确
7.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ( ) (满分:4)
A. 错误
B. 正确
需要解题参考资料,需要参考资料,需要参考资料,重要的事情说三遍!!
页:
[1]