2022年贵州财经大学编译原理复习资料 .pdf
《2022年贵州财经大学编译原理复习资料 .pdf》由会员分享,可在线阅读,更多相关《2022年贵州财经大学编译原理复习资料 .pdf(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、编译原理学习指导与习题解析第一章:1-1 选择、填空题(1)构造一个编译程序的三要素是,。答案: 源语言、目标语言和编译方法、技术及工具(2)被编译的语言为A 语言,编译的最终结果为B语言代码,编写编译程序的语言为C语言。那么,语言是源语言,语言是宿主语言,语言是目标语言。答案: A、C、B (3)下面对编译原理的有关概念描述正确的是。A目标语言只能是机器语言B编译程序处理的对象是源语言CLex是语法分析自动生成器D解释程序属于编译程序答案: c (4) 是编译程序的组成部分。A词法分析程序B代码生成程序c设备管理程序D语法分析程序答案: C (5)下面对编译程序分为“遍”描述正确的是A分“遍
2、”可以使编译程序结构清晰B可以提高程序的执行效率C可以提高机器的执行效率D可以增加对内存容量的要求答案: A (6)编译程序各阶段的工作都涉及到,。A表格管理B语法分析C出错处理D代码优化答案: A、 C (7)编译程序的生成方式可以是,。A自编译B高级程序设计语言编写C完全自动生成D汇编语言缩写答案: ABD (8)设有表达式a*bc,将其中 a*b 识别为表达式的编译阶段是。A词法分析B语法分析C语义分析D代码生成答案: B (9)设一个编译器接收的源语言A,目标语言为B,宿主语言为C,则该编译器的符号表示是。答案:(10)下面对编译程序分“遍”应考虑的因素描述不正确的是。A源语言的特征和
3、约束B代码优化的因素C编译程序的功能D目标代码的选择答案: C I-2 判断题(I)解释执行与编译执行的根本区别在于解释程序对源程序没有真正进行翻译。( ) 答案: 错精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 31 页(2)宿主语言是目标机的目标语言。( ) 答案: 错(3)具有优化功能的编译器可以组织为一遍扫描的编译器。( ) 答案: 错(4)编译程序是将用某一种程序设计语言编写的源程序翻译成等价的另一种语言程序(目标程序。( ) 答案: 错(5)编译程序是应用软件。( ) 答案: 错(6)编译程序的基本组成中,词法分析、语法分
4、析和语义分析应该是有序的。( ) 答案: 对(7)“遍”是指对源程序的从头到尾扫描。( ) 答案: 错(8)用高级语言书写的源程序都必须通过翻译,产生目标代码后才能运行。( ) 答案: 对(9)含有优化功能的编译程序执行效率高。( ) 答案: 错(10)解释程序和编译程序的不同在于,解释程序根据语法翻译成目标代码并立即执行之,而编译程序需产生中间代码及优化。( ) 答案: 错1-3 简答题(I)什么是编译程序? 答:把用某一种程序设计语言编写的源程序翻译成等价的另一种语言程序(目标程序 )的程序,称之为编译程序。(2)源程序的编译执行和解释执行的主要区别是什么? 答: 一般编译程序从对源程序执
5、行途径的角度不同,可分为解释执行和编译执行。所谓解释执行是借助于解释程序完成,即按源程序语句运行时的动态结构,直接逐句地边分析边翻译并执行。像自然语言翻译中的口译,随时进行翻译。 所谓编译执行,是将源程序先翻译成一个等价的目标程序,然后再运行此目标程序,故编译执行分为编译阶段和运行阶段。两种执行方式的主要区别是:编译执行是由编译程序生成一个与源程序等价的目标程序,它可以完全取代源程序,目标程序可运行任意多次,不必依赖编译程序。正像自然语言翻译中的笔译, 一次翻译可多次阅读。而解释执行不生成目标程序,对源程序的每次执行都伴随着重新翻译的工作,而且不能摆脱翻译程序。(3)典型的编译程序在逻辑功能上
6、由哪几部分组成?各部分的功能是什么? 答: 典型的编译程序在逻辑功能上由词法分析、语法分析、语义分析与中间代码生成、代码优化及目标代码生成五部分组成。各部分的简要功能是:词法分析的任务是对输入的符号串形式的源程序进行最初的加工处理。它依次扫描读入的源程序中的每个字符,根据源语言的词法规则识别出源程序中有独立意义的单词,用某种特定的数据结构对它的属性予以表示和标注。语法分析的任务是:在词法分析基础上,依据源语言的语法规则,对词法分析的结果进行语法检查,并识别出单词符号串所对应的语法范畴。语义分析与中间代码生成的任务是:依据源语言的语义规则对语法分析所识别的语法范畴精选学习资料 - - - - -
7、 - - - - 名师归纳总结 - - - - - - -第 2 页,共 31 页进行语义检查并分析其含义,翻译成与其等价的中间代码。代码优化是为了改进目标代码的质量而在编译过程中进行的工作。代码优化可以在中间代码或目标代码级上进行,其实质是在不改变源程序语义的基础上对其进行加工变换,以期获得更高效的目标代码。而“高效”一般是指,对所产生的目标程序缩短其运行时间和节省存储空间。目标代码生成的功能是:根据中间代码及编译过程中产生的各种表格的有关信息,最终生成所期望的目标代码程序。(4)编译程序实现的途径有哪些? 答: 编译程序的实现途径即实现方式一般可以用高、中级程序设计语言编程实现,可以通过移
8、植的方式实现,可以通过自编译的方式,还可以通过部分自动生成的方式实现。(5)为不同目标机编写相同源语言的编译器时,其设计变化最大的是后端,为什么? 答: 在编译程序构成的经典划分中,词法分析、 语法分析及语义分析中间代码生成称为编译程序的前端, 代码优化及代码生成称为后端。涉及前端的功能仅与源语言的词法、语法及语义相关适于自动生成。对后端实现的代码优化和代码生成,鉴于不同的目标机具有不同的体系结构和指令系统,代码优化和代码生成需要基于特定的目标机来设计和实现。(6)简述编译程序中“出错处理”程序的作用。答: “出错处理”作为编译程序的一个不可或缺的公共程序,其主要作用是对在编译过程中扫描、翻译
9、源程序时根据文法规则和语义规则诊断源程序中存在的错误,对错误进行定性、定位和必要的容错处理。这样可以协助程序员及时准确地发现源程序中的错误,以提高调试程序的效率,方便用户修改程序,并能把错误限制在尽可能小的范围里。(7)为不同目标机编写相同源语言的编译器时,其设计变化最大的是后端,为什么?答: 在编译程序构成的经典划分中,词法分析、 语法分析及语义分析中间代码生成称为编译程序的前端, 代码优化及代码生成称为后端。涉及前端的功能仅与源语言的词法、语法及语义相关适于自动生成。对后端实现的代码优化和代码生成,鉴于不同的目标机具有不同的体系结构和指令系统,代码优化和代码生成需要基于特定的目标机来设计和
10、实现。(8)简述编译程序中“出错处理”程序的作用。答: “出错处理”作为编译程序的一个不可或缺的公共程序,其主要作用是对在编译过程中扫描、 翻译源程序时根据文法规则和语义规则诊断源程序中存在的错误,对错误定性、 定位和必要的容错处理。这样可以协助程序员及时准确地发现源程序中的错误,以提高调试程序的效率,方便用户修改程序,并能把错误限制在尽可能小的范围里。第二章:22 习题2-1)选择、填空题设有字母表A=0,A = 答案:,0,00,000 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 31 页用于描述另一种语言的语言称为答案: 元语
11、言(3)一个文法所描述的语言是一个无限集合,则该文法一定是文法。答案: 递归(4)下面不能用于对文法进行描述的是。A源语言B.EBNF C.BNF D.语法图答案: A (5)设有文法 G 的符号集V,非终结符集,终结符集,下列叙述中正确的是。AV=B.V=C.V=D. V=答案: D (6 设文法 G(S)为:S 0A A 1B B 0|0S 则 L(G(S) 为。A.B.C.D.答案: B (7)设有文法 G(S)为:S (B)a B Bb|b|下列叙述错误的是。A.G 是 2 型文法B. C.D.有文法 G为 S () a|(B)a B bB|b ,则 G=G 答案: C (8)给定文法
12、 G(S):S 0S|1A|0 A 1|1S|0B B 1A|0B 下列符号串是L(G)中元素的是。A10100010011011 B. 0101001110010010 C1101010011110111 D. 1010011101101010 答案: A (9)设有文法 G(S): S S1|S0|Sa|Sc|a|b|c ,下列符号串中不是该文法的句子的是。A.ab0 B.a0c01 C.aaa D.bc10 答案: A (10)设有文法G(S):S Bs|Aa|精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 31 页A bA|Ac
13、 C bCaS|a 下列符号串是L(G)中元素的是。A.B.C.D.答案: D (11)设有文法G(S):S aA|bC|a A aS|Bb B aC|bA|b C aB|bS 下述不为L(G)的句子的是。A.B.C.D.答案: B (12)文法 G(S) 为:S aA A bB B a|aS 则 L(G)为。A.B.C.D.答案: C (13)设有文法G,满足的文法 G 为。A. S aSd|T T bcT|bc B.S aSd|T T bTc|bc C. S AB|B A aAd|ad B bBc|bc D. S Abc|A A aAd|ad 答案: B (14)语言的文法 G 是。A.
14、S Abb A aB|a B bB|b B.S Abb A Ba|a B aBb|b C. S Ab A aAb|a D. S aAb A Ab|aAb|答案: D (15)给出语言,其相应的文法G 为和。A. S aS|T T bcT|bc 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 31 页B. S aS|T T bTc|bc C. S AB|B A aA|a B bBc|bc D. S Abc|A A aA|a 答案: B、C (16)给出语言L(G)= ,其相应的文法G 为。A. S aSc|B B bB|b B.S aS|
15、T T bTc|bc C. S Abc|A A aA|a D. S AB|A A aA|a B bBc|bc 答案: D (17)设有语言L(G(S)=a b ,下面描述该语言正确的文法是。A. S AB A Aa|B Bb|b B.S AB|AS A Aa|a B b C. S AB|AS A aA|a B Bb|D. S SA|A A aAb|a 答案: B (18)设有语言L(G)=由于相同个数 (0 或 n)的 a 和 b 组成的句子 ,满足对 L(G)描述的正确的文法是和。A. S abS|B. S aSbS|bSaS|C.S aSb|ab|D. S SS|aSb|bSa|答案: B
16、、D (19)设定义在字母表a,b,c,x,y,z上的正规式r=(a|b|c)(x|y|z),则 L(r)中元素有个。A. 9 B. 6 C. 18 D. 27 答案: A (20)正规集 L=a |n0相应的正规式是。答案:(21)设正规式r=(a|b)(x|y) ,则下面错误的正规集元素是。A. abx B. bxxx C. a D.bxyyxxy 答案: A (22)下述正规式中与(a|b )(c|d) 等价的是。A.a (c|d)|b(c|d) B.a(c|d) |b(c|d) C.a (c|d)|b (c|d) D.(a|b) c|(a|b) d 答案: C (23)有文法 G(S)
17、: S Ax|By A y|Ay B x|y 下面与文法G(S)表示相同语言的正规式是。A. y x|xy|y B. yx|x|xy C.yy X|xy|y D. yyx|xy|xy 答案: D (24)有文法 G(S):精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 31 页S dA A a|aB B aB|a|b|Bc C bC|b 下面与文法G(S)表示相同语言的正规式是。A. daabbB. daabC. daaD. daa b 答案: B (25)设有文法G(S):S AB|AS A aA|a B b 文法 G(S)与下面正规
18、式等价的是。A. aabbB. aabC. (ab)D. a(ab)b 答案: B (26)设文法 G(S):S aS|Sb|a|b 则文法 G(S) 所识别语言的正规式为。答案:(27) 设文法 G(A):S Sab|bR R S|a G(S)的语言 L(G(S)= 。答案:(28)设文法 G(A):A B B X|BA X Xa|Xb|a|b 则文法 G(A)所识别语言的正规式为。答案:(29)设文法G(V): V aaV|bc 该文法对应的语言L(G)= 。答案:(30)已知语言:则文法 G(S) 是。答案: S aaSb|ab|bb 精选学习资料 - - - - - - - - - 名
19、师归纳总结 - - - - - - -第 7 页,共 31 页(31)设有语言:,则文法G(S)是。答案: S Sc|A A aAb|ab (32)已知 2 型文法 G(S)相对应的2 型语言为:,则它的文法 G(S)可描述为。答案: S aSb|A A bAa|ba (33) 不是 DFA的构成成分。A有穷字母表B初始状态集合C终止状态集合D有限状态集合答案: B (34)有限自动机M 和 N 等价是指。A M 和 N 的字母表相同BM 和 N 状态数和有向边数相等CM 和 N 状态数或有向边数相等DM 和 N 识别的字符串集合相同答案: D (35)如果一个正规式所代表的集合是无穷的,则该
20、正规式必含有的运算是。A连接运算“.”B或运算“ | ”C闭包运算“* ”D括号“() ”答案: C 2-2 判断题(1)设有文法符号集V,则。()答案: 错(2)一部文法G 的文法符号不属于。()答案: 对(3)有文法G1=G2,则 L(G1)=L(G2) 。()答案: 对(4)一个语言的文法是不唯一的。()答案: 对(5)元语言是描述另一种语言的语言。()答案: 对(6)BNF是一种广泛被采用的描述文法的工具。()答案: 对(7)文法 G 所描述的语言就是G 的终结符号集的闭包。()答案: 错(8)对于文法G ( S )=(,P ,S) ,V=,r 是文法() 的句型当且仅当S=r,且 r
21、V ,是文法()的句子当且仅当S=,且 r()答案: 对精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 31 页()文法的一个句子对应于多个推导,则是二义的。()答案: 错()对给定的文法(),若至少有一个句型存在两个或两个以上不同的最左(或最右)推导,这是判断是二义文法的充分非必要条件。()答案:错()对给定的文法(),若至少有一个句型存在两棵或两棵以上的不同的树,是判断是二义文法的充分必要条件。()答案: 对()一棵分叉树反映了其叶节点从左向右连接形成的句型的任意推导情况。()答案: 错()和的区别之一是映射函数是否唯一。()答案:
22、 对()一个正规式只能等价于一个确定的有限状态自动机。()答案 :错() 任意有限自动机都鞥转化为一等价的特殊自动机;其状态图中初态无射入弧,终态无射出弧。()答案: 对()对任何正规集,都有正规式()。()答案: 对()设有和都是非的正规式,则有()()。()答案: 错()使用正规式运算能够描述定义在字母表上的所有符号串集合。()答案: 错()乔姆斯基把文法分为四种类型,即型、型、型、型。型文法也称为正规文法,型文法是短语文法。()答案: 错()正规式产生的语言都可以用上下文法来描述。()答案: 对()对任何正规式,都存在一个,满足()()。()答案: 对()正规文法、正规式、和在接受语言的
23、能力上是相互等价的。()答案: 对()自动机和状态数不同,则二者必不等价。()答案: 错() 一个有限自动机只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。()答案: 错() 一个有限自动机识别的语言是一个无限集合,则该有限自动机的状态图一定含有回路。()答案:对()如果一个有限自动机接受空串,则他的状态转换图一定含有弧。()答案: 错()一个确定的有限自动机,可以通过多条路识别一个符号串。()答案: 错精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 31 页()的确定化算法具有消除弧的功能。()答案: 对()正则文法一定不
24、是二义文法。()答案: 错()对每一个左线性文法,一定存在一个有线性文法,使得()() 。()答案: 对简答题()乔姆斯基分类法按照什么原则对文法进行分类?分成了几类?各有什么样的特点?答: 按产生式的不同对文法进行分类。分为类:型:产生式无限制。型:产生式限制为形如型:产生式限制为形如A 。型:产生式限制为形如A 或 A 或者 (A B 或 A )。()简要概述分析树的概念及其作用。答:分析树的根节点是文法的开始符号,结点间的父子关系为产生式规则,即若父节点标识为 ,子 结点从左到右依次标识为, 则在文法中存在一产生式 , 一棵分析树的从左到右的叶结点,就形成了由该分析树表示的推导出的句型。
25、分析树的生长过程是一个句子的推导过程,分析树额可以直观形象的表示经推导而产生的句子结构,有助于理解句子的语法结构层次。()如何判断一部文法是二义文法?答: 对一部文法,如果至少存在一个句子,对应两棵(或两棵以上)不同的分析树或有两个不同的最左推导,则这个文法是二义性的。()简述正则表达式与有限自动机的等价性的证明思路,并简要说明每步要完成的基本工作或要解决的关键问题是什么?答:正则表达式与有限自动机的等价性的证明思路为正规式的合成与分解,或状态转换函数的合成与分解。正则表达式有限自动机:每步的基本工作是完成正规式的分解,即分解状态转换函数,增加状态图中的状态或弧。有限自动机正则表达式:每步的基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年贵州财经大学编译原理复习资料 2022 贵州 财经大学 编译 原理 复习资料
限制150内