ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:63KB ,
资源ID:1197173      下载积分:5 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-1197173.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(编译原理复习.doc)为本站会员(h****)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

编译原理复习.doc

1、一、 选择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

2、 接受的字集为( )A.以 0 开头的二进制数组成的集合B.以 0 结尾的二进制数组成的集合C.含奇数个 0 的二进制数组成的集合D.含偶数个 0 的二进制数组成的集合7、文法 GS:SxSx|y 所识别的语言是( )A.xyx B.(xyx)* C.x nyxn(n0) D.x nyxn8、如果文法 GS是无二义的,则它的任何句子 ( )A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同9、采用自顶向下分析,必须( )A.消除左递归 B.消除右递归 C.消除回溯 D.提取公共

3、左因子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.“移进”

4、/“移进” C.“移进”/“归约” D.“归约”/“归约”15、四元式之间的联系时通过( )实现的A.指示器 B.临时变量 C.符号表 D.程序变量16、间接三元式表示法的优点为( )A.采用间接码表,便于优化处理 B.节省存储空间,不便于表的修改C.便于优化处理,节省存储空间 D.节省存储空间,不便于优化处理17、表达式(AB)(CD)的逆波兰表示为( )A. ABCD B. ABCDC.ABCD D.ABCD 18、过程的 DISPLAY 表中记录了( )A.过程的连接数据 B.过程的嵌套层次C.过程的返回地址 D.过程的入口地址19、过程 P1 调用 P2 是,连接数据不包含( )A.嵌

5、套层次显示表 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.占用存储空间

6、较小C.运行时间短但占用内存空间大 D.运行时间短且占用存储空间小24、下列( )优化方法不是针对循环优化进行的A.强度削弱 B.删除归纳变量 C.删除多余运算 D.代码外提25、基本块内的优化为( )A.代码外提,删除归纳变量 B.删除多余运算,删除无用赋值C.强度削弱,代码外提 D.循环展开,循环合并26、在程序流图中,我们称具有下述性质( )的节点序列为一个循环A.它们是非连通的且只有一个入口结点 B.它们是强连通的但有多个入口结点C.它们是非连通的但有多个入口结点 D.它们是强联通的且只有一个入口结点27、关于必经结点的二元关系,下列叙述中不正确的是( )A.满足自反性 B.满足传递性

7、 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、若文法是无

8、二义的,则规范推导与规范归纳的关系_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、首节点是指从它开始到控制

9、流程图中任何一个结点都有一条通路的结点。18、生成中间代码时所依据的是_19、划分基本块的关键问题是准确定义入口和出口语句20、错误的局部化是指当发现错误时,跳过错误所在的语法单位继续分析下去21、基本块是指_22、基本块的优化方法_,循环优化的方法_23、优化可生成_的目标代码24、优化对象所涉及的范围_,优化的分类_25、一个好的编译程序应具有较强的_或_能力。26、代码优化所遵循的原则是程序的等价变换原则。27、动态语义检查需要生成相应的目标代码,它是在运行时进行的。28、编译生成的目标代码不可能是_。29、语法制导翻译_。30、编译程序是将源程序_成目标程序后再执行。31、中间代码_。

10、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 型文法的产生式左部只允许

11、是单个的非终结符号。2. 中间代码的优化原则答:等价原则:有效原则:合算原则:3.编译程序的结构(图)4.解释程序与编译程序的区别答:编译程序是将源程序翻译成目标程序后再执行该目标程序;而解释程序则逐条读出源程序中的语句并解释执行,即在解释程序的执行过程中并不产生目标程序。典型的解释型高级语言是 BASIC 语言。5. 构造编译程序应掌握的内容。答:构造一个编译程序必须掌握下述三方面的内容: 对被编译的源语言(如 C、PASCAL 等) ,要深刻理解其结构(语法)和表格管理词法分析器出错处理语义分析与中间代码生成器语法分析器目标代码生成器优化源程序目标程序含义。 必须对目标机器的硬件和指令系统

12、有深刻的了解。 必须熟练掌握编译方法,编译方法掌握的如何将直接影响到编译程序的成败,一个好的编译方法可能得到事半功倍的效果。6. 编译程序的工作过程。答:编译程序的工作过程是指从输入源程序开始到输出目标程序为止的整个过程。此过程是非常复杂的。一般来说,整个编译过程可以划分成五个阶段:词法分析阶段、语法分析阶段、语义分析和中间代码生成阶段、优化阶段和目标代码生成阶段。7. 堆式存储分配中需解决的问题。答:对于堆式存储分配来说,需要解决两个问题:一是堆空间的分配,即当运行程序需要一块空间时应分配哪一块给它;另一个问题是分配空间的回收,由于返回堆的不同空间是按任意次序进行的,所以需要研究专门的回收分

13、配策略。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

14、翻译成:逆波兰式、四元式、三元式、间接三元式。3. 程序:I=400J=200L1:J=J+1read Iif I5000 go to L2write Jhalt L2:I=I*1goto L1画控制流程图:求各个结点的必经结点集;求回边:求循环。4. 文件 GS:S(L)|aS|aLL,S|S(1) (S,(a)最右推导,画语法树。(2)该句型中所有的短语,直接短语、句柄和最左素短语。5. 文件 GS:SS+aT|aT|+aTT*aT|*a(1)aT+a*a*a 最右推导,画语法树;(2)该句型中所有的短语、直接短语、句柄和最左素短语。6.正规表达式(a|b)*(aa|bb)(a|b)*,(a|b)*aa,求出等价的简化版 DFAM.7. 设有基本块:应用 DAG 进行优化,画出 DAG 图;假定变量 L,M,N 在出口之后是活跃的,写出优化后的四元式序列。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。