如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《编译原理》考试试题(所有答案必须写在答题纸上)(2006.12.25)一、(5×6分)回答下列问题:1.什么是S-属性文法?什么是L-属性文法?它们之间有什么关系?2.什么是句柄?什么是素短语?3.划分程序的基本块时,确定基本块的入口语句的条件是什么?4.运行时的DISPLAY表的内容是什么?它的作用是什么?5.对下列四元式序列生成目标代码:A:=B*CD:=E+FG:=A+DH:=G*2其中,H是基本块出口的活跃变量,R0和R1是可用寄存器二、(8分)设={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。三、(6分)写一个文法使其语言为L(G)={anbmambn|m,n≥1}。四、(8分)对于文法G(E):ET|E+TTF|T*FF(E)|i1.写出句型(T*F+i)的最右推导并画出语法树。2.写出上述句型的短语,直接短语、句柄和素短语。五、(12分)设文法G(S):构造各非终结符的FIRSTVT和LASTVT集合;构造优先关系表和优先函数。六、(9分)设某语言的do-while语句的语法形式为SdoS(1)WhileE真假S(1)的代码E的代码其语义解释为:针对自下而上的语法分析器,按如下要求构造该语句的翻译模式:(1)写出适合语法制导翻译的产生式;(2)写出每个产生式对应的语义动作。七、(8分)将语句if(A<X)(B>0)thenwhileC>0doC:=C+D;翻译成四元式。八、(10分)设有基本块如下:T1:=S+RT2:=3T3:=12/T2T4:=S/RA:=T1-T4T5:=S+RB:=T5T6:=T5*T3B:=T6(1)画出DAG图;(2)设A,B是出基本块后的活跃变量,请给出优化后的四元式序列。九、(9分)设已构造出文法G(S):(1)SBB(2)BaB(3)Bb的LR分析表如下ACTIONGOTO状态ab#SB0s3s4121acc2s6s753s3s484r3r35r16s6s797r38r2r29r2假定输入串为abab,请给出LR分析过程(即按照步骤给出状态,符号,输入串的变化过程)。(END)《编译原理》考试试题(所有答案必须写在答题纸上)(2006.12.25)回答下列问题:(30分)1.什么是S-属性文法?什么是L-属性文法?它们之间有什么关系?解答:S-属性文法是只含有综合属性的属性文法。(2分)L-属性文法要求对于每个产生式AX1X2…Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:产生式Xj的左边符号X1,X2…Xj-1的属性;A的继承属性。(2分)S-属性文法是L-属性文法的特例。(2分)2.什么是句柄?什么是素短语?一个句型的最左直接短语称为该句型的句柄。(3分)素短语是这样的一个短语,它至少包含一个终结符并且不包含更小的素短语。(3分)3.划分程序的基本块时,确定基本块的入口语句的条件是什么?解答:(1)程序第一个语句,或(2)能由条件转移语句或无条件转移语句转移到的语句,或(3)紧跟在条件转移语句后面的语句。4.(6分)运行时的DISPLAY表的内容是什么?它的作用是什么?答:DISPLAY表是嵌套层次显示表。每当进入一个过程后,在建立它的活动记录区的同时建立一张嵌套层次显示表diaplay.假定现在进入的过程层次为i,则它的diaplay表含有i+1个单元,自顶向下每个单元依次存放着现行层、直接外层、…、直至最外层(主程序,0层)等每层过程的最新活动记录的起始地址。通过DISPLAY表可以访问其外层过程的变量。5.(6分)对下列四元式序列生成目标代码:A:=B*CD:=E+FG:=A+DH:=G*2其中,H是基本块出口的活跃变量,R0和R1是可用寄存器答:LDR0,BMULR0,CLDR1,EADDR1,FADDR0,R1MULR0,2STR0,H二、设={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。(8分)答:构造相应的正规式:(0|1)*1(0|1)(3分)NFA:(2分)1110432100确定化:(3分)I{0,1,2}{1,2}{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}{1,2,3,4}{1,2,4}{1,2,3,4}0