homework 发表于 2016-12-11 22:00:22

北航16秋北航《编译技术》在线作业满分答案

北航《编译技术》在线作业一

一、单选题:
1.(    )负责分析程序语法结构          (满分:4)
    A. 扫描程序
    B. 语法分析程序
    C. 语义分析程序
    D. 代码生成程序
2.在下述的编译方法中,自顶向下的分析方法有(    )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(k)分析 ⑦ LL(k)分析 ⑧LALR(K)分析          (满分:4)
    A. ③④⑦
    B. ③④⑧
    C. ①②⑤⑥⑦
    D. ①②⑤⑥⑧
3.正规式(a|b)*表示的是(    )。          (满分:4)
    A. 所有由字母a或b构成的串
    B. 字符串a|b
    C. 字符串(a|b)*
    D. 空串
4.词法扫描程序把源代码生成为(    )。          (满分:4)
    A. 记号流
    B. 语法树
    C. 词法树
    D. 目标代码
5.高级语言编译程序常用的语法分析方法中,递归下降分析法属于(    )分析方法。          (满分:4)
    A. 自左至右
    B. 自上而下
    C. 自下而上
    D. 自右向左
6.把一个高级语言程序翻译成机器可执行的目标程序的工作由(    )完成。          (满分:4)
    A. 汇编程序
    B. 解释程序
    C. 编译程序
    D. 预处理程序
7.编译器与要编译的源程序的接口阶段是(    )。          (满分:4)
    A. 扫描程序
    B. 语法分析程序
    C. 语义分析程序
    D. 代码生成器
8.语法分析程序输出(    )。          (满分:4)
    A. 记号系列
    B. 分析树或语法树
    C. 中间代码
    D. 目标代码
9.类型转换时,整数到实数的转换称为(    )。          (满分:4)
    A. 截断
    B. 舍入
    C. 拓展
    D. 收缩
10.文法 E→(E)产生的语言是(    )。          (满分:4)
    A. 空集
    B.(    )
    C. (E)
    D.((((E))))
11.赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是 (    )。          (满分:4)
    A. Xab+cd-/-bc*a+-
12.有限自动机可以有(    )个初始状态。          (满分:4)
    =
    B. Xab+/cd--bc*a+--
13.Chomsky 定义的四种形式语言文法中,1 型文法又称为(    )文法。          (满分:4)
    =
    C. Xab+-cd-/abc*+-
14.在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是(    )。          (满分:4)
    =
    D. Xab+cd-/abc*+--
二、多选题:
1.栈式分配策略在(    )情况下行不通。          (满分:4)
    =
2.栈式分配策略在下列哪些情况下行不通?(    )          (满分:4)
    A. 一个
    B. 两个
    C. 三个
    D. 多个
3.常见的代码优化包括(    )。          (满分:4)
    A. 短语文法
    B. 上下文无关文法
    C. 上下文有关文法
    D. 正规文法
4.关于堆式分配,下面说法正确地是(    )。          (满分:4)
    A. 非终极符集
    B. 终极符集
    C. 字母表
    D. 状态集
三、判断题:
1.文法S→aA;A→Ab;A→b是LR(0)文法(S为文法的开始符号)。(    )          (满分:4)
    A. 过程活动停止后,局部名字的值还必须维持
    B. 被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流
    C. 不遵守栈式规则的有Pascal语言和C语言的动态变量
    D. Java禁止程序员自己释放空间
2.每个文法的综合符合集和集成属性集的交应该为空。 (    )          (满分:4)
    A. 过程活动停止后,局部名字的值还必须维持
    B. 被调用者的活动比调用者的活动活得更长,此时活动树不能正确描绘程序的控制流
    C. 不遵守栈式规则的有Pascal语言和C语言的动态变量
    D. Java禁止程序员自己释放空间
3.有限自动机能够识别上下文无关语言。 (    )          (满分:4)
    A. 常量合并
    B. 公共子表达式删除
    C. 复写传播
    D. 死代码删除
4.符号表管理和出错管理是编译过程中的两项重要工作。(    )          (满分:4)
    A. 属于动态分配
    B. 属于静态分配
    C. 适用于可递归调用、具有分程序结构的语言
    D. 适用于允许为变量动态申请内存空间的语言
5.把汇编语言程序翻译成机器可执行的目标程序的工作是由编译器完成的。 (    )          (满分:4)
    A. 错误
    B. 正确
6.仅考虑一个基本块,不能确定一个赋值是否真是无用的。 (    )          (满分:4)
    A. 错误
    B. 正确
7.我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。 (    )          (满分:4)
    A. 错误
    B. 正确
北航《编译技术》在线作业二

一、单选题:
1.下面哪个文法是左递归的(    )。          (满分:4)
    A. E→E+T|T
    B. T→F*T
    C. E→(E)
    D. E→a
2.有限自动机有(    )个接受状态          (满分:4)
    A. 只能一个
    B. 只能两个
    C. 只能三个
    D. 0个、一个或多个
3.高级语言编译程序常用的语法分析方法中,递归下降分析法属于(    )分析方法。          (满分:4)
    A. 自左至右
    B. 自上而下
    C. 自下而上
    D. 自右向左
4.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为(    )文法。          (满分:4)
    A. 短语文法
    B. 上下文无关文法
    C. 上下文有关文法
    D. 正规文法
