《编译原理》考试试题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共6页《编译原理》考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。(X)2.一个句型的直接短语是唯一的。(X)3.已经证明文法的二义性是可判定的。(X)4.每个基本块可用一个DAG表示。(√)5.每个过程的活动记录的体积在编译时可静态确定。(√)6.2型文法一定是3型文法。(x)7.一个句型一定句子。(X)8.算符优先分析法每次都是对句柄进行归约。(应是最左素短语)(X)9.采用三元式实现三地址代码时,不利于对中间代码进行优化。(√)10.编译过程中,语法分析器的任务是分析单词是怎样构成的。(x)11.一个优先表一定存在相应的优先函数。(x)12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。()13.递归下降分析法是一种自下而上分析法。()14.并不是每个文法都能改写成LL(1)文法。()15.每个基本块只有一个入口和一个出口。()16.一个LL(1)文法一定是无二义的。()17.逆波兰法表示的表达试亦称前缀式。()18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。()19.正规文法产生的语言都可以用上下文无关文法来描述。()20.一个优先表一定存在相应的优先函数。()21.3型文法一定是2型文法。()22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。()二、填空题:1.(最右推导)称为规范推导。2.编译过程可分为(词法分析),(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。5.语法分析器的输入是(),其输出是()。6.扫描器的任务是从()中识别出一个个()。7.符号表中的信息栏中登记了每个名字的有关的性质,如()等等。8.一个过程相应的DISPLAY表的内容为()。9.一个句型的最左直接短语称为句型的()。10.常用的两种动态存贮分配办法是()动态分配和()动态分配。11.一个名字的属性包括()和()。12.常用的参数传递方式有(),()和()。13.根据优化所涉及的程序范围,可将优化分成为(),()和()三个级别。14.语法分析的方法大致可分为两类,一类是()分析法,另一类是()分析法。15.预测分析程序是使用一张()和一个()进行联合控制的。16.常用的参数传递方式有(),()和()。17.一张转换图只包含有限个状态,其中有一个被认为是()态;而且实际上至少要有一个()态。第2页共6页18.根据优化所涉及的程序范围,可将优化分成为(),()和()三个级别。19.语法分析是依据语言的()规则进行。中间代码产生是依据语言的()规则进行的。20.一个句型的最左直接短语称为句型的()。21.一个文法G,若它的预测分析表M不含多重定义,则该文法是()文法。22.对于数据空间的存贮分配,FORTRAN采用()策略,PASCAL采用()策略。23.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。24.最右推导亦称为(),由此得到的句型称为()句型。25.语法分析的方法大致可分为两类,一类是()分析法,另一类是()分析法。26.对于文法G,仅含终结符号的句型称为()。27.所谓自上而下分析法是指()。28.语法分析器的输入是(),其输出是()。29.局限于基本块范围的优化称()。30.预测分析程序是使用一张()和一个()进行联合控制的。31.2型文法又称为()文法;3型文法又称为()文法。32.每条指令的执行代价定义为()。33.算符优先分析法每次都是对()进行归约。三、名词解释题:1.局部优化2.二义性文法3.DISPLAY表4.词法分析器5.最左推导6.语法7.文法8.基本块9.语法制导翻译10.短语11.待用信息12.规范句型13.扫描器14.超前搜索15.句柄16.语法制导翻译17.规范句型18.素短语19.语法20.待用信息21.语义四、简答题:1.写一个文法G,使其语言为不以0开头的偶数集。2.已知文法G(S)及相应翻译方案S→aAb{print“1”}S→a{print“2”}A→AS{print“3”}A→c{print“4”}输入acab,输出是什么?3.已知文法G(S)S→bAaA→(B|a第3页共6页B→Aa)写出句子b(aa)b的规范归约过程。4.考虑下面的程序:…procedurep(x,y,z);beginy:=x+y;z:=z*z;endbeginA:=2;B:=A*2;P(A,A,B);PrintA,Bend.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出A,B的值是什么?5.文法G(S)S→dABA→aA|aB→Bb|ε描述的语言是什么?6.证明文法G(S)S→SaS|ε是二义性的。7.已知文法G(S)S→BAA→BS|dB→aA|bS|c的预测分析表如下abcd#SS→BAS→BAS→BAAA→BSA→BSA→BSA→dBB→aAB→bSB→c给出句子adccd的分析过程。8.写一个文法G,使其语言为L(G)={albmclanbn|l=0,m=1,n=2}9.已知文法G(S):S→a|(T)T→T,S|S的优先关系表如下:关系a(),a--..(..=..)--..,....请计算出该优先关系表所对应的优先函数表。10.何谓优化?按所涉及的程序范围可分为哪几级优化?11.目标代码有哪几种形式?生成目标代码时通常应考虑哪几个问题?第4页共6页12.一字母表Σ={a,b},试写出Σ上所有以a为首的字组成的正规集相对应的正规式。13.基本的优化方法有哪几种?14.写一个文法G,使其语言为L(G)={abncn|n≥0}15.考虑下面的程序:…procedurep(x,y,z);beginy:=y+z;z:=y*z+xend;begina:=2;b:=3;p(a+b,b,a);printaend.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出a的值是什么?16.写出表达式a+b*(c-d)/e的逆波兰式和三元序列。17.证明文法G(A)A→AA|(A)|ε是二义性的。18.令Σ={a,b},则正规式a*b|b*a表示的正规集是什么?19.何谓DISPLAY表?其作用是什么?20.考虑下面的程序:…procedurep(x,y,z);beginy:=y+2;z:=z+x;endbegina:=5;b:=2;p(a+b,a-b,a);printaend.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出a的值是什么?21.写一个文法G,使其语言为L(G)={anbncm|n0为奇数,m0为偶数}22.写出表达式a:=(b+c)*e+(b+c)/f的逆波兰式和三元序列。23.一个文法G别是LL(1)文法的充要条件是什么?24.已知文法G[S]S→S*aF|aF|*aFF→+aF|+a消除文法左递归和提公共左因子。25.符号表的作用是什么?符号表查找和整理技术有哪几种?五、计算题:1.设文法G(S):S→^|a|(T)T→T,S|S第5页共6页⑴消除左递归;⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表2.语句ifEthenS(1)改写文法,使之适合语法制导翻译;(2)写出改写后产生式的语义动作。3.设文法G(S):S→(T)|aT→T+S|S(1)计算FIRSTVT和LASTVT;(2)构造优先关系表。4.设某语言的for语句的形式为fori:=E(1)toE(2)doS其语义解释为i:=E(1)LIMIT:=E(2)again:ifi<=LIMITthenBeginS;i:=i+1gotoagainEnd;(1)写出适合语法制导翻译的产生式;(2)写出每个产生式对应的语义动作。5.把语句whilea10doifc0thena:=a+1elsea:=a*3-1;翻译成四元式序列。6.设有基本块D:=A-CE:=A*CF:=D*ES:=2T:=A-CQ:=A*CG:=2*SJ:=T*QK:=G*5L:=K+JM:=L假设基本块出口时只有M还被引用,请写出优化后的四元序列。7.已知文法G(S)S→a|^|(T)T→T,S|S(1)给出句子(a,(a,a))的最左推导;(2)给出句型((T,S),a)的短语,直接短语,句柄。8.对于C语言doSwhileE语句(1)改写文法,使之适合语法制导翻译;第6页共6页(2)写出改写后产生式的语义动作。9.已知文法G(S)S→aAcBeA→Ab|bB→d(1)给出句子abbcde的最左推导及画出语法树;(2)给出句型aAbcde的短语、素短语。10.设文法G(S):S→(T)|aS|aT→T,S|S⑴消除左递归和提公共左因子;⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表。11.把语句ifX0∨Y0thenwhileX0doX:=A*3elseY:=B+3;翻译成四元式序列。12.已知文法G(S)E→E+T|TT→T*F|FF→(E)|i(1)给出句型(i+i)*i+i的最左推导及画出语法树;(2)给出句型(E+T)*i+F的短语,素短语和最左素短语。13.设文法G(S):S→T|S∨TT→U|T∧UU→i|-U(1)计算FIRSTVT和LASTVT;(2)构造优先关系表。第1页共7页参考答案一、是非题:1.×2.×3.×4.√5.√6.×7.×8.×9.√10.×11.×12.√13.×14.√15.√16.√17.×18.√19.√20.×21.√22.√二、填空题:1.(最右推导)2.(词法分析),(语法分析),(中间代码生成),(代码优化),(目标代码生成)3.(二义性的)4.(执行性),(说明性)5.(单词符号),(语法单位)。6.(源程序),(单词符号)7.(类型、种属、所占单元大小、地址)8.(现行活动记录地址和所有外层最新活动记录的地址)9.(句柄)10.(栈式),(堆式)11.(类型),(作用域)12.(传地址),(传值),(传名)13.(局部优化),(循环优化),(全局优化)14.(自上而下),(自下而上)15.(分析表),(符号栈)16.(传地址),(传值),(传名)17.(初),(终)18.(局部优化),(循环优化),(全局优化)19.(语法),(语义)20.(句柄)21.(LL(1)文法)22.(静态),(动态)23.(二义性文法)24.(规范推导),(规范)25.(自上而下),(自下而上)26.(句子)27.(从开始符号出发,向下推导,推出句子)28.(单词符号),(语法单位)29.(局部优化)30.(分析表),(符号栈)31.(上下文无关文法),(正规)32.(指令访问主存次数加1)33.(最左素短语)三、名词解释题:1.局部优化-------局限于基本块范围的优化称。2.二义性文法------如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性文法。3.DISPLAY表----过程的嵌套层次显示表,记录该过程的各外层过程的最新活动记录的起始地址。4.词法分析器-----执行词法分析的程序。5.最左推导------任何一步α=β都是对α中的最右非终结符替换。6.语法------一组规则,用它可形成和产生一组合式的程序。7.文法------描述语言的语法结构的形式规则。8.基本块------指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中的第一个语句,出口就是其中的最后一个语句。第2页共7页9.语法制导翻译------在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译的办法叫做语法制导翻译。10.短语------令G是一个文法,S划文法的开始符号,假定αβδ是文法G的一个句型,如果有SαAδ且Aβ,则称β是句型αβδ相对非终结符A的短语。11.待用信息------如果在一个基本块中,四元式i对A定值,四元式j要引

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功