版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MOOC编译原理-国防科技大学中国大学慕课答案第1次单元测试1、问题:下面哪些选项不是编译程序的组成部分。选项:A、词法分析程序B、代码生成程序C、设备管理程序D、语法分析程序正确答案:【设备管理程序】2、问题:关于NFA定义,下列说法不正确的是:选项:A、字母表必须是有穷集合。B、初始状态集合不能为空。C、终止状态集合不能为空。D、状态集合须是有穷集合。正确答案:【终止状态集合不能为空。】3、问题:假定C语言正在被编译,决定下述串中不需要看下一个输入字符就能确定是单词符号及其种别的是选项:A、=B、caseC、andD、100正确答案:【=】4、问题:与正规式0(0|10)*1相对应的DFA是选项:A、B、C、D、正确答案:【】5、问题:与下面的DFA等价的正规式是选项:A、1(0|1)*0B、0(0|1)*0C、(0|1)*00D、(0|1)*10正确答案:【(0|1)*00】6、问题:下面那些字符串可以由文法G(S)生成S→AB|B|A0A→AD|CB→2|4|6|8C→1|3|5|7|9D→0|B|C选项:A、123B、0124C、5334D、70正确答案:【5334#70】7、问题:令文法为G(E):E→E+E|E-E|E*E|E/E|(E)|i下面的推导过程是句子i+i*i的最右推导的是选项:A、ETE+ETE+E*ETE+E*iTE+i*iTi+i*iB、ETE+ETE+E*ETE+i*ETE+i*iTi+i*iC、ETE*ETE*iTE+E*iTE+i*iTi+i*iD、ETE*ETE*iTE+E*iTi+E*iTi+i*i正确答案:【ETE+ETE+E*ETE+E*iTE+i*iTi+i*i#ETE*ETE*iTE+E*iTE+i*iTi+i*i】8、问题:能够产生语言的文法是选项:A、文法G(S):S→ACA→aAb|abC→cC|cB、文法G(S):S→ACA→aAb|abC→cC|εC、文法G(S):S→AC|AA→aAb|abC→cC|cD、文法G(S):S→ACA→aAb|εC→cC|ε正确答案:【文法G(S):S→ACA→aAb|abC→cC|ε#文法G(S):S→AC|AA→aAb|abC→cC|c】9、问题:下面的文法中,哪些是二义的选项:A、G(S):S→SS|(S)|()B、G(S):S→iSeS|iS|iC、G(S):S→SaS|SbS|cSd|eS|fD、G(S):S→S+S|S*S|i|(S)正确答案:【G(S):S→SS|(S)|()#G(S):S→iSeS|iS|i#G(S):S→SaS|SbS|cSd|eS|f#G(S):S→S+S|S*S|i|(S)】10、问题:文法G(S):S→aSQR|abRRQ→QRbQ→bbbR→bccR→cc是Chomsky哪一型文法?选项:A、0型B、1型C、2型D、3型正确答案:【0型#1型】11、问题:名字是用标识符表示的,但名字和标识符有着本质的区别。选项:A、正确B、错误正确答案:【正确】12、问题:一个上下文无关文法的开始符号可以是终结符或非终结符。选项:A、正确B、错误正确答案:【错误】13、问题:对于文法,句子是仅含终结符号的句型。选项:A、正确B、错误正确答案:【正确】14、问题:一棵语法树是不同推导过程的共性抽象。选项:A、正确B、错误正确答案:【正确】15、问题:一个文法是二义的,则这个文法的每个句子都对应两个不同的语法树。选项:A、正确B、错误正确答案:【错误】16、问题:对于二义文法G来说,其生成的语言L(G)必定是二义的。选项:A、正确B、错误正确答案:【错误】17、问题:上下文无关文法的描述能力和有限自动机相同。选项:A、正确B、错误正确答案:【错误】18、问题:状态转换图可用于识别一定的字符串。选项:A、正确B、错误正确答案:【正确】19、问题:对任何正规表达式e,都存在一个DFAM,满足L(M)=L(e)。选项:A、正确B、错误正确答案:【正确】20、问题:词法分析器的任务是输入源程序,给出单词符号,一般包括单词的种别编码和自身的值。选项:A、正确B、错误正确答案:【正确】第2次单元测试1、问题:给定文法G(S):S→ABcA→a|εB→b|ε非终结符S的FIRST集合是选项:A、FIRST(S)={a,b,c,e}B、FIRST(S)={a,b,c}C、FIRST(S)={a,b}D、FIRST(S)={a}正确答案:【FIRST(S)={a,b,c}】2、问题:给定文法G(S):S→ABcA→a|εB→b|ε非终结符A的FOLLOW集合是选项:A、FOLLOW(S)={a,b,c,B、}C、FOLLOW(S)={a,b,c}D、FOLLOW(A)={b,c}E、FOLLOW(A)={c}正确答案:【FOLLOW(A)={b,c}】3、问题:给定文法G(S):S→(A)|aA→A+S|S非终结符S的LASTVT集合是选项:A、LASTVT(S)={+,a,)}B、LASTVT(S)={+,a}C、LASTVT(S)={+,)}D、LASTVT(S)={a,)}正确答案:【LASTVT(S)={a,)}】4、问题:给定文法G(S):S→(A)|aA→A+S|S非终结符A的FIRSTVT集合是选项:A、FIRSTVT(A)={+,a,(}B、FIRSTVT(A)={+,a}C、FIRSTVT(A)={a,(}D、FIRSTVT(A)={+,(}正确答案:【FIRSTVT(A)={+,a,(}】5、问题:对于文法G(S):S→(L)|aS|aL→L,S|S句型(S,(a))的句柄是选项:A、aB、SC、(a)D、S,(a)正确答案:【S】6、问题:下面哪些文法是无二义文法。选项:A、LL(1)文法B、算符优先文法C、SLR(1)文法D、LR(k)文法正确答案:【LL(1)文法#算符优先文法#SLR(1)文法#LR(k)文法】7、问题:下面的文法中属于LL(1)文法的是选项:A、G(S):S→ABcA→a|eB→b|eB、G(S):S→AbA→a|B|eB→b|eC、G(S):S→ABBAA→a|eB→b|eD、G(S):S→aSe|BB→bBe|CC→cCe|d正确答案:【G(S):S→ABcA→a|eB→b|e#G(S):S→aSe|BB→bBe|CC→cCe|d】8、问题:对于某文法规范句型aBcDef,如果句柄是Bc,下面哪些字符串是活前缀选项:A、εB、BcC、aBD、aBcD正确答案:【ε#aB】9、问题:下面的文法中不属于算符优先文法的是选项:A、G(S):S→*AA→0A1|*B、G(S):S→ABBAA→a|eB→b|eC、G(S):S→aSb|PP→bPc|bQcQ→Qa|aD、G(S):S→iCtS|iCtSeS|aC→b正确答案:【G(S):S→ABBAA→a|eB→b|e#G(S):S→aSb|PP→bPc|bQcQ→Qa|a#G(S):S→iCtS|iCtSeS|aC→b】10、问题:对于文法G(S'),该文法识别活前缀的DFA如下图,状态I5包含的项目有G(S'):(0)S'→S(1)S→iSeS(2)S→iS(3)S→a选项:A、S→iSe?SB、S→?iSeSC、S→?iSD、S→?a正确答案:【S→iSe?S#S→?iSeS#S→?iS#S→?a】11、问题:使用自上而下分析法要先消除文法的左递归。选项:A、正确B、错误正确答案:【正确】12、问题:对于任何文法,都能将其改写成LL(1)文法。选项:A、正确B、错误正确答案:【错误】13、问题:LL(1)文法的预测分析表没有多重定义入口。选项:A、正确B、错误正确答案:【正确】14、问题:如果一个文法的任何产生式的右部都不含有两个相继(并列)的非终结符,则该文法是算符优先文法。选项:A、正确B、错误正确答案:【错误】15、问题:算符优先分析法是一种自上而下分析法。选项:A、正确B、错误正确答案:【错误】16、问题:由最右推导得到的句型称为规范句型。选项:A、正确B、错误正确答案:【正确】17、问题:最左归约是最右推导的逆过程。选项:A、正确B、错误正确答案:【正确】18、问题:一个无二义文法的句型的句柄是不唯一的。选项:A、正确B、错误正确答案:【错误】19、问题:在规范归约过程中,分析栈内的符号串和扫描剩下的输入符号串构成了一个规范句型。选项:A、正确B、错误正确答案:【正确】20、问题:任何LR(1)文法都是SLR(1)文法。选项:A、正确B、错误正确答案:【错误】第3次单元测试1、问题:(a+b)/(c-d)对应的逆波兰式(后缀式)是选项:A、ab+cd-/B、abcd+/-C、abcd-/+D、ab+cd/-正确答案:【ab+cd-/】2、问题:表达式(a+b)/c-(a+b)*d对应的间接三元式表示如下,其中三元式表中第(3)号三元式应为间接码表三元式表(1)OPARG1ARG2(2)(1)+ab(1)(2)/(1)c(3)(3)(4)(4)-(2)(3)选项:A、(+,a,b)B、(*,(1),d)C、(*,(2),d)D、(*,(1),(2))正确答案:【(*,(1),d)】3、问题:设AS为文法的综合属性集,AI为继承属性集,则对于下面的属性文法G(P)定义中,AS和AI正确描述是产生式语义规则P→xQRQ.b:=R.dR.c:=1R.e:=Q.aQ→uQ.a:=3R→vR.d:=R.cR.f:=R.e选项:A、AS={Q.a,R.c,R.e}AI={Q.b,R.d,R.f}B、AS={Q.a,Q.b}AI={R.c,R.d,R.e,R.f}C、AS={Q.b,R.c,R.f}AI={Q.a,R.d,R.e}D、AS={Q.a,R.d,R.f}AI={Q.b,R.c,R.e}正确答案:【AS={Q.a,R.d,R.f}AI={Q.b,R.c,R.e}】4、问题:考虑下面的属性文法G(S)过程enter(name,type)用来把名字name填入到符号表中,并给出此名字的类型type。按照该属性文法,关于语句,,:integr的语义描述准确的是选项:A、将,,三个名字填入符号表中B、说明,,是integer变量C、说明,,是integer变量,把,,三个名字填入符号表中D、说明,,是integer变量,把,,三个名字填入符号表中,并在类型栏中填上integer正确答案:【说明,,是integer变量,把,,三个名字填入符号表中,并在类型栏中填上integer】5、问题:考虑下面的属性文法G(S)对于输入字符串abc进行自下而上的语法分析和属性计算,设S.u的初始值为5,属性计算完成后,S.v的值为选项:A、16B、17C、18D、19正确答案:【18】6、问题:关于属性文法,下列说法中正确的是选项:A、属性文法是对上下文无关文法的扩展。B、属性文法只能描述语言的语法知识。C、属性文法提供了描述语言的语义的机制。D、所有属性文法都是良定义的。正确答案:【属性文法是对上下文无关文法的扩展。#属性文法提供了描述语言的语义的机制。】7、问题:下面哪些属性文法是L-属性文法。选项:A、G(S):产生式语义规则S→XYZZ.h:=S.aX.c:=Z.gS.b:=X.d-2Y.e:=S.bX→xX.d:=2*X.cY→yY.f:=Y.e*3Z→zZ.g:=Z.h+1B、G(S):产生式语义规则S→BB.ps:=10S.ht:=B.htB→sub.ps:=B.ps.ps:=shrink(B.ps)B.ht:=disp(.ht,.ht)B→textB.ht:=text.h×B.psC、G(L):产生式语义规则L→Enprint(E.val)E→+TE.val:=.val+T.valE→TE.val:=T.valT→*FT.val:=.val*F.valT→FT.val:=F.valF→(E)F.val:=E.valF→digitF.val:=digit.lexvalD、G(D):产生式语义规则D→TLL.in:=T.typeT→intT.type:=integerT→realT.type:=realL→,id.in:=L.inaddtype(id.entry,L.in)L→idaddtype(id.entry,L.in)正确答案:【G(S):产生式语义规则S→BB.ps:=10S.ht:=B.htB→sub.ps:=B.ps.ps:=shrink(B.ps)B.ht:=disp(.ht,.ht)B→textB.ht:=text.h×B.ps#G(L):产生式语义规则L→Enprint(E.val)E→+TE.val:=.val+T.valE→TE.val:=T.valT→*FT.val:=.val*F.valT→FT.val:=F.valF→(E)F.val:=E.valF→digitF.val:=digit.lexval#G(D):产生式语义规则D→TLL.in:=T.typeT→intT.type:=integerT→realT.type:=realL→,id.in:=L.inaddtype(id.entry,L.in)L→idaddtype(id.entry,L.in)】8、问题:1、给定属性文法G(P):语法制导定义如下:产生式语义规则P→Dprint(D.i)D→;D.i:=.i+.iD→id:TD.i:=1D→id:labelD.i:=1假设语法单位P对应程序,D对应声明语句,id对应标识符,T对应类型,按照该属性文法的定义,下列说法中正确的是选项:A、D.i表示D对应的声明语句的数目。B、D.i表示D对应的声明语句中的标识符的数目。C、该文法生成的程序只能包含有一个声明语句。D、在该文法生成的程序中,可以在声明语句中声明多个变量名。正确答案:【D.i表示D对应的声明语句的数目。#D.i表示D对应的声明语句中的标识符的数目。】9、问题:对于翻译模式R→addopT{.i:=mknode(addop.lexme,R.i,T.nptr)}{R.s:=.s}R→e{R.s:=R.i}编写R的翻译子程序如下:functionR(in:↑AST_node):↑AST_node;varnptr,i1,s1,s:↑AST_node;addoplexeme:char;beginifsym=addopthenbeginaddoplexeme:=lexval;advance;nptr:=T;i1:=mknode(addoplexeme,in,nptr);s1:=R(i1)s:=s1endelses:=in;returnsend;其中AST_node为抽象语法树(AST)结点类型。关于该子程序实现,下列说法正确的是选项:A、函数R的返回结果是指向抽象语法树结点的指针,指向翻译得到的抽象语法树的根结点。B、R的继承属性i实现为函数的形式参数in。C、如果R与e匹配,则该函数返回null值。D、R的综合属性s实现为函数的返回值。正确答案:【函数R的返回结果是指向抽象语法树结点的指针,指向翻译得到的抽象语法树的根结点。#R的继承属性i实现为函数的形式参数in。#R的综合属性s实现为函数的返回值。】10、问题:与语句a:=(b+c)*e+(b+c)/f等价的中间代码是:选项:A、三元式:(1)(+,b,c)(2)(*,(1),e)(3)(+,b,c)(4)(/,(3),f)(5)(+,(2),(4))(6)(:=,a,(5))B、四元式:(1)(+,b,c,T1)(2)(*,T1,e,T2)(3)(+,b,c,T3)(4)(/,T3,f,T4)(5)(+,T2,T4,T5)(6)(:=,T5,-,a)C、D、正确答案:【三元式:(1)(+,b,c)(2)(*,(1),e)(3)(+,b,c)(4)(/,(3),f)(5)(+,(2),(4))(6)(:=,a,(5))#四元式:(1)(+,b,c,T1)(2)(*,T1,e,T2)(3)(+,b,c,T3)(4)(/,T3,f,T4)(5)(+,T2,T4,T5)(6)(:=,T5,-,a)#】11、问题:在属性文法中,属性可以代表数值型信息,语义规则只能进行数值型计算。选项:A、正确B、错误正确答案:【错误】12、问题:在属性文法中,综合属性可用于“自下而上”传递信息,继承属性可用于“自上而下”传递信息。选项:A、正确B、错误正确答案:【正确】13、问题:在属性文法中,对于每个产生式,必须在该产生式对应的语义规则中提供计算该产生式中所有符号的所有属性的计算规则。选项:A、正确B、错误正确答案:【错误】14、问题:在语法树中,一个结点的继承属性只能依赖于由其父结点。选项:A、正确B、错误正确答案:【错误】15、问题:S-属性文法只含有综合属性。选项:A、正确B、错误正确答案:【正确】16、问题:L-属性文法只含有继承属性。选项:A、正确B、错误正确答案:【错误】17、问题:L-属性文法一定是S-属性文法。选项:A、正确B、错误正确答案:【错误】18、问题:DAG和抽象语法树都属于图表示法的中间语言。选项:A、正确B、错误正确答案:【正确】19、问题:三元式、间接三元式、四元式都属于三地址代码。选项:A、正确B、错误正确答案:【正确】20、问题:后缀式表示法可以不用括号,因为只要知道每个算符的目数,对于后缀式,不论从哪一端进行扫描,都能对它进行无歧义地分解。选项:A、正确B、错误正确答案:【正确】第4次单元测试1、问题:将赋值语句A:=B*(-C)+D*(E-F)翻译成下面的三地址代码,其中空白处应该填写:T1:=-CT2:=B*T1T4:=D*T3T5:=T2+T4A:=T5选项:A、T3:=T2+DB、T3:=D*EC、T3:=E-FD、T3:=F–E正确答案:【T3:=E-F】2、问题:将布尔表达式(AB)and(BC)or(EF)翻译成下面的四元式序列,其中空白处应该填写:100(j,A,B,102)101102(j,B,C,106)103(j,-,-,104)104(j,E,F,106)105(j,-,-,112)106……选项:A、(j,-,-,102)B、(j,-,-,104)C、(j,-,-,106)D、(j,-,-,112)正确答案:【(j,-,-,104)】3、问题:将语句if(A0)thenwhile(C0)doC:=C-D翻译成下面的四元式序列,其中空白处应该填写:100(j,A,0,102)101(j,-,-,107)102(j,C,0,104)103(j,-,-,107)104(-,C,D,T1)105(:=,T1,-,C)106107……选项:A、(j,-,-,100)B、(j,-,-,102)C、(j,-,-,104)D、(j,-,-,107)正确答案:【(j,-,-,102)】4、问题:假设与下图所示的if-then-else的语义对应的属性文法中与产生式S→ifEthenS1elseS2对应的语义规则如下,其中空白处应该填写:E.true:=newlabel;E.false:=newlabel;S1.next:=S.next;S2.next:=;S.code:=E.code||gen(E.true‘:’)||S1.code||gen(‘goto’S.next)||gen(E.false‘:’)||S2.code;选项:A、newlabelB、E.trueC、E.falseD、S.next正确答案:【S.next】5、问题:某语言的do-while语句的语法形式为S?doS(1)WhileE其语义解释为:选项:A、E.place表示存放E值的单元的名字(地址)。B、E.code表示对E求值的三地址语句序列。C、S.code代表赋值语句S的三地址代码。D、上述属性文法不是S-属性文法。正确答案:【E.place表示存放E值的单元的名字(地址)。#E.code表示对E求值的三地址语句序列。#S.code代表赋值语句S的三地址代码。】7、问题:关于数组元素引用的翻译,下列说法正确的是选项:A、编译程序在翻译数组元素引用时,会在生成的代码中插入计算数组元素地址的代码。B、编译程序产生数组元素地址计算代码,其中的不变部分与数组的定义相关。C、编译程序产生数组元素地址计算代码,其中的可变部分与数组的定义、数组元素引用的下标都相关。D、数组元素引用的翻译可以从左到右一遍扫描生成地址计算代码。正确答案:【编译程序在翻译数组元素引用时,会在生成的代码中插入计算数组元素地址的代码。#编译程序产生数组元素地址计算代码,其中的不变部分与数组的定义相关。#编译程序产生数组元素地址计算代码,其中的可变部分与数组的定义、数组元素引用的下标都相关。#数组元素引用的翻译可以从左到右一遍扫描生成地址计算代码。】8、问题:产生式E?E1+E2的语义动作中关于E.type的语义规则可定义为:{ifE1.type=integerandE2.type=integerE.type:=integerelseE.type:=real}下面的说法正确的是选项:A、整型表达式和整型表达式做加法,结果是整型。B、整型表达式和整型表达式做加法,结果是实型。C、整型表达式和实型表达式做加法,结果是整型。D、整型表达式和实型表达式做加法,结果是实型。正确答案:【整型表达式和整型表达式做加法,结果是整型。#整型表达式和实型表达式做加法,结果是实型。】9、问题:关于程序设计语言中的布尔表达式,下列说法中正确的是选项:A、布尔表达式在程序中可以用于逻辑演算、以及将逻辑计算的结果用作控制语句的条件。B、在不同的程序设计语言中,布尔表达式的计算规则是一样的。C、在不同的程序设计语言中,布尔表达式的计算规则可能是不同的。D、对于一个程序设计语言,布尔表达式的计算可以有不同的翻译方法,但是计算得到的逻辑结果(真假值)应当是一样的。正确答案:【布尔表达式在程序中可以用于逻辑演算、以及将逻辑计算的结果用作控制语句的条件。#在不同的程序设计语言中,布尔表达式的计算规则可能是不同的。#对于一个程序设计语言,布尔表达式的计算可以有不同的翻译方法,但是计算得到的逻辑结果(真假值)应当是一样的。】10、问题:关于下面的while-do语句的属性文法,说法正确的是选项:A、E.true和E.false都是综合属性。B、E.true和E.false都是继承属性。C、综合属性S.begin存放E的代码开头的对应的标号。D、继承属性S.next存放语句S的后继语句对应的标号。正确答案:【E.true和E.false都是继承属性。#综合属性S.begin存放E的代码开头的对应的标号。#继承属性S.next存放语句S的后继语句对应的标号。】11、问题:语法制导翻译是一种由源程序的语法结构所驱动的翻译方法。选项:A、正确B、错误正确答案:【正确】12、问题:数组元素的地址计算代码的翻译与数组的存贮方式没有关系。选项:A、正确B、错误正确答案:【错误】13、问题:不同程序设计语言中关于算术表达式的计算规则都是一样。选项:A、正确B、错误正确答案:【错误】14、问题:属性文法可以看作是关于语言翻译的规范说明,而翻译模式给出了使用语义规则进行计算的实现细节。选项:A、正确B、错误正确答案:【正确】15、问题:翻译模式的设计通常需要考虑和语法分析器的结合。选项:A、正确B、错误正确答案:【正确】16、问题:程序中计算布尔表达式,一定要计算完该表达式的所有子表达式后才能得到的结果。选项:A、正确B、错误正确答案:【错误】17、问题:一遍扫描的翻译模式和语法分析配合,能够一遍扫描完成语法分析和中间代码生成。选项:A、正确B、错误正确答案:【正确】18、问题:在自下而上一遍扫描翻译布尔表达式过程中,当整个布尔表达式的分析完毕,该布尔表达式翻译的四元式都是完整、无需回填的。选项:A、正确B、错误正确答案:【错误】19、问题:高级程序设计语言常用的控制结构有顺序结构、选择结构和循环结构。选项:A、正确B、错误正确答案:【正确】20、问题:对于给定属性文法,翻译模式是唯一的。选项:A、正确B、错误正确答案:【错误】第5次单元测试1、问题:考虑下面的类PASCAL的嵌套过程语言程序,对于调用过程:主程序→过程Q→过程R→过程R,过程R的第2次调用的活动记录中的Display表为:选项:A、B、C、D、正确答案:【】2、问题:对于下面的高级语言程序:…procedureP(X,Y,Z);beginY:=Y+1;Z:=Z+X;endP;beginA:=2;B:=3;P(A+B,A,A);printAend若参数传递的方法为传值,程序执行时所输出的A是选项:A、2B、7C、8D、9正确答案:【2】3、问题:对于下面的程序(与上题相同):…procedureP(X,Y,Z);beginY:=Y+1;Z:=Z+X;endP;beginA:=2;B:=3;P(A+B,A,A);printAend若参数传递的方法为传地址,程序执行时所输出的A是选项:A、2B、7C、8D、9正确答案:【8】4、问题:按照基本快划分算法,以下中间语言程序划分成的基本块数目是1)readC2)A:=03)B:=14)L1:A:=A+B5)ifBCgotoL26)B:=B+17)gotoL18)L2:writeA9)halt选项:A、3B、4C、5D、6正确答案:【4】5、问题:假设H是基本块出口的活跃变量,R0和R1是可用寄存器,对下列四元式组成基本块:A:=B*CD:=E+FG:=A+DH:=G*2生成目标代码如下:LDR0,BMULR0,CLDR1,EADDR1,FADDR0,R1MULR0,2其中空白处的代码为选项:A、LDR0,HB、LDR1,HC、STR0,HD、STR1,H正确答案:【STR0,H】6、问题:编译程序对符号表进行操作的时机包括选项:A、分析变量声明语句时B、分析包括变量名的表达式时C、分析过程的形式参数列表时D、分析名字的作用域时正确答案:【分析变量声明语句时#分析包括变量名的表达式时#分析过程的形式参数列表时#分析名字的作用域时】7、问题:一个目标程序运行所需的存储空间包括选项:A、存放目标代码的空间B、存放数据项目的空间C、存放程序运行的控制数据所需单元D、存放程序运行的连接数据所需单元正确答案:【存放目标代码的空间#存放数据项目的空间#存放程序运行的控制数据所需单元#存放程序运行的连接数据所需单元】8、问题:对于下面的嵌套过程语言的程序,按照最近嵌套原则进行作用域分析,下面说法正确的是选项:A、子程序P1可以调用子程序P21B、子程序P2可以访问子程序P1中的变量cC、子程序P21可以调用子程序P1D、子程序P21可以访问子程序P2中的形式参数i2正确答案:【子程序P21可以调用子程序P1#子程序P21可以访问子程序P2中的形式参数i2】9、问题:设有基本块如下:T1:=3T2:=A*BT3:=9+T1M:=A*BT4:=C-DL:=T3*T4T2:=C+DN:=T2假设L、M和N是出基本块后的活跃变量,对于上述程序可以采取的局部优化措施有选项:A、合并已知量B、删除无用赋值C、循环展开D、代码外提正确答案:【合并已知量#删除无用赋值】10、问题:对以下四元式程序,对其中循环进行优化,可采取的循环优化措施有I:=1readJ,KL:A:=K*IB:=J*IX:=J+KC:=A*BwriteCI:=I+1ifI100gotoLJ:=A+X选项:A、合并已知量B、代码外提C、强度消弱D、删除归纳变量正确答案:【代码外提#强度消弱#删除归纳变量】11、问题:一般来说,符号表中的信息可以视为两大栏:名字栏和信息栏。选项:A、正确B、错误正确答案:【正确】12、问题:符号表可以用来帮助做名字的作用域分析。选项:A、正确B、错误正确答案:【正确】13、问题:一个程序设计语言只能提供一种参数传递机制选项:A、正确B、错误正确答案:【错误】14、问题:对于在编译时不能确定程序运行时数据空间的大小、允许递归调用的程序设计语言,一般采取静态存储分配策略。选项:A、正确B、错误正确答案:【错误】15、问题:对于嵌套过程语言,运行时过程的DISPLAY表占用的存储单元的数目在编译时就可确定。选项:A、正确B、错误正确答案:【正确】16、问题:对于嵌套过程语言,静态链和DISPLAY的方法都可以帮助实现对非局部名字的访问。选项:A、正确B、错误正确答案:【正确】17、问题:所谓优化,是指对程序进行各种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。选项:A、正确B、错误正确答案:【正确】18、问题:对中间语言程序进行基本块划分后,对于那些未被纳入某一基本块中的语句,都可以从程序中删除。选项:A、正确B、错误正确答案:【正确】19、问题:循环优化是局限于基本块范围内的优化。选项:A、正确B、错误正确答案:【错误】20、问题:代码生成时,对于寄存器中最新的计算结果一定要马上送回主存单元选项:A、正确B、错误正确答案:【错误】结课考试1、问题:识别的字集为“包含奇数个1和奇数个0的二进制数串”的DFA是选项:A、B、C、D、正确答案:【】2、问题:下列文法中,生成的语言是选项:的是A、G(S):S→ABCDA→aA|aB→bB|bC→cC|cD→dD|dB、G(S):S→ACA→aAb|abC→cCd|cdC、G(S):S→aSd|AA→bAc|bcD、G(S):S→aSb|AA→cAd|cd正确答案:【G(S):S→aSd|AA→bAc|bc】3、问题:对于文法G(S):S→BAA→BS|dB→aA|bS|c该文法非终结符A的FIRST集合是选项:A、FIRST(A)={d}B、FIRST(A)={c,d}C、FIRST(A)={b,c,d}D、FIRST(A)={a,b,c,d}正确答案:【FIRST(A)={a,b,c,d}】4、问题:对于文法G(S):S→BAA→BS|dB→aA|bS|c该文法对应的预测分析表是选项:A、abcdB、SAA→dBB→aAB→bSB→cC、abcdD、SS→BAAA→BSA→dBB→aAB→bSB→cE、abcdF、SS→BAS→BAAA→BSA→BSA→dBB→aAB→bSB→cG、abcdH、SS→BAS→BAS→BAAA→BSA→BSA→BSA→dBB→aAB→bSB→c正确答案:【abcd#SS→BAS→BAS→BAAA→BSA→BSA→BSA→dBB→aAB→bSB→c】5、问题:文法G(S):S→aTb|,T→RR→R/S|S的句型aR/aSb/aTb/,b的最左素短语是选项:A、aTbB、aSbC、SD、,正确答案:【aSb】6、问题:对于文法G(S'):(0)S'→S(1)S→aS(2)S→bS(3)S→a该文法的LR分析表如下:ACTIONGOTO状态ab#S0s1s231s1s2r342s1s253acc4r15r2下面是输入串aba#的LR分析过程的0~4步的格局,第5步的格局是步骤状态栈符号栈输入串00#aba#101#aba#2012#aba#30121#aba#40125#abS#5选项:A、步骤状态栈符号栈输入串5014B、aSD、步骤状态栈符号栈输入串50124E、aSG、步骤状态栈符号栈输入串5015H、aSJ、步骤状态栈符号栈输入串50125K、aS正确答案:【步骤状态栈符号栈输入串5014#aS#】7、问题:考虑下面的属性文法G(S):产生式语义规则S?ABCprintA.num,B.num,C.numA?aA.num=.num+1A?εA.num=0B?bB.num=.num+1B?εB.num=0C?cC.num=.num+1C?εC.num=0对于输入字符串aabbbc进行语法分析和属性计算,输出结果是选项:A、123B、321C、231D、213正确答案:【231】8、问题:将语句while(AB)ú(BC)doif(D0)thenB:=C+DelseB:=C+1;翻译成下面的四元式序列100(j,A,B,104)101(j,-,-,102)102(j,B,C,104)103(j,-,-,112)104105(j,-,-,109)106(+,C,D,T1)107(:=,T1,-,B)108(j,-,-,100)109(+,C,1,T2)110(:=,T2,-,B)111(j,-,-,100)112其中空白处应该填写:选项:A、(j,D,0,102)B、(j,D,0,106)C、(j,D,0,108)D、(j,D,0,111)正确答案:【(j,D,0,106)】9、问题:考虑下面的类PASCAL的嵌套过程语言程序,对于过程调用序列S→Q→E→P的情况,过程P的活动记录中的Display表为:ProgramS(input,output);vara,x:integer;ProcedureE;FunctionP:integer;vari,j:integer;begin……end{P};begin…end{E};ProcedureQ;vark,v:integer;begin…end{Q};begin……end{S}.选项:A、P的活动记录的起始地址E的活动记录的起始地址S的活动记录的起始地址B、E的活动记录的起始地址S的活动记录的起始地址C、P的活动记录的起始地址S的活动记录的起始地址D、E的活动记录的起始地址P的活动记录的起始地址S的活动记录的起始地址正确答案:【P的活动记录的起始地址E的活动记录的起始地址S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024项目投资协议补充:跨境电商合作补充协议3篇
- 专业高空作业项目协议样本2024
- 2024年糕点模具创意制作协议
- 专项股权收购:2024年合作框架协议样本版B版
- 市第五医院科研、论文学术规范承诺书
- 职业学院教育教学研究项目结题报告书
- 6《记录我的一天》大单元整体设计(说课稿)-2024-2025学年一年级上册数学北师大版
- 专车接送乘客合同范本
- 2024年桥梁工程分包合同范本
- 深度洞察研究之旅
- 2025新北师大版英语七年级下单词表
- 《智慧城市概述》课件
- 校长在2024-2025年秋季第一学期期末教师大会上的讲话
- 班级管理方法及措施
- 2024年道路运输安全生产管理制度样本(3篇)
- DB11-T 693-2024 施工现场临建房屋应用技术标准
- 2024年北京市家庭教育需求及发展趋势白皮书
- GB/T 45089-20240~3岁婴幼儿居家照护服务规范
- 浙江省杭州市八县区2024-2025学年高二数学上学期期末学业水平测试试题
- 超星尔雅学习通《孙子兵法与执政艺术(浙江大学)》2024章节测试含答案
- 分布式光伏高处作业专项施工方案
评论
0/150
提交评论