全文预览

编译原理样题(含答案)

上传者:读书之乐 |  格式:doc  |  页数:8 |  大小:0KB

文档介绍
ead(P)={b}Head(Q)={Q,a}Tail(S)={b,P,c}Tail(P)={c}Tail(Q)={a}(1)“=”关系:a=SS=bb=PP=cb=QQ=cQ=a(2)“<”关系:a<Head(S)b<Head(P)b<Head(Q)(3)“>”关系:Tail(S)>bTail(P)>cTail(Q)>a简单优先关系矩阵如下:SabPQcS=a=<><<>b<<>==<P>=Q==c>>由于矩阵中有元素存在多种优先关系,故不是简单优先文法。九(1)5;(2)20;(3)15;(4)30。十对输入串dada#的分析过程步骤状态栈文法符号栈剩余输入符号动作12345670020240245024602467024678##V#Vd#Vda#VdB#VdBd#VdBdadada#dada#ada#da#da#a##用V→ε归约移进移进用B→a归约移进移进用B→Bda归约89024601#VdB#S##用S→VdB归约接受十一解:三地址代码如下:100:t:=a+b101:ift<cgoto105102:goto103103:ifa=bgoto105104:goto112105:ifa<5goto107106:goto100107:ifb<10goto109108:goto100109:a:=a+1110:b:=b+1111:goto105112:十二将程序划分为五个基本块,B1、B2、B3、B4和B5,如流图所示。read(A,B)B1F:=1C:=A*AD:=B*BifC<DgotoL1E:=A*AB2F:=F+1E:=E+Fwrite(E)haltL1:E:=B*BB3F:=F+2E:=E+Fwrite(E)ifE>100gotoL2haltB4L2:F:=F-1B5gotoL1十三GetCh();CH=='='SYM=MINUSMINUSSYM=MINUS

收藏

分享

举报
下载此文档