编译原理试题及答案_第1页
编译原理试题及答案_第2页
编译原理试题及答案_第3页
编译原理试题及答案_第4页
编译原理试题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

编译原理试题及答案

单项选择题(每题2分,共10题)1.编译程序前三个阶段完成的工作是()A.词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C.词法分析、语法分析和语义分析D.词法分析、语义分析和代码生成答案:C2.词法分析器的输出结果是()A.单词的种别编码B.单词在源程序中的位置C.单词的种别编码和自身值D.单词自身值答案:C3.正规式M1和M2等价是指()A.M1和M2的状态数相等B.M1和M2的有向边条数相等C.M1和M2所识别的语言集相等D.M1和M2状态数和有向边条数相等答案:C4.语法分析器可以发现源程序中的()A.语义错误B.语法和语义错误C.错误并校正D.语法错误答案:D5.一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组()A.句子B.产生式C.单词D.句型答案:B6.下面关于解释程序的描述正确的是()A.解释程序的特点是处理程序时不产生目标代码B.解释程序适用于COBOL和FORTRAN语言C.解释程序是为打开编译程序技术的僵局而开发的D.解释程序是检查程序错误的诊断程序答案:A7.表达式(a+b)(c+d)的逆波兰表示为()A.ab+cd+B.abcd++C.ab+cd+D.abcd++答案:A8.中间代码生成时所依据的是()A.语法规则B.词法规则C.语义规则D.等价变换规则答案:C9.代码优化的主要目标是()A.提高目标程序的运行速度B.减少目标程序运行所需的空间C.优化编译程序生成的目标代码D.上述A和B答案:D10.编译程序是一种()A.汇编程序B.翻译程序C.解释程序D.目标程序答案:B多项选择题(每题2分,共10题)1.编译程序的阶段包括()A.词法分析B.语法分析C.语义分析D.代码生成答案:ABCD2.词法分析中单词的类型有()A.关键字B.标识符C.常数D.运算符答案:ABCD3.语法分析的方法有()A.自顶向下B.自底向上C.自左向右D.自右向左答案:AB4.下面哪些是正规式能表示的()A.标识符B.整数C.简单的算术表达式D.树形结构答案:ABC5.一个句型中的可归约串可能是()A.句柄B.素短语C.最左素短语D.终结符答案:ABC6.中间代码的形式有()A.逆波兰表示B.四元式C.三元式D.间接三元式答案:ABCD7.代码优化的方法有()A.合并已知量B.删除无用赋值C.强度削弱D.循环优化答案:ABCD8.符号表的作用有()A.记录源程序中各个符号的必要信息B.辅助语义的正确性检查C.辅助代码生成D.优化代码答案:ABC9.编译程序生成的目标代码有()A.机器语言代码B.汇编语言代码C.中间语言代码D.高级语言代码答案:AB10.与编译程序密切相关的系统软件有()A.操作系统B.数据库管理系统C.文本编辑程序D.连接装配程序答案:ACD判断题(每题2分,共10题)1.编译程序是对高级语言程序的解释执行。()答案:×2.词法分析和语法分析本质上都是对源程序的结构进行分析。()答案:√3.一个正规式只能对应一个确定的有限自动机。()答案:×4.语法分析时必须先消除文法中的左递归。()答案:×5.最左推导和最右推导得到的句型一定是相同的。()答案:×6.语法制导翻译中,属性可以分为综合属性和继承属性。()答案:√7.中间代码是一种独立于机器的表示形式。()答案:√8.优化工作只能在中间代码生成之后进行。()答案:×9.符号表中的信息在编译的不同阶段都要用到。()答案:√10.编译程序生成的目标代码必须是机器语言代码。()答案:×简答题(每题5分,共4题)1.简述编译程序的总体结构。答案:编译程序一般由词法分析器、语法分析器、语义分析及中间代码生成器、代码优化器、目标代码生成器等部分组成,还有表格管理程序和出错处理程序辅助工作。2.简述自顶向下语法分析的基本思想。答案:从开始符号出发,试图用一切可能的方法,根据文法自上而下地为输入串建立一棵语法树,即为输入串寻找一个最左推导。若最终能成功构造语法树,则输入串合法,否则不合法。3.简述符号表的主要作用。答案:符号表用于记录源程序中各个符号的属性信息,如名字、类型等。在语义分析阶段辅助检查语义正确性,在代码生成阶段为变量分配存储单元等提供依据。4.简述代码优化的目的和原则。答案:目的是提高目标程序的运行速度和减少所需空间。原则是等价原则(优化后不改变程序运行结果)、有效原则(优化后能提高效率)、合算原则(优化成本低于优化带来的收益)。讨论题(每题5分,共4题)1.讨论词法分析和语法分析的关系。答案:词法分析是将源程序按字符流切分成一个个单词,语法分析则以单词为单位分析源程序的语法结构。词法分析是语法分析的基础,为其提供输入单元。二者紧密配合,共同保障对源程序结构的正确理解和处理。2.讨论在编译过程中为什么要进行中间代码生成。答案:中间代码生成将源程序转换为一种中间表示形式,它独立于具体机器。这样可使编译程序逻辑更清晰,方便对中间代码进行优化,也便于生成不同目标机器的代码,提高编译程序的可移植性和目标代码生成的效率。3.讨论如何对循环进行代码优化。答案:可采用代码外提,将循环不变代码移到循环外;强度削弱,用低开销运算代替高开销运算;删除归纳变量,减少不必要的变量计算等方法。通过这些优化,减少

温馨提示

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

最新文档

评论

0/150

提交评论