编译原理练习题.doc
《编译原理练习题.doc》由会员分享,可在线阅读,更多相关《编译原理练习题.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、“编译原理”练习题一、 选择题1、汇编程序是将 a 翻译成 b ,编译程序是将 c 翻译成 d .a.汇编语言程序 b.机器语言程序 c.高级语言程序d. a 或者 b e. a 或者 c f. b 或者 c2、下面关于解释程序的描述正确的是 b . (1) 解释程序的特点是处理程序时不产生目标代码 (2) 解释程序适用于COBOL 和 FORTRAN 语言 (3) 解释程序是为打开编译程序技术的僵局而开发的 a. (1)(2) b. (1) c. (1)(2)(3) d.(2)(3)3、高级语言的语言处理程序分为解释程序和编译程序两种.编译程序有五个阶段,而解释程序通常缺少 (1)e 和 (
2、1)b .其中, (1)e 的目的是使最后阶段产生的目标代码更为高效. 与编译系统相比,解释系统 (2)d .解释程序处理语言时,大多数采用的是 (3)b 方法. (4)a 就是一种典型的解释型语言. (1): a. 中间代码生成 b.目标代码生成 c.词法分析 d.语法分析 e.代码优化 (2): a.比较简单,可移植性好,执行速度快 b.比较复杂,可移植性好,执行速度快 c.比较简单,可移植性差,执行速度慢 d.比较简单,可移植性好,执行速度慢 (3): a.源程序命令被逐个直接解释执行 b.先将源程序转化为之间代码,再解释执行c.先将源程序解释转化为目标程序,在执行 d.以上方法都可以
3、(4) : a. BASIC b. C c. FORTRAN d. PASCAL4、用高级语言编写的程序经编译后产生的程序叫 b .用不同语言编写的程序产生 b 后,可用 g 连接在一起生成机器可执行的程序.在机器中真正执行的是 e .a. 源程序 b. 目标程序 c. 函数 d. 过程 e. 机器指令代码 f. 模块 g. 连接程序 h.程序库5、要在某一台机器上为某种语言构造一个编译程序,必须掌握下述三方面的内容: c , d , f .a. 汇编语言 b. 高级语言 c. 源语言 d. 目标语言e. 程序设计方法 f. 编译方法 g. 测试方法 h. 机器语言6、由于受到具体机器主存容量
4、的限制,编译程序几个不同阶段的工作往往被组合成 (1)d ,诸阶段的工作往往是 (2)d 进行的. (1) a. 过程 b. 程序 c. 批量 d.遍 (2) a. 顺序 b. 并行 c. 成批 d.穿插7、编译过程中,语法分析器的任务就是 b . (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构8、编写一个计算机高级语言的源程序后,到正式上机运行之前,一般要经过 b 这几步. (1) 编辑 (2) 编译 (3) 连接 (4) 运行9、编译程序必须完成的工作有 a . (1) 词法分析 (2) 语法分析 (3
5、) 语义分析 (4) 代码生成 (5) 之间代码生成 (6) 代码优化a. (1)(2)(3)(4) b. (1)(2)(3)(4)(5) c. (1)(2)(3)(4)(5)(6) d. (1)(2)(3)(4)(6) e. (1)(2)(3)(5)(6)10、编译程序是一种 B 。A. 汇编程序 B. 翻译程序 C. 解释程序 D. 目标程序11、按逻辑上划分,编译程序第二步工作是 C 。A. 语义分析 B. 词法分析 C. 语法分析 D. 代码优化12、通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括 C 。A.模拟执行器 B.解释
6、器 C.表格处理和出错处理 D.符号执行器13、文法G所描述的语言是 C 的集合。A.文法G的字母表V中所有符号组成的符号串B.文法G的字母表V的闭包V*中的所有符号串C.由文法的开始符号推出的所有终极符串D.由文法的开始符号推出的所有符号串14、乔姆斯基(Chomsky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是 B 。A.短语文法 B.正则文法 C.上下文有关文法 D.上下文无关文法15、文法GN=(b,N,B,N,NbbB,BbN),该文法所描述的语言是 C 。A. L(GN)=bii0 B. L(GN)=b2ii0C. L(GN)=b2i+1i0 D. L(GN)=b
7、2i+1i116、一个句型中的最左 B 称为该句型的句柄。可选项有:A. 短语 B. 简单短语 C. 素短语 D. 终结符号17、设G是一个给定的文法,S是文法的开始符号,如果Sx(其中xV*),则称x是文法G的一个 B 。A. 候选式 B. 句型 C. 单词 D. 产生式18、一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 D 。A. 句子 B. 句型 C. 单词 D. 产生式19、文法GE:ETETTFTF Fa(E)该文法句型EF(ET)的简单短语是下列符号串中的 B 。(ET) ET F F(ET)可选项有:A) 和 B) 和 C)
8、和 D) 20、若一个文法是递归的,则它所产生的语言的句子 A 。A.是无穷多个 B.是有穷多个 C.是可枚举的 D.个数是常量21、词法分析器用于识别 C 。A. 句子 B. 句型 C. 单词 D. 产生式22、在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是 B 。A. 非终极符集 B.终极符集 C. 字母表 D. 状态集23、编译程序中语法分析器接收以 A 为单位的输入。A. 单词 B. 表达式 C. 产生式 D. 句子24、在自底向上的语法分析方法中,分析的关键是 A 。A. 寻找句柄 B. 寻找句型 C. 消除递归 D. 选择候选式25、在LR分析法中,分析栈
9、中存放的状态是识别规范句型 C 的DFA状态。A.句柄 B. 前缀 C. 活前缀 D. LR(0)项目26、词法分析的任务是(A)A识别单词B.分析句子的含义C.识别句子D.生成目代码27、代码优分的目的是(C)A.节省时间B.节省空间C.节省时间和空间D.把编译程序进行等价交换28、代码生成阶段的主要任务是(C)A.把高级语言翻译成汇编语言B.把高级语言翻译成机器语言C.把中间代码变换成依赖具体机器的目标代码D.把汇编语言翻译成机器语言29、在LR分析法中,分析栈中存放的状态是识别规范句型 C 的DFA状态。A.句柄 B. 前缀 C. 活前缀 D. LR(0)项目30、一个上下文无关文法G包
10、括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 D 。A. 句子 B. 句型 C. 单词 D. 产生式二、 是非判断题1、正规文法产生的语言都可以用上下文无关文法来描述。 ()2、如果一个文法是递归的,则其产生的语言的句子是无穷个。 ()3、文法的二义性和语言的二义性是两个不同的概念。 ()4、一个LL( l)文法一定是无二义的。 ()5、在规范规约中用最左素短语来刻划可归约串。 ()6、目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ()7、编译程序是对汇编程序的翻译。 ()8、计算机高级语言翻译成低级语言只有解释一种方式。 ()9、在编译中进行语法检
11、查的目的是为了发现程序中所有错误。 ()10、甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。 ()11、正则文法其产生式为Aa,ABb, A,BVN,a、bVT。 ()12、每个文法都能改写为LL(1)文法。 ()13、递归下降法允许任一非终极符是直接左递归的。 ()14、算符优先关系表不一定存在对应的优先函数。 ()15、自底而上语法分析方法的主要问题是候选式的选择。 ()16、LR法是自顶向下语法分析方法。 ()18、若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。 ()19、一个句型的句柄一定是文法某产生式的右部。 ()20、在程序中标识
12、符的出现仅为使用性的。 ()21、在程序中标识符的出现仅为使用性的。 ()三、 名词解释题1、扫描遍:指编译程序对源程序或中间代码程序从头到尾扫描一次。2、短语:设GZ是给定文法, w=xuyV+,为该文法的句型,如果满足下面两个条件: Z xUy; U u; 则称句型xuy 中的子串u是句型xuy的短语。3、简单短语:设GZ是给定文法, w=xuyV+,为该文法的句型,如果满足下面两个条件: Z xUy; U u; 则称句型xuy 中的子串u是句型xuy的简单短语(或直接短语)。4、句柄:一个句型中的最左简单短语称为该句型的句柄。5、语法分析:按文法的产生式识别输入的符号串是否为一个句子的分
13、析过程。RR6、活前缀:若S A 是文法G中的一个规范推导,G是G的拓广文法,符号串是的前缀,则称是G的,也是G的一个活前缀。其中 S为文法开始符号。或:可归前缀的任意首部。7、可归前缀:是指规范句型的一个前缀,这种前缀不含句柄之后的任何符号。8、LR(0)项目:把产生式右部某位置上标有圆点的产生式称为相应文法的一个LR(0)项目。9、语义规则:对于文法的每个产生式都配备了一组属性的计算规则,称为语义规则。10、翻译方案:将属性文法中的语义规则用花括号 括起来,插在产生式右部的合适地方,指明语义规则的计算次序,陈述一些细节,得到一种语义动作与语法分析交错的表示方法,以表述语义动作在语法分析过程
14、中的执行时刻,称之为翻译方案。11、后缀式: 一种把运算量(操作数)写在前面把算符写在后面(后缀)的表示法。即 一个表达式E的后缀形式可以如下定义:(1) 如果E是一个变量或常量,则E的后缀式是E自身。(2) 如果E是E1 op E2形式的表达式,这里op是任何二元操作符,则E的后缀式为E1 E2op,这里E1和E2分别为E1和E2的后缀式。(3) 如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式。12、过程活动:一个过程的活动指的是该过程的一次执行。就是说,每次执行一个过程体,产生该过程体的一个活动。13、活动记录:为了管理过程在一次执行中所需要的信息,使用一个连续的存储块,这样一
15、个连续的存储块称为活动记录。14、活动的生存期:指的是从执行某过程体第一步操作到最后一步操作之间的操作序,包括执行过程时调用其它过程花费的时间。15、 基本块的DAG:一个基本块的DAG是一种其结点带有下述标记或附加信息的DAG。 (1)图的叶结点(没有后继的结点)以一标识符(变量名)或常数作为标记,表示该结点代表该变量或常数的值。如果叶结点用来代表某变量A的地址,则用addr(A)作为该结点的标记。通常把叶结点上作为标记的标识符加上下标0,以表示它是该变量的初值。 (2)图的内部结点(有后继的结点)以一运算符作为标记,表示该结点代表应用该运算符对其后继结点所代表的值进行运算的结果。 (3)图
16、中各个结点上可能附加一个或多个标识符,表示这些变量具有该结点所代表的值。16、S-属性文法:?什么是L-属性文法?它们之间有什么关系?S-属性文法是只含有综合属性的属性文法。 17、L-属性文法:L-属性文法要求对于每个产生式AX1X2Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:(1) 产生式Xj的左边符号X1,X2Xj-1的属性;(2) A的继承属性。 18、语法制导翻译:语法制导翻译是对前后文无关文法的扩充,即对文法中的每个产生式都附加一个语义动作或语义子程序,且在语法分析过程中,每当需要使用一个产生式进行推导或归约时,语法分析程序除执行相应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 练习题
限制150内