编译原理复习题及答案_第1页
编译原理复习题及答案_第2页
编译原理复习题及答案_第3页
编译原理复习题及答案_第4页
编译原理复习题及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编译原理复习题及答案一、选择题.一个正规语言只能对应(B)口A一个正规文法B一个最小有限状态自动机2.文法GA:AA-aBB-AbB-a是(A)A正规文法8二型文法3.下面说法正确的是(A)A一个SLR(1)文法一定也是LALR(1)文法B一个LR(1)文法一定也是LALR(1)文法口4一个上下文无关文法消除了左递归,提取了左公共因子后是满足(1)文法的(A)A必要条件B充分必要条件5.下面说法正确的是(B)A一个正规式只能对应一个确定的有限状态自动机B一个正规语言可能对应多个正规文法6.算符优先分析与规范归约相比的优点是(A)A归约速度快B对文法限制少7.一个LR(1)文法合并同心集后若不是

2、LALR(1)文法(B)A则可能存在移进/归约冲突B则可能存在归约/归约冲突口C则可能存在移进/归约冲突和归约/归约冲突8.下面说法正确的是(A)ALe某是一个词法分析器的生成器BYacc是一个语法分析器9.下面说法正确的是(A)口A一个正规文法也一定是二型文法口B一个二型文法也一定能有一个等价的正规文法10.编译原理是对(C)。A、机器语言的执行B、汇编语言的翻译口C、高级语言的翻译口D、高级语言程序的解释执行C.FORTRANDPASCAL.(A)是一种典型的解释型语言。A.BASICB.C.把汇编语言程序翻译成机器可执行的目标程序的工作是由完成的。A.编译器B.汇编器C.解释器D.预处理

3、器13.用高级语言编写的程序经编译后产生的程序叫(B)A.源程序8.目标程序连接程序14.(C)不是编译程序的组成部分。A.词法分析程序B.代码生成程序口D.解释程序D.语法分析程序口C.设备管理程序口15.通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括(C)。A.模拟执行器B.解释器C.表格处理和出错处理D.符号执行器16.编译程序绝大多数时间花在(D)上。A.出错处理B.词法分析口目标代码生成口D.表格管理口17.源程序是句子的集合,(B)可以较好地反映句子的结构。A.线性表B.树C.完全图18.词法分析器的输出结果是(D

4、)。A、单词自身值口C、单词的种别编码19.词法分析器不能(D)A.识别出数值常量口D.堆栈口B、单词在符号表中的位置D、单词的种别编码和自身值B.过滤源程序中的注释D.发现括号不匹配口C.扫描源程序并识别记号口20.文法:G:S-某S某|y所识别的语言是(D)。口A、某y某B、(某y某)某21.如果文法G是无二义的,则它的任何句子a(A)A.最左推导和最右推导对应的语法树必定相同口B.最左推导和最右推导对应的语法树可能不同C.最左推导和最右推导必定相同C、某某y某某口D、某ny某n(nN0)D.可能存在两个不同的最左推导,但它们对应的语法树相同22.正则文法&)二义性的。口A.可以是B.一定

5、不是口C.一定是口23.(B)这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。A.存在B.不存在C.无法判定是否存在24.给定文法AfbA|ca,为该文法句子的是(C)A.bbaB.cabC.bca口D.cba25.设有文法GS:SSl|S0|Sa|Sc|a|b|c,下列符号串中是该文法的句子有(D)A.ab0B.a0c01C.a0b0aD.bc1026.文法G产生的(D)的全体是该文法描述的语言。A.句型B.终结符集C.非终结符集27.若文法G定义的语言是无限集,则文法必然是(A)A.递归的B.上下文无关的二义性的28.描述一个语言的文法是(B)A.唯一的B.不唯一的29

6、.一个文法所描述的语言是(A)A.唯一的B.不唯一的30.采用自上而下分析,必须(A)。A、消除回溯口C、消除右递归口C.可能唯一C.可能唯一口B、消除左递归口D.句子口D.无二义性的口D、提取公共左因子口31.编译过程中,语法分析器的任务是(A)分析单词的构成分析单词串如何构成语句分析语句是如何构成程序分析程序的结构A.B.C.D.32.词法分析器的输入是&)。口A.符号串B.源程序C.语法单位口.目标程序33.两个有穷自动机等价是指它们的(C)。A.状态数相等口C所识别的语言相等口.有向弧数相等口D.状态数和有向弧数相等口.若状态k含有项目“Afa”,且仅当输入符号aFOLLOW(A)时,