5.代码生成属于编译器的(    )          (满分:4)
    A. 语义分析
    B. 分析
    C. 代码生成
    D. 综合
6.在下述的编译方法中,自顶向下的分析方法有(    )。 ①简单优先分析 ②算符优先分析 ③递归下降分析 ④预测分析技术 ⑤LR(K)分析 ⑥ SLR(k)分析 ⑦ LL(k)分析 ⑧LALR(K)分析          (满分:4)
    A. ③④⑦
    B. ③④⑧
    C. ①②⑤⑥⑦
    D. ①②⑤⑥⑧
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.(    )的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号。          (满分:4)
    A. 扫描程序
    B. 语法分析程序
    C. 语义分析程序
    D. 源代码优化程序
12.在编译的各阶段中,和目标机器关系最为密切的是(    )。          (满分:4)
    A. 词法分析
    B. 语法分析
    C. 语义分析
    D. 目标代码生成
13.Chomsky 定义的四种形式语言文法中, 0 型文法又称为(    )文法。          (满分:4)
    A. 短语文法
    B. 上下文无关文法
    C. 上下文有关文法
    D. 正规文法
14.文法 G 产生的(    )的全体是该文法描述的语言。          (满分:4)
    A. 句型
    B. 终结符集
    C. 非终结符集
    D. 句子
二、多选题:
1.文法符号的语义属性有(    )。          (满分:4)
    A. 综合属性
    B. 继承属性
    C. 符号属性
    D. 数字属性
2.关于栈式分配,下面说法正确地是(    )。          (满分:4)
    A. 属于动态分配
    B. 属于静态分配
    C. 适用于可递归调用、具有分程序结构的语言
    D. 不适用于可递归调用语言
3.在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt                            stmt → s 下面哪些是可以由该文法推导出的句型?(    )          (满分:4)
    A. stmt; stmt-sequence
    B. s
    C. s;s
    D. s;s;stmt
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.算符优先分析法采用"移近-归约"技术,其归约过程是规范的。(    )          (满分:4)
    A. 错误
    B. 正确
7.优先关系表对应的优先函数,如果存在,一定唯一。 (    )          (满分:4)
    A. 错误
    B. 正确
北航《编译技术》在线作业三

一、单选题:
1.Chomsky 定义的四种形式语言文法中,2 型语言文法又称为(    )文法。          (满分:4)
    A. 短语文法
    B. 上下文无关文法
    C. 上下文有关文法
    D. 正规文法
2.编译程序中语法分析器接收以(    )为单位的输入。          (满分:4)
    A. 单词
    B. 表达式
    C. 产生式
    D. 句子
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.Chomsky 定义的四种形式语言文法中, 0 型文法又称为(    )文法。          (满分: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. A→AA |(A) |
    B. E→E+T|T
    C. E→(E)
    D. E→a
12.把一个高级语言程序翻译成机器可执行的目标程序的工作由(    )完成。          (满分:4)
    A. 汇编程序
    B. 解释程序
    C. 编译程序
    D. 预处理程序
13.有限自动机有(    )个接受状态          (满分:4)
    A. 只能一个
    B. 只能两个
    C. 只能三个
    D. 0个、一个或多个
14.赋值语句X::=-(a+b)/(c-d)-(a+b*c)r的逆波兰表示是 (    )。          (满分:4)
    A. Xab+cd-/-bc*a+-
二、多选题:
1.以下属于计算机存储器的是(    )。          (满分:4)
    =
    B. Xab+/cd--bc*a+--
2.在如下上下文无关文法G中: stmt-sequence → stmt; stmt-sequence | stmt                            stmt → s 下面哪些是可以由该文法推导出的句型?(    )          (满分:4)
    =
    C. Xab+-cd-/abc*+-
3.常见的代码优化包括(    )。          (满分:4)
    =
    D. Xab+cd-/abc*+--
4.在目标代码优化阶段,常见的优化有(    )。          (满分:4)
    =
三、判断题:
1.文法二义并不代表语言一定是二义的。只有当产生一个语言的所有文法都是二义的时,这个语言才是二义的。 (    )          (满分:4)
    A. 寄存器区域
    B. 随机访问存储器
    C. 代码区
    D. 数据区
2.如果有的文法的一些句子有不止一种推导过程,则该文法具有二义性。(    )          (满分:4)
    A. stmt; stmt-sequence
    B. s
    C. s;s
    D. s;s;stmt
3.我们可以概括地认为中间代码是编译器使用的源代码的任何一个内部表示。 (    )          (满分:4)
    A. 常量合并
    B. 公共子表达式删除
    C. 复写传播
    D. 死代码删除
4.对于一个无二义性的文法,一棵语言树往往代表了多种最左推导过程。(    )          (满分:4)
    A. 选择编址模式以提高性能
    B. 将速度慢的指令更换成速度快的
    C. 删除注释
    D. 删除多余的操作
5.优先关系表对应的优先函数,如果存在,一定唯一。 (    )          (满分:4)
    A. 错误
    B. 正确
6.语义分析的任务包括两方面,一个是静态语义检查,一个是动态语义的解释执行并生成中间代码。 (    )          (满分:4)
    A. 错误
    B. 正确
7.解释程序是在翻译完成之后生成目标代码,然后执行目标代码。(    )          (满分:4)
    A. 错误
    B. 正确

**** Hidden Message *****
页: [1]
查看完整版本: 北航16秋北航《编译技术》在线作业满分答案