北航12春《编译技术》在线作业答案.doc_第1页
北航12春《编译技术》在线作业答案.doc_第2页
北航12春《编译技术》在线作业答案.doc_第3页
北航12春《编译技术》在线作业答案.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论