资源描述:
《湖南工业大学_编译原理_A卷_答案(通信02).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编译原理试卷(A卷)答案__通信02一、是非题(下列各题,你认为下确的,请在题干的括号内打“√”错的打“×”。每题2分,共10分)1、虽然名字都是用标识符表示的,但名字和标识符有着本质的区别。…………(√)2、优先关系表所对应的优先函数,如果存在,则一定唯一。………………(×)3、对于任何一个含有左递归的文法必存在一个等价的不含左递归的文法。…(√)4、每个过程的DISPLAY表的体积在编译时就可确定。……………………(√)5、一个文法的句子也一定是该文法的句型。………………………………(√)二
2、、填空题(每题2分,共16分)1、对文法G的每个非终结符P,定义集合FIRSTVT(P)=({a
3、P=>a…或P=>Qa…,a∈VT而Q∈VN})。2、如果一个文法的任何产生式的右部都不含有两个相继(并列)的非终结符,则这种文法称为(算符)文法。3、表达式a/(b*c+d)的逆波兰表示为(abc*d+/)。4、一张符号表的每一项(或称入口)包含两大栏,即(名字)栏和(信息)栏。5、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是(二义的)。6、在一个基本块内,通常可实行的三种优化是:
4、合并已知量、(删除多余运算)、(删除无用赋值)。7、文法G所产生的句子的全体是(语言),将它记为(L(G))。8、根据优化所涉及的程序范围,优化可分为(局部)优化、(循环)优化和(全局)优化三个不同的级别。三、名词解释题(每题3分,共15分)1、语言的语义——语言的语义是一组规则,用它可以定义一个程序的意义。2、句型——假定G是一个文法,S是它的开始符号,如果S=>α,则称α是一个句型。3、语法分析器——按文法的产生式识别输入的符号串是否为一个句子的分析程序。4、语法制导翻译——在语法分析过程中
5、,根据每个产生式所对应的语义子程序进行翻译的办法叫做语法制导翻译法。5、活动记录——一个过程在运行时所需数据中,编译时可确定体积的部分称该过程的活动记录。四、论述题(每题4分,共24分)1、对于下面的程序段…procedurep(x,y,z);beginy:=x+y;Z:=Z*ZendbeginA:=2;B:=A*2;P(B-A,A,B);5PrintA,Bend.若参数传递方式分别为:(1)传地址,(2)传值,试问程序执行所输出的A、B的值分别是什么?传地址,A=4,B=16传值,A=2,B=
6、4评分细则:每个值1分2、状态转换图的用途是什么?试举一简单例子说明。一个状态转换图可用于识别一定的字符串。例如,识别标识符的转换图如下字母1其它*字母或数字2评分细则:用途2分,举例2分3、目标代码一般有哪几种形式?生成目标代码时要着重考虑的问题是什么?目标代码一般有三种形式:①机器语言代码;②待装配的机器语言模块;③汇编语言代码。 生成目标代码时要着重考虑两个问题:①如何使生成的目标代码较短;②如何充分利用计算机的寄存器,减少目标代码中访问存储单元的次数。4、写出表达式a*b+(a+b/c)
7、*d的三元式序列。三元式:①(*,a,b)②(/,b,c)③(+,a,②)④(*,③,d)⑤(+,①,④)评分细则:错一个三元式扣1分5、设文法G(E)为E→T
8、E+TT→F
9、T*FF→(E)
10、i给出句子i*i+i的最右推导,并画出语法树。最右推导:EE+TE+FE+iT+iT*F+iT*i+iF*i+ii*i+i语法树:56、简述自下而上语法分析方法的分析过程。自下而上分析方法的分析过程是:从输入串开始,逐步进行“归约”直至归到文法的开始符号,或者说,从语法树的末端开始步步向上“归约”,直至根
11、结。五、计算题(共35分)1、请按简单代码生成算法对以下四元式序列生产目标代码;T1:=A+BT2:=T1*3T3:=A-BT4:=T2*T3(假设可用寄存器为R0、R1,只有T4是基本块之后的活跃变量)(6分)LDR0,AADDR0,BMuLR0,′3′LDR1,ASuBR1,BMuLR0,R1STR0,T4评分细则:答错一条指令扣1分,最多扣6分2、设文法G(S)为:S→∧
12、a
13、(T)T→T,S
14、S①给出消去G(S)左递归后的文法G’(S)左递归后的文法G’;②计算G’的每个非终结符的FIR
15、ST和FOLLOW;③构造预测分析表。(8分)①G’(S):S→∧
16、a
17、(T)T→ST’T’→,ST’
18、ε(2分)②FIRST(S)=FIRST(T)=[a,∧,(}5FIRST(T’)={﹐,ε}FOLLOW(S)={#,﹐,)}FOLLOW(T)=FOLLOW(T’)={)}(3分)③a∧()﹐#STT′S→aT→ST′A→∧T→STS→(T)T→ST′T′T′→,ST’(3分)3、对语句ifEthenS①写出适合语法制导翻译的产生式;②写出各产生式对应的语义动作。(6分)①产生式C→ifE