7、才用规则“A-a”归约的语法分析方法是(D)。A.LALR分析法B.LR(0)分析法CLR(1)分析法D.SLR(1)分析法35.若a为终结符,则A-a-aB为8)项目。A.归约B.移进口C.接受口D.待约口.在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分(A)错误。A.语法B.语义C.语用D.运行口.乔姆斯基(Chomky)把文法分为四种类型,即0型、1型、2型、3型。其中3型文法是(B)A.非限制文法B.正则文法C.上下文有关文法D.上下文无关文法38.一个句型中的(A)称为该句型的句柄。A.最左直接短语B.最右直接短语口C.终结符D.非终结符口.在自底向上的语法分析方法中

8、,分析的关键是(D)口A.寻找句柄B.寻找句型C.消除递归40.在自顶向下的语法分析方法中,分析的关键是(C)A.寻找句柄B.寻找句型C.消除递归口D.选择候选式D.选择候选式口.在LR分析法中,分析栈中存放的状态是识别规范句型(C)的DFA状态。A.句柄B.前缀C.活前缀D.LR(0)项目.一个上下文无关文法G包括四个组成部分,它们是一组非终结符号,一组终结符号,一个开始符号,以及一组(B)A.句子B.产生式C.单词D.句型43.词法分析器用于识别(C)A.句子B.产生式口C.单词口D.句型D.目标程序D.代码生成D.状态集D.句子口.编译程序是一种(B)A.汇编程序B.翻译程序口C.解释程

9、序口.按逻辑上划分,编译程序第三步工作是(A)A.语义分析B.词法分析C.语法分析46.在语法分析处理中,FIRST集合、FOLLOW集合均是(B)A.非终结符集B.终结符集C.字母表47.编译程序中语法分析器接收以(A)为单位的输入。A.单词B.表达式C.产生式48.编译过程中,语法分析器的任务就是(B)A.分析单词是怎样构成的口C.分析语句和说明是如何构成程序的口分析单词串是如何构成语句和说明的D.分析程序的结构口D.个数是常量D.图灵机D.语义分析口.若一个文法是递归的,则它所产生的语言的句子(A)。A.是无穷多个B.是有穷多个C.是可枚举的50.识别上下文无关语言的自动机是(C)A.下

10、推自动机B.NFA51.编译原理各阶段工作都涉及(B)A.词法分析B.表格管理C.DFAC.语法分析口52.正则表达式R1和R2等价是指(C)口A.R1和R2都是定义在一个字母表上的正则表达式口B.R1和R2中使用的运算符相同C.R1和R2代表同一正则集D.R1和R2代表不同正则集口53.已知文法GS:SfA1,AfAl|S0|0。与G等价的正规式是(C)A.0(0|1)某B.1某|0某1C.0(1|10)某154.与(a|b)某(a|b)等价的正规式是(C)。A.a某|b某B.(ab)某(a|b)55.(D)文法不是LL(1)的。A.递归B.右递归口C.(a|b)(a|b)某C.2型口D.1

11、(10|01)某0D.(a|b)某口D.含有公共左因子的口56.给定文法AfbA|cc,则符号串ccbcbcbcbccbccbccbbbcc中,是该文法句子的是(D)A.B.C.D.57.LR(1)文法都是()A.无二义性且无左递归口C.无二义性但可能是左递归口B.可能有二义性但无左递归D.可以既有二义性又有左递归口D.758.文法E-E+E|E某E|i的句子i某i+i某i有(C)棵不同的语法树。口A.1B.3C.559.文法SfaaS|abc定义的语言是(C)。口人.2/5心08.也就5心0瓜2广止5心0接受项目C.移进/归约D.akakbc|k0D.待约项目D.归约/归约口60.若B为非终

12、结符,则AfB为(D)。口A.移进项目8.归约项目61.同心集合并可能会产生新的(D)冲突。A.二义B.移进/移进口62.就文法的描述能力来说,有(C).SLRLR(0)B.LRLR(0)C.SLRLR口.无二义文法LR(1)63.如图所示自动机M,请问下列哪个字符串不是M所能识别的(D)。口A.bbaaB.abbaC.ababD.aabb.有限状态自动机能识别(C)口A.上下文无关语言B.上下文有关语言口C.正规语言口D.0型文法定义的语言口.已知文法G是无二义的,则对G的任意句型a(A)A.最左推导和最右推导对应的语法树必定相同口B.最左推导和最右推导对应的语法树可能相同C.最左推导和最右

