编译原理考试试题.doc

上传人:ni****g 文档编号:557870724 上传时间:2023-07-05 格式:DOC 页数:8 大小:150.01KB
返回 下载 相关 举报
编译原理考试试题.doc_第1页
第1页 / 共8页
编译原理考试试题.doc_第2页
第2页 / 共8页
编译原理考试试题.doc_第3页
第3页 / 共8页
编译原理考试试题.doc_第4页
第4页 / 共8页
编译原理考试试题.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《编译原理考试试题.doc》由会员分享,可在线阅读,更多相关《编译原理考试试题.doc(8页珍藏版)》请在金锄头文库上搜索。

1、编译原理考试试题(所有答案必须写在答题纸上)(2006.12.25)一、(56分)回答下列问题:1什么是S-属性文法?什么是L-属性文法?它们之间有什么关系?2什么是句柄?什么是素短语?3划分程序的基本块时,确定基本块的入口语句的条件是什么?4运行时的DISPLAY表的内容是什么?它的作用是什么?5对下列四元式序列生成目标代码: A:=B*CD:=E+FG:=A+DH:=G*2其中,H是基本块出口的活跃变量, R0和R1是可用寄存器二、(8分)设S=0,1上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。三、(6分)写一个文法使其语言为

2、L(G)= anbmambn | m,n1。四、(8分)对于文法G(E): ET|E+TTF|T*FF(E)|i1. 写出句型(T*F+i)的最右推导并画出语法树。2. 写出上述句型的短语,直接短语、句柄和素短语。五、(12分)设文法G(S):1 构造各非终结符的FIRSTVT和LASTVT集合;2 构造优先关系表和优先函数。六、(9分)设某语言的do-while语句的语法形式为 S do S(1) While E真假S(1)的代码E的代码其语义解释为:针对自下而上的语法分析器,按如下要求构造该语句的翻译模式:(1) 写出适合语法制导翻译的产生式;(2) 写出每个产生式对应的语义动作。七、(8

3、分)将语句 if (A0) then while C0 do C:=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) S BB (2) B aB (3) B b的LR分析表如下ACTIONGOTO状态ab#SB0s3s4121acc2s6s753s3s484r3r35r16s6s797r38r2r29r2假定输入串为abab,请给出L

4、R分析过程(即按照步骤给出状态,符号,输入串的变化过程)。(END)编译原理考试试题(所有答案必须写在答题纸上)(2006.12.25)一、 回答下列问题:(30分)1什么是S-属性文法?什么是L-属性文法?它们之间有什么关系?解答:S-属性文法是只含有综合属性的属性文法。 (2分)L-属性文法要求对于每个产生式AX1X2Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj的一个继承属性,且该属性仅依赖于:(1) 产生式Xj的左边符号X1,X2Xj-1的属性;(2) A的继承属性。 (2分)S-属性文法是L-属性文法的特例。 (2分)2什么是句柄?什么是素短语?一个句型的最左直接短语称为

5、该句型的句柄。(3分)素短语是这样的一个短语,它至少包含一个终结符并且不包含更小的素短语。(3分)3划分程序的基本块时,确定基本块的入口语句的条件是什么?解答:(1)程序第一个语句,或(2)能由条件转移语句或无条件转移语句转移到的语句,或(3)紧跟在条件转移语句后面的语句。4(6分)运行时的DISPLAY表的内容是什么?它的作用是什么?答:DISPLAY表是嵌套层次显示表。每当进入一个过程后,在建立它的活动记录区的同时建立一张嵌套层次显示表diaplay.假定现在进入的过程层次为i,则它的diaplay表含有i+1个单元,自顶向下每个单元依次存放着现行层、直接外层、直至最外层(主程序,0层)等

6、每层过程的最新活动记录的起始地址。通过DISPLAY表可以访问其外层过程的变量。5(6分)对下列四元式序列生成目标代码: A:=B*CD:=E+FG:=A+DH:=G*2其中,H是基本块出口的活跃变量, R0和R1是可用寄存器答:LD R0, BMUL R0, CLD R1, EADD R1, FADD R0, R1MUL R0, 2ST R0, H二、设S=0,1上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。(8分)答:构造相应的正规式:(0|1)*1(0|1) (3分)NFA: (2分) 1 110432 e e e e 1 0

7、 0确定化:(3分)I0,1,21,21,2,31,21,21,2,31,2,31,2,41,2,3,41,2,41,21,2,31,2,3,41,2,41,2,3,4 0 143210 0 1 0 0 0 1 1 1三、写一个文法使其语言为L(G)= anbmambn | m,n1。(6分)答:文法G(S):S aSb | BB bBa | ba四、对于文法G(E): (8分)ET|E+TTF|T*FF(E)|iETF(E)E+TFiTT*F1. 写出句型(T*F+i)的最右推导并画出语法树。2. 写出上述句型的短语,直接短语、句柄和素短语。答:1. (4分)ETF(E) (E+T) (E+

8、F) (E+i) (T+i) (T*F+i) 2. (4分)短语:(T*F+i), T*F+i, T*F, i直接短语:T*F, i句柄:T*F素短语:T*F, i五、设文法G(S):(12分)3 构造各非终结符的FIRSTVT和LASTVT集合;4 构造优先关系表和优先函数。(12分)答:(6分)FIRSTVT(S)= i,+,),( FIRSTVT(A)= +,),( FIRSTVT(B)= ),( LASTVT(S)= i,+,*,( LASTVT(A)= +,*,( LASTVT(B)= *,( 优先关系表: (3分)i+()*i()优先函数: (3分)i+()*f26616g1466

9、1六、设某语言的do-while语句的语法形式为 (9分) S do S(1) While E其语义解释为:真假S(1)的代码E的代码针对自下而上的语法分析器,按如下要求构造该语句的翻译模式:(1) 写出适合语法制导翻译的产生式;(2) 写出每个产生式对应的语义动作。答:(1). 适合语法制导翻译的文法(3分) G(S): R do UR S(1) While SU E (2). (6分) R do R.QUAD:=NXQ UR S(1) While U.QUAD:=R.QUAD; BACKPATCH(S.CHAIN, NXQ) SU E BACKPATCH(E.TC, U.QUAD); S.

10、CHAIN:=E.FC 答案二:(1) S do M1 S(1) While M2 E M (3分)(2) M M.QUAD := NXQ (6分)S do M1 S(1) While M2 EBACKPATCH(S(1).CHAIN, M2.QUAD);BACKPATCH(E.TC, M1.QUAD); S.CHAIN:=E. FC七、(8分)将语句if (A0) then while C0 do C:=C+D翻译成四元式。(8分)答:100 (j, B, 0, 104)103 (j, -, -, 109)104 (j, C, 0, 106)105 (j, -, -, 109)106 (+,

11、 C, D, T1)107 (:=, T1, -, C)108 (j, -, -, 104)109 (控制结构3分,其他5分)八、(10分) 设有基本块如下:T1:=S+RT2:= 3T3:= 12/T2T4:=S/RA:=T1-T4T5:=S+RB:=T5T6:=T5*T3B:=T6(1)画出DAG图;(2)设A,B是出基本块后的活跃变量,请给出优化后的四元式序列。T1,T5, B3T24SR+/*_T3T4AT6,Bn4n5n1n2n3n6n8n7答:(1) DAG如右图:(6分)(2) 四元式序列:(4分)T1:=S+RT4:=S/RA:=T1-T4B:=T1*4九、(9分) 设已构造出文法G(S):(1) S BB(2) B aB(3) B b的LR分析表如

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号