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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

大学编译原理课程复习试题及答案.docx

1、大学编译原理课程复习试题及答案编译原理复习材料 选择题1.)oB. 0m1m| m =1 D. 0m1n | m=0,n=1 文法s-os I S1 | 0的语言是(A.ni =0C. 0m1n | m=1,n=02.描述程序语言所采用的II【型文法是()aA.短语文法 B.正规文法C 上下文无关文法 D.上下文有关文法3.状态转换图实现的简单方法是使每个状态结对应()。A.个终结符 B.个非终结符C一段小程序 D.个函数B 句柄 D.短语4 规范归约的关键问题是寻找(A.最左素短语C 直接短语5一个算符文法的任何产生式的右部都不含有两个相继的()。A.终结符 B.非终结符C 终结符和非终结符

2、 D.空字6 算符优先分析法的关键在于规立(A算符优先顺序和结合性质C.结合性质7. 优先函数的优点是()。A.形彖直观C 语法分析速度快B.算符优先顺序D.终结符和非终结符之间关系B 便于进行比较运算 D.语法分析方法简单)两类。B.固有属性和可变属性D.综合属性和继承属性& 文法符号的属性通常分为(A.共用属性和私有属性C语法属性和语义属性9. 在程序流图中,组成循环的结点序列应满足()A.它们是强连通的 B.它们中间有唯一的入口结点C.它们中间有一条回边 D.它们是强连通的且有唯一的入口结点10. 在利用寄存器R生成Ti:=c/B的目标代码同时,还应记录信息()。A. C/B在中 B.在

3、C/B中C. R含有Ti,在R中 D. R含有C/B, C/B在R中1.D 2.B 3.C 4.B 5.B6.A 7.B &D 9.D 10.CB.是否生成中间代码D.是否生成优化代码B.不一定是机器语言的程序D.左是汇编语言的程序A 是否生成目标代码C.是否生成汇编代码2.编译程序生成的目标程序()A.定是机器语言的程序C一上不是机器语言的程序3.设字母表L=0,1,x,y,则上的正规式所对应的正规集为()A. B. 0,1,x,yC D64 *假设G是一个文法,S是文法的开始符号,如果S= x,则称x是()A 短语 B.句柄C 句子 D.句型5一个算符文法的任何产生式的右部都不含有两个相继

4、的() A.终结符 B.非终结符C.终结符和非终结符 D. 字6.设有文法 GA: A -*Ax|Ay|Aa|Ac|a|b|c,下列哪些是该文法的句子()(1) aby (2) aycyx (3) aaa (4) bcxyA.(1)(2) (3) B. (1)(2) (4)C.(2) (3) (4) D全部7.L R分析器的核心部分是(B.张动作表D.张分析表A.带先进后岀存贮器的DFAC一张 GOTO 表& 在程序流图中,组成循环的结点序列应满足()A.它们是强连通的且有唯一的入B.它们中间有唯一的入口结点 口结点C.它们中间有一条回边 D.它们是强连通的9 表达式ab+cAadVa+be的

5、后缀式式为(A.abcWad + /ab+eH V B.abWc +Adaab+eH/C.abc+Wad/ab+eHV D.abc+Wadab+/eHV10.程序基本块是指()A.个子程序B.个仅有一个入口和一个出口的语句C.一个没有嵌套的程序段D.组顺序执行的程序段,仅有一个入口和一个岀口1.A 2.B 3.C 4.D 5.B 6.C 7.D &A 9.C 10.D1.BNF是一种用于()的工具。A.描述句型C.描述语言B.描述句子D.描述文法2.设字母表L=0,1,x,y,则上的正规式所对应的正规集为()A. BC. 0,1,x,yD63.规范推导也称为()A.最右推导B.最左推导c.般推

6、导D.自左向右推导4.在规范归约中,任何可归约串的出现必在()A 栈的内部B 栈顶C.剩余的输入串中D.在先进后岀栈中5一个算符文法的任何产生式的右部都不含有两个相继的()A终结符B.非终结符C.终结符和非终结符D. 字6.LR分析器的核心部分是()A.张分析表B.张动作表C一张 GOTO 表D.带先进后岀存贮器的DFA7.算符优先分析的关键问题是寻找()。A.句柄B.最左素短语C.短语D.直接短语&四元式之间的联系是通过()A.指示器B.临时变量C.四元式的编号D.中间运算结果9.表达式aWb+c/ad Va+bHe的逆波兰式为(A.abc +Wad/ab+eH VB.abWc + /daa

7、b+eH/C.abcWad+ /ab+eHVD.abc+Wadab+/eH/10.代码外提时要求该不变运算所在的结点是循环的()。A.某个岀口的必经结点B.至少是一个入口的必经结点C 入口的必经结点D.所有出口的必经结点1.D 2.B 3.A 4.B 5.B6.A 7.B &B 9.A 10.D填空题1.一个状态转换图可用于一左的字符串。2.设=a , b , c,则尸中最短的符号串为。3.若由文法的开始符号可以推导出串a ,且,则a为原文法的一个句 子。4.若文法的某非终结符P满足,称文法含有左递归。5.表达式 -(a+b)/(c*d)-e 的逆波兰式为6.后序遍历一棵表达式树,可得到它的。

8、7.中间代码是一种而向语法,易于翻译成的代码。& 四元式序列中各四元式出现的顺序与是一致的。9 若每个程序对应一个流图,则流图中的结点对应一个。10.若从流图首结点出发,到达丐的任一通路必须经过则 称的必经结点。1.识别或接受2.3.a VT*4.P=+ P a5.ab+cd*/e-6.逆波兰式7.目标代码&运算顺序9.基本块10. ni 为 nj一个非确定的有限自动机可以表示为一个元式。2.若文法的某非终结符P满足,称文法含有左递归。3设7= (1 ,2, 3,则尸中最短的符号串为。4用工+表示上所有的集合。5.三地址代码的一般形式为。6递归下降法对每个构造一个相应的子程序。7在算符优先分析

9、中,用作为可归约串。8.在形式语言中,最推导被称为规范推导。9.语法树中,一个结点的属性由此结点的父结点和/或兄弟结点的属性 确定。10.如果循环中对变疑I只有唯一的形如l=lC的赋值,则称I为循环中 的变量。1.五2.P=+Pa3.4.长度不为0的串5.x:=y op z6.非终结符7.最左素短语& 右9.继承10- 基本归纳1.终态与非终态的区别在于。2.用表示上所有的集合。3.一个状态转换图可用于一泄的字符串。4.用于词法分析的扫描缓冲区可将两个半区使用。5.一个句型的称为该句型的句柄。6.递归下降法对每个构造一个相应的子程序。7.算符优先法尤英适用于的分析。& 规范归约的关键在于如何确

10、泄。9.文法符号的属性值可自底向上应用语义规则计算出来。10.DAG 代表。1.终态可接受空串2.长度不为0的串3.识别4.互补5.最左简单短语6.非终结符7.表达式8.句柄9.综合10.有向无环图判断题1.3.若一个文法是递归的,则由它产生的语言的句子个数是有 限的。用于词法分析的扫描缓冲区可将两个半区重叠使用。描述程序语言所采用的III型文法是上下文无关文法。状态转换图实现的简单方法是使每个状态结点对应一个非 终结符一个LR分析器实质上是一个带有后进先出存储器的DFA。有的左递归。4 在规范归约中,任何可归约串的岀现必在栈的内部。 ( )5.循环优化中的强度削弱主要是指将循环中的乘法变成加

11、 ( )法。6.符号表的信息栏中的内容称为关键字。 ( )1.X正规文法2.X一段小程序3.X自上而下4.X栈顶5.X递归加法6.X名字1.设a是某句型的一个子串,若它能被一次直接归约为一个 ( 非终结符,则a是该句型的一个直接短语。)2.语法分析过程可用一棵树表示出来,这棵树叫做语法树。 ()3.欲构造行之有效的自下而上分析器,则必须淸除文法中含 ( 有的左递归。)4.四元式作为中间语言,用于翻译除表达式外的其他语句代 (码。)5循环优化中的强度削弱主要是指将循环中的乘法变成加 ( 法。)6.流图中有向边a-b为回边的条件是a DOM b。 ()1.X要求这个非终结符取代。后,原句型还可继续

12、向开始符方向归约。2.X分析树3 X自上而下 c.4. X各种5- X递归加法6. Xb DOM a2.已知文法 G: S - iSeS | iS | i该文法是否具有二义性?请根拯句子iiiei构造语法树予以说明。3.何谓递归下降分析法?应用此种分析法的文法应满足什么条件?4.简述代码优化所依据的原则与优化的级别,并列举三种常用的优化技术。正规式用來描述正规集,而有限自动机用來识别正规集,在正规 集的意义上它们存在等价关系。即:对每一个正规式所代表的正规文法G,都存在一个有限口动机M, 使得L(M)=L(G), M所能识别的字的全体恰为这个正规文法G的 语言集合:对每一个有限口动机M,都存在

13、一个可以用正规式表示的正规文 法G,使得L(G)=L(M),这个正规文法G的语言集合中的任一个 字可以由M识别。2.对于句子iiiei,该文法具有两棵不同的语法树与之对应,故为二义性文法。S/ / i S e S i/ I1 S ii S e SI Ilii3.当文法满足LL(1)条件时,可以为它构造一个不带回溯的自上而 下分析程序。它由一组递归过程(函数)组成,每个过程(函数)对应文法的 一个非终极符,这样的分析程序称为递归下降分析器。利用这种分析程序进行语法分析的方法称为递归下降分析法。4.代码优化所依据的原则是:等价原则、有效原则和合算原则。代码优化所依据的级别是:局部优化、循环优化与全

14、局优化。 常用的代码优化技术有:删除公共子表达式、删除无用赋值、合 并已知量、代码外提、强度削弱、删除归纳变量等。1.什么是编译器的前端和后端,通常两者之间用什么作为接口?2.简述NFA和DFA的联系与区别。3.语法分析方法如何分类?它们而对的主要问题是什么?4.何谓中间语言?简述它的作用。1.前端主要由与源语言有关但与目标机无关的那些部分组成,通常 包括词法分析、语法分析、语义分析与中间代码产生,有的代码 优化工作也可包括在前端。(2分)后端包括编译程序中与目标机 有关的那些部分,如与目标机有关的代码优化和目标代码生成 等。(2分)通常,前端和后端以中间语言作为接口(1分)2.联系:NFA和

15、DFA都是有限口动机,都用于接收、识别一定的字符串。 NFA 是 DFA 的推广,DFA 是 NFA 的特例。(2分)区别:NFA多值函数,DFA是单值函数。NFA可以有多个初态,DFA只有一个初态。NFA的每条弧允许用上的一个字作标记,DFA的每条弧 只允许用E上的一个字符作标记。(3分)3.按照语法分析树的建立方法,可以把语法分析方法分为两类: 自上而下分析法与自下而上分析法。(2分)自上而下分析法面对的主要问题是:如何消除文法的左递归, 以及在由文法的开始符出发推导句子的过程中如何避免回 溯 (2分)口下而上分析法面对的主要问题是:在由输入串出发向文法 的开始符归约的过程中,如何确定可归

16、约子串(句柄或最左 素 短 语)。(1分)4.中间语言是一种面向语法,复杂性介于用高级语言书写的源程序和用机器语言表示的目标程序之间,是一种易于翻译成 目标代码的代码形式。(3分)中间语言的作用在于:利用它作为中间环节,不仅可以较快 地实现源程序翻译过程,而11可在此基础上应用优化方法, 将源程序翻译成为运行时间短、占用内存少的目标程序。(2分)1.何谓上下文无关文法?它是由哪几部分组成的?2.简述NFA和DFA的联系与区别。3.语法分析方法如何分类?它们而对的主要问题是什么?4.何谓中间语言?简述它的作用。1.上下文无关文法是这样一种文法,它所定义的语法范畴(或语法 单位)是完全独立于这种范

17、畴所处的环境的。(3分)上下文无关文法由四部分所组成:一组终极符号,一组非终极符号,一个开始符号以及一组产生式。(2分)2.联系:NFA和DFA都是有限口动机,都用于接收、识别一定的字符串。 NFA 是 DFA 的推广,DFA 是 NFA 的特例。(2分)区别:NFA多值函数,DFA是单值函数。NFA可以有多个初态,DFA只有一个初态。NFA的每条弧允许用上的一个字作标记,DFA的每条弧 只允许用E上的一个字符作标记(3分)3.按照语法分析树的建立方法,可以把语法分析方法分为两类:自上而下分析法与自下而上分析法。(2分)自上而下分析法面对的主要问题是:如何消除文法的左递归, 以及在由文法的开始

18、符出发推导句子的过程中如何避免回 溯 。(2分)口下而上分析法而对的主要问题是:在由输入串出发向文法 的开始符归约的过程中,如何确定可归约子串(句柄或最左 素 短 语)。(1分)4.中间语言是一种面向语法,复杂性介于用高级语言书写的源程序和用机器语言表示的目标程序之间,是一种易丁翻译成 目标代码的代码形式。(3分)中间语言的作用在于:利用它作为中间环节,不仅可以较快 地实现源程序翻译过程,而11可在此基础上应用优化方法, 将源程序翻译成为运行时间短、占用内存少的目标程序。(2分)综合题构造一个DFA,它接受S=a, b上所有包含ab的字符串。2.对文法G (S):S - (L) | aS |

19、aL 一 L,S | S1、 消除左递归和回朔:2、 构造各非终结符的FIRST和FOLLOW集合:3、 构造预测分析表。3.给出文法G (P)P - bQb Q -cRQ - aR - Qad该文法是不是算符优先文法,请构造算符优先关系表证实之。4.(1)有如下三地址码:read(n)i:=1fen:=1L1: if i (L) | a SS f S I eL-SVLf SL | e(2) FIRST (S) = H, aFOLLOW (S):=井,,)1FIRST (Sz) = ( , a, JFOLLOW (S)=1 # ,)FIRST (L) = ( , aFOLLOW (L):= 1

20、)1FIRST (V) = , , eFOLLOW (I/)-1)1(3)预测分析表a()SSr* a SA (L)sSSSJ ES SSf eS -* eLLSLZLSI/VLJ, SCL3.给出文法G (P)P - bQbQ -cRQ f aR 一 Qad该文法是不是算符优先文法,请构造算符优先关系表证实之。答:对于文法G, II-算它的每个非终结符的FIRSTVT和LASTVT集合:FIRSTVT (P) = b |FIRSTVT (Q) = 1 a, c !FIRSTVT (R) = I a, cjLASTVT (P) = b !LASTVT (Q) = c |LASTVT (R)二

21、1 d !构造优先关系矩阵:abCdabf=xcJd文法G中的终结符对(c, a)存在两种优先关系V和汉 所以文法G不是一个算符 优先文法。I CTI I. IL1: if i ( ! LASTVT (A) = |(4分)优先函数:LASTVT (B) - | 优先关系表:1+()*I r)1十()*f26616g14661(4分)(4分)4.对以下程序(I)READBJ:“ A :=l+2(4)E:=I*J(5)D:二A+E(6)B:=D+B(7)If J60 goto (10)(8)J:=J+1 goto (3)(10) WRITE B(II)halt(1)划分基本块,画出流图(2)对英中循环进行优化,画出优化后流图(1)划分基本块,画出流图(6分)(2)对其中循环进行优化,画出优化后流图(6分)1. 构造一个DFA,它接受艺=0,上所有倒数第二个字符为1的字符串。2. 给出文法(S)S

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1