编译原理复习.doc_第1页
编译原理复习.doc_第2页
编译原理复习.doc_第3页
编译原理复习.doc_第4页
编译原理复习.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

一、 选择1、 构造编译程序应掌握( )A.源程序 B.目标文件 C.编译方法 D.以上三项2、编译程序绝大多数时间花在()上 A.出错处理 B.词法分析 C.目标代码生成 D.表格管理3、编译程序是对() A.汇编程序的翻译 B.高级语言程序的解释执行 C.机器语言的执行 D.高级语言的翻译4、词法分析器的输出结果是( ) A.单词的种别编码 B.单词在符号表中的位置 C.单词的种别编码和自身值 D.单词自身值5、正规式M1和M2等价是指( ) A. M1和M2的状态数相等 B. M1和M22的有向变条数相等 C. M1和M2所识别的语言集相等 D. M1和M2状态数和有向边条数6、DFA M接受的字集为( ) A.以0开头的二进制数组成的集合 B.以0结尾的二进制数组成的集合 C.含奇数个0的二进制数组成的集合 D.含偶数个0的二进制数组成的集合7、文法GS:SxSx|y所识别的语言是( ) A.xyx B.(xyx)* C.xnyxn(n0) D.xnyxn8、如果文法GS是无二义的,则它的任何句子( ) A.最左推导和最右推导对应的语法树必定相同 B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同 D.可能存在两个不同的最左推导,但它们对应的语法树相同9、采用自顶向下分析,必须( ) A.消除左递归 B.消除右递归 C.消除回溯 D.提取公共左因子10、设a、b、c是文法的终结符,且满足有限关系ab和bc,则( ) A.必有ac B.必有ca C.必有ba D.ac都不一定成立11、在规范规约中,用( )开刻画可归约串 A.直接短语 B.句柄 C.最左素短语 D.素短语12、若a为终结符,则Aa为( )项目 A.规约 B.移近 C.接受 D.待约13、若项目集合Ik含有A ,则在状态k时,仅当面临的输入符号aFOLLOW(A)时,才采取“A ”动作的一定是( ) A.LALR文法 B.LR(0)文法 C.LR(1)文法 D.SLR(1)文法14、同心集合并有可能产生新的( )冲突A.归约 B.“移进”/“移进” C.“移进”/“归约” D.“归约”/“归约”15、四元式之间的联系时通过( )实现的 A.指示器 B.临时变量 C.符号表 D.程序变量16、间接三元式表示法的优点为( )A.采用间接码表,便于优化处理 B.节省存储空间,不便于表的修改C.便于优化处理,节省存储空间 D.节省存储空间,不便于优化处理17、表达式(AB)(CD)的逆波兰表示为( ) A. ABCD B. ABCD C.ABCD D.ABCD 18、过程的DISPLAY表中记录了( )A.过程的连接数据 B.过程的嵌套层次C.过程的返回地址 D.过程的入口地址19、过程P1调用P2是,连接数据不包含( )A.嵌套层次显示表 B.老SP值 C.返回地址 D.全局DISPLAY表地址20、堆式动态分配申请和释放存储空间遵守( )原则A.先请先放 B.先请后放 C.后请先放 D.任意21、.栈式动态分配与管理在过程返回时应做的工作有( )A.保护SP B.恢复SP C.保护TOP D.恢复TOP22、如果活动记录中没有DISPLAY表,则说明( )A.程序中不允许有递归定义的过程B.程序中不允许有嵌套定义的过程C.程序中不允许有嵌套定义的过程,也不允许有递归定义的过程D.程序中允许有递归定义的过程,也允许有嵌套定义的过程23、优化可生成( )的目标代码A.运行时间较短 B.占用存储空间较小C.运行时间短但占用内存空间大 D.运行时间短且占用存储空间小24、下列( )优化方法不是针对循环优化进行的A.强度削弱 B.删除归纳变量 C.删除多余运算 D.代码外提25、基本块内的优化为( )A.代码外提,删除归纳变量 B.删除多余运算,删除无用赋值C.强度削弱,代码外提 D.循环展开,循环合并26、在程序流图中,我们称具有下述性质( )的节点序列为一个循环A.它们是非连通的且只有一个入口结点B.它们是强连通的但有多个入口结点C.它们是非连通的但有多个入口结点D.它们是强联通的且只有一个入口结点27、关于必经结点的二元关系,下列叙述中不正确的是( )A.满足自反性 B.满足传递性 C.满足反对称性 D.满足对称性28、有一语法制导翻译如下:SbAb print“1” A(B print“2” Aa print“3” BAa) print“4”若输入序列为b(aa)a)a)b,且采用自底向上的分析方法,则输出序列为( )A.32224441 B.34242421 C.12424243 D.3444221229、错误的局部化是()A把错误理解成局部的错误B. 对错误在局部范围内进行纠结C当发现错误时,跳过错误所在的语法单位继续分析下去D当发现错误时立即停止编译,待用户改正错误后再继续编译二、填空1、编译程序划分的类型_2、编译程序是对_ 高级语言的翻译_ 3、若文法是无二义的,则规范推导与规范归纳的关系_4、词法分析程序输出的单词符号通常表示成二元式的形式5、语言的目标是_,是一个特殊的非终结符6、描述语言L=ab|nm 1的文法为_7、程序语言的生成系统是_,而识别系统则是_8、语法分析器的功能是输入_输出_9、两个自动机等价是指DFA和NFA10、文法四元组GS=VT VT S _11、词法分析器的输出结果是_12、语法分析的方法种类_13、文法符号的属性种类_14、文法G所描述的语言是_的集合15、为使编译程序能正确翻译,对程序设计语言必须使用_的定义方法16、LR语法分析法是指_扫描输入串和_进行规范归纳17、首节点是指从它开始到控制流程图中任何一个结点都有一条通路的结点。18、生成中间代码时所依据的是_19、划分基本块的关键问题是准确定义入口和出口语句20、错误的局部化是指当发现错误时,跳过错误所在的语法单位继续分析下去21、基本块是指_22、基本块的优化方法_,循环优化的方法_23、优化可生成_的目标代码24、优化对象所涉及的范围_,优化的分类_25、一个好的编译程序应具有较强的_或_能力。26、代码优化所遵循的原则是程序的等价变换原则。27、动态语义检查需要生成相应的目标代码,它是在运行时进行的。28、编译生成的目标代码不可能是_。29、语法制导翻译_。30、编译程序是将源程序_成目标程序后再执行。31、中间代码_。32、编译模型的最后一个阶段是代码生成。33、在编译程序的全过程中,都需对_进行频繁地访问,耗费的时间占很大比例三、简答1. 四类文法的关系与区别答:由四类文法的定义可知,从0型文法到3型文法逐渐增加限制。13型文法都属于0型文法,2、3型文法不一定属于1型文法(如果存在形如A的产生式,则不属于1型文法),3型文法属于2型文法。四类文法的区别如下:(1)1型文法中不允许有形如“A”的产生式存在,而2、3型文法则允许形如“A”的产生式存在。(2)0、1型文法的产生式左部存在含有终结符号的符号串或两个以上的非终结符,而2型和3型文法的产生式左部只允许是单个的非终结符号。2. 中间代码的优化原则答:等价原则:有效原则:合算原则: 表格管理词法分析器出错处理语义分析与中间代码生成器语法分析器目标代码生成器优化源程序目标程序3.编译程序的结构(图)4.解释程序与编译程序的区别答:编译程序是将源程序翻译成目标程序后再执行该目标程序;而解释程序则逐条读出源程序中的语句并解释执行,即在解释程序的执行过程中并不产生目标程序。典型的解释型高级语言是BASIC语言。5. 构造编译程序应掌握的内容。答:构造一个编译程序必须掌握下述三方面的内容: 对被编译的源语言(如 C、PASCAL等),要深刻理解其结构(语法)和含义。 必须对目标机器的硬件和指令系统有深刻的了解。 必须熟练掌握编译方法,编译方法掌握的如何将直接影响到编译程序的成败,一个好的编译方法可能得到事半功倍的效果。6. 编译程序的工作过程。答:编译程序的工作过程是指从输入源程序开始到输出目标程序为止的整个过程。此过程是非常复杂的。一般来说,整个编译过程可以划分成五个阶段:词法分析阶段、语法分析阶段、语义分析和中间代码生成阶段、优化阶段和目标代码生成阶段。7. 堆式存储分配中需解决的问题。答:对于堆式存储分配来说,需要解决两个问题:一是堆空间的分配,即当运行程序需要一块空间时应分配哪一块给它;另一个问题是分配空间的回收,由于返回堆的不同空间是按任意次序进行的,所以需要研究专门的回收分配策略。8. NFA和DFA的区别。答:NFA和DFA的区别主要有两点:其一是NFA可以有若干个初始状态,而DFA仅有一个初始状态;其二是NFA的状态转换函数f不是单值函数,而是一个多值函数,即f (si , a)=某些状态的集合(si S),它表示不能由当前状态和当前输入字符唯一地确定下一个要转换的状态,也即允许同一个状态对同一个输入字符可以有不同的输出边。四、计算1. 文件GS:SaS|bS|a 构造LR(0)项目集规范族;给出识别活前缀的DFA;构造SLR(1)分析表,判断是否为SLR(1)文法。2. 表达式(A+B*(C-D))+E(C-D)N翻译成:逆波兰式、四元式、三元式、间接三元式。3. 程序: I=400 J=200 L1:J=J+1 read I if I5000 go to L2 write J halt L2:I=I*1goto L1画控制流程图:求各个结点的必经结点集;求回边:求循环。4. 文件GS: S(L)|aS|a LL,S|S(1) (S,(a)最右推导,画语法树。(2

温馨提示

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

评论

0/150

提交评论