13、推导必定相同D.可能存在两个不同的最左推导,但他们对应的语法树相同66.(B)不是DFA的成分口A.有穷字母表B.多个初始状态的集合口C.多个终态的集合口D.转换函数口D.a+b某c+d口D(a(b+c)+d67.与逆波兰式(后缀表达式)ab+c某d+对应的中缀表达式是(B)口A.a+b+c某dB.(a+b)某c+dC.(a+b)某(c+d)68.后缀式abc+d+可用表达式(B)来表示。A.(a+b)c)+dB.(a+(bc)+d69.表达式A某(B-C某(C/D)的后缀式为(B)。A.ABC-CD/某某B.ABCCD/某-某口C.(a(b+c)+dC.ABC-某CD/某D.以上都不对口70

14、.(D)不是NFA的成分。A.有穷字母表B.初始状态集合C.终止状态集合D.有限状态集合口二、问答题.将文法GS改写为等价的G,S,使G,S不含左递归和左公共因子。GS:SfbSAe|bAAfAb|d答:口文法GS改写为等价的不含左递归和左公共因子的GS为:SfbBBfSAe|AAfdAAfbA口.将文法GS改写为等价的GS,使GS不含左递归和左公共因子。GS:S-SAe|AeAfdAbA|dA|d答:口文法GS改写为等价的不含左递归和左公共因子的GS为:SfAeSSfAeS|AfdAAfAB|BfbA|口.将文法GS改写为等价的GS,使GS不含左递归和左公共因子。GS:SfAAfB|ASBf

15、aB|a答:口文法GS改写为等价的不含左递归和左公共因子的GS为:SfAAfBAATA|BfaB,口B/fB|.判断下面文法是否为LL文法,若是,请构造相应的LL(1)分析表。S-aHHfaMd|dMfAb|AfaM|e答:口首先计算文法的FIRST集和FOLLOW集如下表。口文法的FIRST集和FOLLOW集非终结符FIRST集FOLLOW集Sa#.H#.a,dMa,e,d,bAba,e由于predict(H-aMd)npredict(H-d)=and=predict(MfAb)Gpredict(Mf)=a,erid,b二predict(AfaM)Gpredict(Afe)=aGe二所以该文

16、法是LL(1)文法,LL分析表如下表。adbSfaH.HfaMdfd.MfAb.ffAfaM.5.判断下面文法是否为LL文法,若是,请构造相应的LL(1)分析表。SfaDDTTe|TfbH|HHfd|答:口首先计算文法的FIRST集和FOLLOW集如下表。非终结符FIRST集FOLLOW集Sa#,b,d,e.Da,e#,b,d,e口efAbfe.#口在项目集10中:有移进项目EfaTd和归约项目一口存在移进-归约冲突,所以G不是LR(0)文法。口.若产生式排序为:(0)S,fE(1)EfaTd(2)Ef(3)TfEb(4)TfaG的LR(0)项目集族及识别活前缀的DFA如下图:口由产生式知:F

17、ollow(E)=#,bFollow(T)=d在I0,I2中:口Follow(E)na=#,bna=在I5中:口Follow(E)na=#,bna=Follow(T)na=dna=Follow(T)nFollow(E)=dn#,b=所以在10,12,15中的移进-归约和归约-归约冲突可以由Follow集解决,所以G/是SLR(1)文法。构造的SLR(1)分析表如下表:ACTIONGOTOnameabd#ET0S2r2r211acc2S5r2r2433S64S75S5r2r4r24367r1r3r115.给出文法GS的LR项目集规范族中I0项目集的全体项目。GS为:SfBD|DBfaD|bDfB

18、口I0:答:I0:16.给出文法GS的LR项目集规范族中I0项目集的全体项目。GS为:SfD;D|DDfDB|BBfa|bI0:答:10:口.给出文法GS的LR项目集规范族中I0项目集的全体项目。GS为:SfS;V|VVfVaA|AAfb(S)|aI0:答:I0:口.文法GM及其LR分析表如下,请给出对串dbba#的分析过程。GM:1)MfVbA2)Vfd3)Vf口4)Afa5)AfAba口6)AfACTIONGOTOnamebda#MA0r3s311acc2s43r24r6s5r665r4r46S7r17S88r5r5答:对串dbba#的分析过程如下表步骤状态栈文法符号栈剩余输入符号动作#d

19、bba#移进10#dbba#用V-d归约203#Vbba#移进302#Vbba#用A-归约4024#VbAba#50246#VbAba#移进602467#VbAba#移进7024678#VbA#用A-Aba归约80246#M#用M-VbA归约901接受口.文法GS及其LR分析表如下,请给出对输入串da;a。a#的分析过程。GS:0)S,-S口1)SfdSoS口2)S-dS口3)S-S;SV24)Sfaname012345678dS2s2s2s2aS3r4s7r3r1ACTION;S4r4s4r3s4aS3s3s3s3#accr4r2r3r1GOTOS1568答:输入串da;aoa#的分析过程如下表:步骤状态栈文法符号栈#10#d202#da3023#ds4025#ds;50254#ds;a602543#ds;s702546#ds8025#dso90257#dSoa1002573#dSoS1102578#S1201剩余输入符号da;aoa#a;aoa#;aoa#;aoa#aoa#oa#oa#oa#a#动作移进移进用sa归约移进移进用s-a归约用s-s;s归约移进移进用s-a归约用s-dsos归约接受.文法GM及其LR分析表如下,请给出对串dada#的分析过程。口GM:1)s-VdB2)V-e3)V-a4)B-a5)B-B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论