《编译原理》期末考试题库含答案.pdf
《《编译原理》期末考试题库含答案.pdf》由会员分享,可在线阅读,更多相关《《编译原理》期末考试题库含答案.pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 编译原理模拟试题一一、是非题(请在括号内,正确的划J,错误的划义)(每个2 分,共 2 0 分)1 .计算机高级语言翻译成低级语言只有解释一种方式。(义)2 .在编译中进行语法检查的目的是为了发现程序中所有错误。(X)3 .甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。(J )4 .正则文法其产生式为 A-a,A-B b,A.B G V N ,a、b e V T。(X)5 .每个文法都能改写为L L(1)文法。(J)6 .递归下降法允许任一非终极符是直接左递归的。(J)7 .算符优先关系表不一定存在对应的优先函数。(X)8 .自底而上语法分析方法的主要问题
2、是候选式的选择。(X)9 .L R 法是自顶向下语法分析方法。(X)1 0 .简单优先文法允许任意两个产生式具有相同右部。(X)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个 4 分,共 4 0 分)1 .一个编译程序中,不仅包含词法分析,,中间代码生成,代码优化,目标代码生成等五个部分。A.()语法分析 B.()文法分析 C.()语 言 分 析 D.()解释分析2 .词法分析器用于识别 oA.()字符串 B.()语句C.()单词 D.()标识符3 .语法分析器则可以发现源程序中的。A.()语义错误 B.()语法和语义错误C.()错误并校正 D.()语法错误4 .
3、下面关于解释程序的描述正确的是。(1)解释程序的特点是处理程序时不产生目标代码(2)解释程序适用于C O B O L 和 F O R T R A N 语言(3)解释程序是为打开编译程序技术的僵局而开发的A.()(1)(2)B.()(1)C.()(1)(2)(3)D.()(2)(3)5.解释程序处理语言时,大多数采用的是 方法。A.()源程序命令被逐个直接解释执行B.()先将源程序转化为中间代码,再解释执行C.()先将源程序解释转化为目标程序,再执行D.()以上方法都可以6.编译过程中,语法分析器的任务就是 o(1)分析单词是怎样构成的(2)分析单词串是如何构成语句和说明的(3)分析语句和说明是
4、如何构成程序的(4)分析程序的结构A.()(2)(3)C.()(1)(2)(3)B.()D.()(2)(3)(4)(1)(2)(3)(4)7.编译程序是一种A.()汇编程序C.()解释程序B.()翻译程序D.()目标程序8.文 法 G所描述的语言是 的集合。A.()文 法 G的字母表V中所有符号组成的符号串B.()文 法 G的字母表V的闭包V*中的所有符号串C.()由文法的开始符号推出的所有终极符串D.()由文法的开始符号推出的所有符号串9 .文法分为四种类型,即0 型、1 型、2型、3 型。其中3 型文法是 oA.()短语文法 B.()正则文法C.()上下文有关文法 D.()上下文无关文法1
5、 0 .一个上下文无关文法G包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 oA.()句子 B.()句型C.()单词 D.()产生式三、填空题(每空1 分,共 1 0 分)1 .编译程序的工作过程一般可以划分为词法分析,语法分析,语义分析,中间代码生成,代码优化等几个基本阶段,同时还会伴有表格处理和出错处理。2 .若源程序是用高级语言编写的,目标程序是机器语言程序或汇编程序,则其翻译程序称为 编译程序。3 .编译方式与解释方式的根本区别在于是否生成目标代码 o4 .对编译程序而言,输入数据是 源 程 序 输出结果是 目标程序-05 .产生式是用于定义 语法成分的
6、一种书写规则。6 .语法分析最常用的两类方法是 自上而下和 自下而上分析法。四、简答题(2 0 分)1 .什么是句子?什么是语言?答:(1)设 G 是一个给定的文法,S 是文法的开始符号,如果Sx(其中xGVT*),则称x 是文法的一个句子。设 GS是给定文法,则由文法G 所定义的语言L(G)可描述为:L(G)=x|Sx,xeV T*。2 .写一文法,使其语言是偶正整数的集合,要求:(1)允许0打头;(2)不允许0 打头。解:(1)GS=(S,P,D,N,0,1,2,.,9,P,S)P:S-PD|DP-NP|ND-0|2|4|6|8N-0|l|2|3|4|5|6|7|8|9(2)GS=(S,P
7、,R,D,N,Q,0,l,2,.,9,P,S)P:S-PD|P0|DP-NR|NR-QR|QD-2|4|6|8N-1|2|3|4|5|6|7|8|9Q-0|l|2|3|4|5|6|7|8|93.已知文法G E 为:E 一 T|E+T|E-TTF|T*F|T/FF(E)|i该文法的开始符号(识别符号)是什么?请给出该文法的终结符号集合V T 和非终结符号集合V N。找 出 句 型 T+T*F+i的所有短语、简单短语和句柄。解:该文法的开始符号(识别符号)是 E。该文法的终结符号集合VT=+、-、*、/、(、)、i o 非终结符号集合VN=E、T、F句型T+T*F+I的短语为i、T*F、第-个 T
8、、T+T*F+i;简单短语为i、T*F、第一个T;句柄为第一个T。4.构造正规式相应的NFA:1(0|1)*101解 1(0|1)*101 对 应 的 NFA 为015.写出表达式(a+b*c)/(a+b)d 的逆波兰表示和三元式序列。逆波兰表示:abc*+ab+/d三元式序列:(*,b,c)(+,a,)(+,a,b)(/,,)(一,d)五.计算题(10分)构造下述文法G S 的自动机:S-A0A-A0|Sl|0该自动机是确定的吗?若不确定,则对它确定化。解:由于该文法的产生式S-A0,A-AO|S1中没有字符集V T 的输入,所以不是确定的自动机。要将其他确定化,必须先用代入法得到它对应的正
9、规式。把 S?A0代入产生式A?S1有:A=A0|AO 1|0=A(0|01)|0=0(0|01 )*,代入 S-A0 有该文法的正规式:0(0|01)*0,所以,改写该文法为确定的自动机为:由于状态A 有 3 次输入0 的重复输入,所以上图只是N F A,下面将它确定化:下 表 由 子 集 法 将 NFA 转 换 为 DFA:II.-e-cbiu rtf(Mova To(1,0)Iv-clcsurefMoveTbdi)AWBXBXCX,Y,ZCX,Y,ZCX,Y,ZBX由上表可知D F A 为:编译原理模拟试题二一、是 非 题(请在括号内,正确的划4错误的划*)(每个2 分,共 20分)I.
10、“用高级语言书写的源程序都必须通过编译,产生目标代码后才能投入运行”这种说法。(x)2.若一个句型中出现了某产生式的右部,则此右部一定是该句型的句柄。(x)3.一个句型的句柄一定是文法某产生式的右部。(4)4.在程序中标识符的出现仅为使用性的。(x)5.仅考虑一个基本块,不能确定一个赋值是否真是无用的。()6.削减运算强度破坏了临时变量在一基本块内仅被定义一次的特性。()7.在中间代码优化中循环上的优化主要有不变表达式外提和削减运算强度。(x)8 .算符优先关系表不一定存在对应的优先函数。(x)9 .数组元素的地址计算与数组的存储方式有关。(x)1 0 .编译程序与具体的机器有关,与具体的语言
11、无关。(x)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共4 0分)1 .通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还 应 包 括。A.()模拟执行器 B.()解释器C.()表格处理和出错处理 D.()符号执行器2 .文法 G N=(b ,N,B ,N,Nb|b B ,B b N ),该文法所描述的语言是A.()L(G N)=b i|i 0 B.()L(G N)=b 2 i|i 0 C.()L(G N)=b 2 i+l|i 0 D.()L(G N)=b 2 i+l|i l 3 .一个句型中的最左 称为该
12、句型的句柄。A.()短语 B.()简单短语 C.()素短语 D.()终结符号4.设G是一个给定的文法,S是文法的开始符号,如 果S-x(其 中x d V*),则 称x是文 法G的一个。A.()候选式 B.()句型 C.()单词 D.()产生式5 .文法 G E:ETT I E +TT F|T *FF a|(E )该文法句型E +F *(E +T)的 简 单 短 语 是 下 列 符 号 串 中 的。(E +T )E +T F F *(E +T)A.()和 B.()和 C.()和 D.()6 .若一个文法是递归的,则 它 所 产 生 的 语 言 的 句 子。A.()是无穷多个 B.()是有穷多个C
13、.()是可枚举的 D.()个数是常量7 .词法分析器用于识别 oA.()句子 B.()句型 C.()单词 D.()产生式8 .在语法分析处理中,F I R S T 集合、FOL L OW集合、S E L E C T 集 合 均 是。A.()非终极符集 B.()终极符集 C.()字母表 D.()状态集9 .在自底向上的语法分析方法中,分 析 的 关 键 是。A.()寻找句柄 B.()寻找句型 C.()消除递归 D.()选择候选式1 0 .在 L R分析法中,分析栈中存放的状态是识别规范句型 的 DFA状态。A.()句柄 B.()前缀 C.()活前缀 D.()L R(0)项目三、填空题(每空1 分
14、,共 1 0 分)1 .设 G是一个给定的文法,S是文法的开始符号,如果S,x(其 中 x G V T*),则 称 x是文法的一个_句子 o2.递归下降法不允许任一非终极符是直接_左_递归的。3 .自顶向下的语法分析方法的基本思想是:从文法的一开始符号开始,根据给定的输入串并按照文法的产生式一步一步的向下进行直接推导,试图推导出文法的一句子,使之与给定的输入串 匹配。4 .自底向上的语法分析方法的基本思想是:从输入串入手,利用文法的产生式一步一步地向上进行 直接归约,力求归约到文法的_ 开 始符号。5.常用的参数传递方式有 传 地 址 传值和传名。6.在使用高级语言编程时,首先可通过编译程序发
15、现源程序的全部语法 错误和语义部分错误。四、简 答 题(20分)1.已知文法G S为:SdABA aA|aB-Bb|EG S产生的语言是什么?答:GS产生的语言是 L(GS)=danbm|nl,m0。2.简 述 D FA 与 N FA 有何区别?答:DFA与 NFA的区别表现为两个方面:一是NFA可以若干个开始状态,而 DFA仅只一个开始状态。另一方面,DFA的映象M 是从K。到 K,而 NFA的映象M 是 从 K Z 到 K 的子集,即映象M 将产生一个状态集合(可能为空集),而不是单个状态。3.构造正规式相应的 DFA:1(1010*|1(010)*l)*0o解:1(1010*|1(010
16、)*1)*0 对 应 的 NFA 为:4.已知文法G(S)S f|A|(T)TTT,S|S写出句子(a,a),a)的规范归约过程及每一步的句柄。解:句型 归约规则 句柄(a,a),a)S a a(S,a),a)TSs(T,a),a)S aa(T,S),a)TT,ST,S(S).a)TTSS(T),a)SS(T)(T)(S,a)TTSS(T(a)S-aa(T,S)TT,ST,S(T)S-(T)(T)s5.何谓优化?按所涉及的程序范围可分为哪几级优化?1)优化:对程序进行各种等价变换,使得从变换后的程序出发,能产生更有效的目标代码。(2)三种级别:局部优化、循环优化、全局优化。五.计算题(10分)
17、对下面的文法G:E-TEE-+E|T-FTT-T|EF-PFF-*F|P-(E)|a|b|A(1)计算这个文法的每个非终结符的FIRST集 和 FOLLOW集。(4 分)(2)证明这个方法是LL(1)的。(4 分)(3)构造它的预测分析表。(2 分)解:(1 )计算这个文法的每个非终结符的FIRST集和FOLLOW集。FIRST集合有:FIRST(E)=FIRST(T)=FIRST(F)=FIRST(P)=(,a,b,A;FIRST(E)=+FIRST(T)=FIRST(F)=FIRST(P)=(,a,b,A;FIRST(T)=FIRST(T)U&=(,a,b,八 间;FIRST(F)=FIR
18、ST(P)=(,a,b,A;FIRST(F尸FIRST(P)=*同;FIRST(P)=(,a,b,A);FOLLOW集合有:FOLLOW(E)=),#;FOLLOW.尸 FOLLOW(E 尸),#;FOLLOW(T)=FIRST(E,)U FOLLOW(E)=+,),#;不包含 FOLLOW(T,)=FOLLOW(T)=FIRST(E,)U FOLLOW(E)=+,),#;FOLLOW(F)=FIRST(T)U FOLLOW(T)=(,a,b,A,+,),#)FOLLOW(F,)=FOLLOW(F)=FIRST(T,)U FOLLOW(T)=(,a,b,A,+,),#;FOLLOW(P)=FI
19、RST(F,)U FOLLOW(F尸*,(,a,b,+,),#;不包含 e(2)证明这个方法是LL(1)的。各产生式的SELECT集合有:SELECT(E-TEl)=FIRST(T)=(,a,b,A;SELECT(E-+E尸+;SELECT(E,-8)=FOLLOW(E/)=),#SELECT(T-FTFIRST(F)=(,a,b,A;SELECT(T-T)=FIRST(T)=(,a,b,A);SELECT(T-8)=FOLLOW(T/)=+,),#);SELECT(F-PFFIRST(P)=(,a,b,A;SELECT(F-*F)=*;SELECT(F,-E)=FOLLOW(F,)=(,a,
20、b,A,+,),#;SELECT(P-(E)=(SELECT(P-a)=aSELECT(P-b)=bSELECT(P-A)=A可见,相同左部产生式的SELECT集的交集均为空,所以文法GE是 LL(1)文法。(3)构造它的预测分析表。文法GE的预测分析表如下:+*()ab#E-TEy-TEZ玲TETTEE,f+E-T-FT-FTZTFTTFTT-T3 Tf T-ZF-PFy-PFy今PF,1PF,F-*F,-T PT(E)3 afb-*编译原理模拟试题三一、是非题(请在括号内,正确的划4,错误的划x)(每个2 分,共 20分)1.对于数据空间的存贮分配,F O R T R A N 采用动态贮存
21、分配策略。(x)2.甲机上的某编译程序在乙机上能直接使用的必要条件是甲机和乙机的操作系统功能完全相同。(x)3.递归下降分析法是自顶向上分析方法。N)4 .产生式是用于定义词法成分的一种书写规则。(x)5 .LR法是自顶向下语法分析方法。N)6 .在 S L R (1 )分析法的名称中,S的含义是简单的。(力7 .综合属性是用于“自上而下”传递信息。(x)8 .符号表中的信息栏中登记了每个名字的属性和特征等有关信息,如类型、种属、所占单元大小、地址等等。(x)9 .程序语言的语言处理程序是一种应用软件。(x)10.解释程序适用于COBOL和 F O R T R A N 语言。(x)二、选择题(
22、请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共4 0分)1.文 法 G 产生的 的全体是该文法描述的语言。A.()句型 B.()终结符集 C.()非终结符集 D.()句子2.若 文 法 G 定义的语言是无限集,则文法必然是。A.()递归的c.()二义性的B.()前后文无关的D.()无二义性的3.四种形式语言文法中,1型文法又称为 文法。A.()短语结构文法 B.()前后文无关文法C.()前后文行关文法 D.()正规文法4.一 个 文 法 所 描 述 的 语 言 是。A.()唯一的 B.()不唯一的C.()可能唯一,好可能不唯一 D.()都不对5.和代码优化部分不是每个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译原理 编译 原理 期末考试 题库 答案
限制150内