资源描述:
《编译原理试卷3》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、编译原理试题3一、冋答下列问题:(30分)1.什么是S・属性文法?什么是L•属性文法?它们之间有什么关系?解答:S・属性文法是只含有综合属性的属性文法。(2分)L■屈性文法要求对于每个产生式ATX1X2…Xn,其每个语义规则中的每个屈性或者是综合屈性,或者是Xj的一个继承屈性,但该屈性仅依赖于:(1)产生式Xj的左边符号Xl,X2...Xj-l的属性;(2)A的继承属性。(2分)S■属性文法是L■属性文法的特例。(2分)2.什么是句柄?什么是素短语?一个句型的最左直接短语称为该句型的句柄。(3分)素短语是这样的一个短语,它至少包含一个终结符并且不包含更
2、小的素短语。(3分)3.划分程序的基本块时,确定基本块的入口语句的条件是什么?解答:(1)程序第一个语句,或(2)能由条件转移语旬或无条件转移语句转移到的语旬,或(3)紧跟在条件转移语句后面的语句。4.(6分)运行时的DISPLAY表的内容是什么?它的作用是什么?答:DISPLAY表是嵌套层次显示表。每当进入一个过程后,在建立它的活动记录区的同时建立一张嵌套层次显示表diaplay.假定现在进入的过程层次为i,则它的display表含冇i+1个单元,IT顶向下每个单元依次存放着现行层、直接外层、…、直至最外层(主程序,0层)等每层过程的最新活动记录的起
3、始地址。通过DISPLAY表可以访问其外层过程的变量。5.(6分)对下列四元式序列生成目标代码:A:=B*CD:=E+FG:=A+DH:=G*2其中,H是基本块岀口的活跃变量,RO和R1是可用寄存器答:LDR0,BMULRO,CLDRl,EADDRl,FADDRO,R1MULRO,2STRO,H二、设Z={0,1}上的止规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的止规式,并构造一个识别该止规集的DFAo(8分)答:构造相应的正规式:(011)*1(011)(3分)NFA:(2分)1100确定化:(3分)IA人{0,1,2}{1,2}{
4、1,2,3}{1,2}{1,2}{1,2,3}{1,2,3}{1,2,4}{1,2,3,4}{1,2,4}{1,2}{1,2,3}{123,4}{124}{123,4}011三、写一个文法使其语言为l(G)={anbmambnlrn,n^l}o(6分)答:文法G(S):StaSb丨BBTbBaIba四、对于文法G(E):(8分)EtTIE+TTtFIT*FFT(E)li1.写出句型(T*F+i)的最右推导并画出语法树。2.写出上述句型的短语,直接短语、句柄和素短语。答:1・(4分)E=>T=>F=>(E)=>(E+T)=>(E+F)=>(E+i)=>(
5、T+i)=>(T*F+i)2.(4分)短语:(T*F+i),T*F+i,T*F,i直接短语:T*F,i/1(E)E+TTF/
6、IT*Fi句柄:T*F素短语:T*F,i(8分)将语句讦(AvX)a(B>0)thenwhileC>0doC:=C+D翻译成四元式。(8分)答:100(jv,A,X,102)101(j,・,-,109)102(j>,B,0,104)103(j,・,-,109)104(j>,C,0,106)105(j,-,109)106(+,C,D,Tl)107(:=,Tl,・,C)108(j,・,-,104)109(控制结构3分,其他5分)
7、八、(10分)设有基本块如下:T1:=S+RT2:=3T3:=12AT2T4:=S/RA:=T1-T4T5:=S+RB:=T5T6:=T5*T3B:=T6⑴画出DAG图;(2)设A,B是出基木块后的活跃变量,请给出优化后的四元式序列。答:(1)DAG如右图:(6分)(2)四元式序列:(4分)T1:=S+RT4:=S/RA:=T1-T4B:=TP4九、(9分)设已构造出文法G(S):(1)StBB(2)B->aB(3)B—b的LR分析表如下状态ACTIONGOTOab#SB0s3s4191acc2s6s753s3s484r3r35rl6s6s797r38
8、r2r29r2假定输入串为abab,请给岀LR分析过程(即按照步骤给出状态,符号,输入串的变化过程)。答:步骤状态符号输入串00#abab#103#abab#2034#abab#3038#aBab#402#Bab#5026#Bab#60267#Bab#70269#BaB#8025#BB#901#S#acc