您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 编译原理复习题-给学生
《编译原理》复习题丨杨海振整理丨201505211/44一、单项选择题1.构造编译程序应掌握。Da.源程序b.目标语言c.编译方法d.以上三项都是2.编译程序绝大多数时间花在上。Da.出错处理b.词法分析c.目标代码生成d.表格管理3.DFAM(见图1-1)接受的字集为。Da.以0开头的二进制数组成的集合b.以0结尾的二进制数组成的集合c.含奇数个0的二进制数组成的集合d.含偶数个0的二进制数组成的集合4.-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。(@代表后缀式中的求负运算符)Ca.abc*cd-b@a*+/-@b.a@bc*cd-b@a*+/-c.a@bc*cd-/b@a*+-d.a@bc*/cd-b@a*+-5.在规范归约中,用来刻画可归约串。Ba.直接短语b.句柄c.最左素短语d.素短语6.若B为非终结符,则A→α·Bβ为项目。Da.归约b.移进c.接受d.待约7.中间代码生成时所依据的是。Ca.语法规则b.词法规则c.语义规则d.等价变换规则8.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):E→E(1)∧T{E.val=E(1).val*T.val}E→T{E.val=T.val}T→T(1)#n{T.val=T(1).val+n.val}T→n{T.val=n.val}则分析句子1∧2∧3#4其值为。Ca.10b.34c.14d.54XY001图1-1《编译原理》复习题丨杨海振整理丨201505212/449.如果文法G是无二义的,则它的任何句子α。Aa.最左推导和最右推导对应的语法树必定相同b.最左推导和最右推导对应的语法树可能不同c.最左推导和最右推导必定相同d.可能存在两个不同的最左推导,但它们对应的语法树相同10.下列动作中,不是自下而上分析动作的是:。Ba.移进b.展开c.接受d.报错11.编译程序是对。Da.汇编程序的翻译b.高级语言程序的解释执行c.机器语言的执行d.高级语言的翻译12.词法分析器的输出结果是。Ca.单词的种别编码b.单词在符号表中的位置c.单词的种别编码和自身值d.单词自身值13.正规式M1和M2等价是指。Ca.M1和M2的状态数相等b.M1和M2的有向边条数相等c.M1和M2所识别的语言集相等d.M1和M2状态数和有向边条数相等14.在规范归约中,用来刻画可归约串。Ba.直接短语b.句柄c.最左素短语d.素短语15.若a为终结符,则A→α·aβ为项目。Ba.归约b.移进c.接受d.待约16.语法分析时所依据的是。Aa.语法规则b.词法规则c.语义规则d.等价变换规则17.文法G:S→xSx|y所识别的语言是。Ca.xyxb.(xyx)*c.xnyxn(n≥0)d.x*yx*18.如果文法G是无二义的,则它的任何句子α。Aa.最左推导和最右推导对应的语法树必定相同b.最左推导和最右推导对应的语法树可能不同c.最左推导和最右推导必定相同《编译原理》复习题丨杨海振整理丨201505213/44d.可能存在两个不同的最左推导,但它们对应的语法树相同19.下列动作中,不是自上而下分析动作的是:。Ca.匹配b.展开c.移进d.报错20.词法分析器的输出结果是。Ca.单词的种别编码b.单词在符号表中的位置c.单词的种别编码和自身值d.单词自身值21.-a-(b*c/(c-d)+(-b)*a)的逆波兰表示是。(@代表后缀式中的求负运算符)Ca.abc*cd-b@a*+/-@b.a@bc*cd-b@a*+/-c.a@bc*cd-/b@a*+-d.a@bc*/cd-b@a*+-22.在规范归约中,用来刻画可归约串。Ba.直接短语b.句柄c.最左素短语d.素短语23.若B为非终结符,则A→α·为项目。Aa.归约b.移进c.接受d.待约24.文法G:S→xSx|xS|y所识别的语言是。Aa.xmyxn(m≥n≥0)b.(xyx)*c.xnyxn(n≥0)d.x*yx*25.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):E→E(1)∧T{E.val=E(1).val*T.val}E→T{E.val=T.val}T→T(1)#n{T.val=T(1).val+n.val}T→n{T.val=n.val}则分析句子2∧3#4其值为。Ca.10b.21c.14d.2426.间接三元式表示法的优点为。Aa.采用间接码表,便于优化处理b.节省存储空间,不便于表的修改c.便于优化处理,节省存储空间《编译原理》复习题丨杨海振整理丨201505214/44d.节省存储空间,不便于优化处理27.下列动作中,不是自上而下分析动作的是:。Ca.匹配b.展开c.接受d.报错28.同正规式(a|b)+等价的正规式是______B___________。A.(a|b)*B.(a|b)(a|b)*C.(ab)*(ab)D.(a|b)|(a|b)*29.称有限自动机A1和A2等价是指_______D________。A.A1和A2都是定义在一个字母表上的有限自动机B.A1和A2状态数和有向边数相等C.A1和A2状态数或有向边数相等D.A1和A2所能识别的字符串集合相等30.由文法的开始符号出发经过若干步(包括0步)推导产生的文法符号序列称为______B________。A.语言B.句型C.句子D.句柄31.在自上而下的语法分析中,应从C开始分析。A.句型B.句子C.文法开始符号D.句柄32.一个文法G,若________C____________,则称它是LL(1)文法。A.G中不含左递归B.G无二义性C.G的LL(1)分析表中不含多重定义的条目D.G中产生式不含左公因子33.在规范归约中,用______B______来刻画可归约串。A.直接短语B.句柄C.素短语D.短语34.若a为终结符,则A→α·aβ为_______B______项目。A.归约B.移进C.接受D.待约35.中间代码生成时所依据的是C。A.词法规则B.语法规则C.语义规则D.等价变换规则36.文法G[S]及其语法制导翻译定义如下:产生式语义动作S’→Sprint(S.num)S→(L)S.num=L.num+1S→aS.num=0L→L(1),SL.num=L(1).num+S.num《编译原理》复习题丨杨海振整理丨201505215/44L→SL.num=S.num若输入为(a,(a)),且采用自底向上的分析方法,则输出为C。A.0B.1C.2D.437.四元式之间的联系是通过_______B____________实现的。A.指示器B.临时变量C.符号表D.程序变量38.将编译程序分成若干“遍”,是为了(B)。A.提高程序的执行效率B.使程序的结构更为清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率39.一个编译程序在编译时,大多数时间花在(D)上。A.出错处理B.词法分析C.目标代码生成D.表格管理及处理40.下列符号串不可以由符号集={a,b}上的正闭包运算产生的是:(A)A.εB.aC.aaD.ab41.词法分析器的输出是:(C)A.单词在符号表中的位置B.单词的自身值C.单词的自身值和单词的种类码D.单词的种类码42.两个DFA等价是指:(D)A.这两个DFA的状态数相同B.这两个DFA的状态数和有向弧条数都相等C.这两个DFA的有向弧条数相等D.这两个DFA接受的语言相同43.生成中间代码时所依据的是(C)。A.语法规则B.词法规则C.语义规则D.等价变换规则44.表达式(┐a∨b)∧(c∨d)的逆波兰表示为(B)。A.┐ab∨∧cd∨B.a┐b∨cd∨∧C.ab∨┐cd∨∧D.a┐b∨∧cd∨45.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):E→E(1)∧T{E.val=E(1).val*T.val}E→T{E.val=T.val}T→T(1)#n{T.val=T(1).val+n.val}T→n{T.val=n.val}《编译原理》复习题丨杨海振整理丨201505216/44则分析句子2∧3#4其值为(C)。A.10B.21C.14D.2446.表达式a+b+c+d的逆波兰表示为(B)。A.a+bc+d+B.ab+c+d+C.ab+cd++D.abc+d++47.文法G[S]及其语法制导翻译定义如下:产生式语义动作S’→Sprint(S.num)S→(L)S.num=L.num+1S→aS.num=0L→L(1),SL.num=L(1).num+S.numL→SL.num=S.num若输入为(a,(a)),且采用自底向上的分析方法,则输出为(C)。A.0B.1C.2D.448.若a为终结符,则A→α.aβ为(B)。A.归约项目B.移进项目C.待约项目D.接受项目49.若B为非终结符,则A→α.Bβ为(C)。A.归约项目B.移进项目C.待约项目D.接受项目50.项目A→α.为(A)。A.归约项目B.移进项目C.待约项目D.接受项目51.语法分析器的输入是:(A)A.Token序列B.源程序C.目标程序D.符号表52.在LR(0)的Action表中,如果某行中存在标记为“rj”的栏,则:(A)A.该行必定填满“rj”B.该行未必填满“rj”C.其他行可能也有“rj”D.goto表中也可能有“rj”53.LR分析过程中栈内存储的是(A)。A.活前缀B.前缀C.归约活前缀D.项目54.文法G:S→xxS|y所识别的语言是(D)。A.xxy*B.(xxy)*C.xx*yxD.(xx)*y55.若状态k含有项目“A→α.”,对任意非终结符a,都用规则“A→α”归约的语法分析方法是(B)。A.LALR分析法B.LR(0)分析法C.LR(1)分析法D.SLR(1)分析法56.在编译过程中,如果遇到错误应该(C)。A.把错误理解成局部的错误B.对错误在局部范围内进行纠正,继续向下分析C.当发现错误时,跳过错误所在的语法单位继续分析下去D.当发现错误时立即停止编译,待用户改正错误后再继续编译57.将编译程序分成若干“遍”,是为了(B)《编译原理》复习题丨杨海振整理丨201505217/44A.提高程序的执行效率B.使程序的结构更为清晰C.利用有限的机器内存并提高机器的执行效率D.利用有限的机器内存但降低了机器的执行效率58.下列符号串不可以由符号集={a,b}上的正闭包运算产生的是:(A)A.εB.aC.aaD.ab59.表达式(┐a∨b)∧(e∨f)的逆波兰表示为(B)。A.┐ab∨∧ef∨B.a┐b∨ef∨∧C.ab∨┐ef∨∧D.a┐b∨∧ef∨60.有文法G及其语法制导翻译如下所示(语义规则中的*和+分别是常规意义下的算术运算符):E→E(1)∧T{E.val=E(1).val*T.val}E→T{E.val=T.val}T→T(1)#n{T.val=T(1).val+n.val}T→n{T.val=n.val}则分析句子3∧3#4其值为(B)。A.10B.21C.14D.2461.表达式a+b+c的逆波兰表示为(B)。A.a+bc+B.ab+c+C.+abc+D.abc++62.文法G[S]及其语法制导翻译定义如下:产生式语义动作S’→Sprint(S.num)S→(L)S.num=L.num+1S→aS.num=0L→L(1),SL.num=L(1).num+S.numL→SL.num=S.num若输入为(a,a),且采用自底向上的分析方法,则输出为(B)。A.0B.1C.2D.463.在SLR(1)的Action表中,如果某行中存在标记为“rj”的栏,则:(B)A.该行必定填满“rj”B.该行未必填满“rj”C.其他行可能也有“rj”D.goto表中也可能有“rj”64.一个(D)指明了在LR分析过程中的某个时刻所能看到产生式多大一部分。A.活前缀B.前缀C.归约活前缀D.项目65.文法G:S→xS|y所识别的语言是(D)。A.xy*B.(xy)*C.xx*yxD.
本文标题:编译原理复习题-给学生
链接地址:https://www.777doc.com/doc-2068884 .html