首页 编译原理 龙书 第二版 第5、6章

编译原理 龙书 第二版 第5、6章

举报
开通vip

编译原理 龙书 第二版 第5、6章第五章练习5.1.1:对于图5-1中的SDD,给出下列表达式对应的注释语法分析树:练习5.2.4:这个文法生成了含“小数点”的二进制数:s->l.l|ll->lb|bb->o|i设计一个L属性的SDD来计算S.val,即输入串的十进制数值。比如,串101.101应该被翻译为十进制的5.625。提示:使用一个继承属性L.side来指明一个二进制位在小数点的哪一边。答:元文法消除左递归后可得到文法:S->L.L|LL->BL'L'->BL'IEB->01使用继承属性L.side指明一个二进制位数在小数点的哪一边,2表示...

编译原理 龙书 第二版 第5、6章
第五章练习5.1.1:对于图5-1中的SDD,给出下列表达式对应的注释语法分析树:练习5.2.4:这个文法生成了含“小数点”的二进制数:s->l.l|ll->lb|bb->o|i 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 一个L属性的SDD来计算S.val,即输入串的十进制数值。比如,串101.101应该被 翻译 阿房宫赋翻译下载德汉翻译pdf阿房宫赋翻译下载阿房宫赋翻译下载翻译理论.doc 为十进制的5.625。提示:使用一个继承属性L.side来指明一个二进制位在小数点的哪一边。答:元文法消除左递归后可得到文法:S->L.L|LL->BL'L'->BL'IEB->01使用继承属性L.side指明一个二进制位数在小数点的哪一边,2表示左边,1表示右边使用继承属性m 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 B的幕次非终结符号L和L'具有继承属性inh、side、m和综合属性syn产生式语义规则1)S->LS.val=L.syn;L.side=2;Lm=l;L.inh=02)S->L1丄2Ll.side=2;L2.side=l;Ll.inh=O;Ll.m=l;L2.m=V2;L2.inh=0S.val=Ll.syn+L2.syn;3)L->BLZL,.m=L.m*L.m;L,.side=LsideL/.inh=Linh*Lside+B*L.mL.syn=L:syn4)L,->BL1/Ll,.m=L,.m*L,.m;Ll/.side=L,.sideLl/.inh=rinh*Lside+B*Ll/.mL'.syn二LT.syn5)L'->£L'.syn二Liinh6)B->0B.val=07)B->1B.val=l练习5.3.1:下面是涉及运算符+和整数或浮点运算分量的表达式文法。区分浮点数的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 是看它有无小数点。E-〉E+T|TT-〉nuimnumInum1)给出一个SDD来确定每个项T和表达式E的类型2)扩展(1)中得到的SDD,使得它可以把表达式转换成为后缀表达式。使用一个单目运算符intToFloat把一个整数转换为相等的浮点数答:⑴产生式语义规则1)E->E1+TIfEl.type==T.typethenE.type=El.typeelseE.type=float2)E->TE.type=T.type3)T>numT.type=integer4)T>num.numT.type=float⑵产生式语义规则1)E->E1+TIfEl.type==T.typethenE.type=El.typeElsebeginE.type=floatlf(El.type==integerandT.type==float)thenEl=intToFloat(El)Elseif(T.type二二integerandEl.type==float)thenT=intToFloat(T)ENDE.val=El.valT.val+2)E->TE.type=T.type;E.val=T.val3)T>numT.type=integer;T.val二num4)T>num.numT.type=float;T.val=num.num练习5.4.4:为下面的产生式写出一个和例5.10类似的L属性SDDo这里的每个产生式表示一个常见的C语言中的那样的控制流结构。你可能需要生成一个三地址语句来跳转到某个标号L,此时你可以生成语句got。Ls->if(C)SIelseS2S->doSIwhile(0S->‘VL,}';L->LS|e请注意,列表中的任何语句都可以包含一条从它的内部跳转到下一个语句的跳转指令,因此简单地为各个语句按序生成代码是不够的。答:产生式语义规则1)S・>if(C)SIelseS2C.false=NewLable();C.true=NewLable()Sl.next=S2.next=S.nextS.code=C.code11Lable(C.true)11SI.code11gen(zgotozS.next)11Lable(C.false)||S2.code2)S->doSIwhile(C)Begin=NewLable()C.false=NewLable();C.true=NewLable()Sl.next=beginS.code=Lable(begin)||SI.code11Lable(C.true)11genfgoto'begin)3)S->{L了;S.syn=L.syn;L->LISS.inh=Ll.syn;L.syn二S.synL->eL.inh=L.syn第六章练习6.1.1:为下面的表达式构造DAG((x+y)-((x+y)*(x-y)))+((x+y)*(x-y))1)抽象语法树2)四元式序列3)三元式序列4)间接三元式序列答:(1)抽象语法树<2)四元式序列10(0)11(1)12(2)instructionopArglArg20+bc1minus(0)2+a(1)tl二b+ct2二minustlt3二a+t2opArglArg2resuIt0+bcTl1minusTlT22+aT2T3(3)三元式序列opArglArg20+bc1minus(0)2+a(1)(4)间接三元式序列练习6.4.3:使用图6-22中的翻译 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,来翻译下列赋值语句x=a[i][j]+b[i][j]答:假定数组a,b均为2*3规模的整型数组,且一个整数的宽度为4x二a[i][j]+b[i][j]的注释语法分析树如下XP[i][j]+b[i][j]被翻译成的三地址代码如下如下Tl=i*12T5=i*12T2=j*4t6=j*4T3=tl+tlt7=t5+t6T4=a[t3]t8=b[t7]T9=t4+t8X=t9E.addr=t4E.addr=t8L.addr=tlL.addr=t3L.array=aL.type=integerL.addr=t7L.array=bL.type=integerL.type=array(3,integer)[E.addr=jL.array=aL.addr=t5^*>*C^'*'*^L.array=b[E.addr=j]L.type=array(3,integer)a.type=array(2zarray(3Jnteger))E.addr=iE.addr=ib.type=array(2,array(3Jnteger))练习6.6.4:使用图6.6.5节中介绍的避免goto语句的翻译方案,来翻译下列表达式:If(a=b&&c=d||e==f)x=l;答:Ife==fgotoL2讦Falsea==bgotoLI讦Falsec==dgotoLIL2:x==lLI:练习6.7.1:使用图6-43中的翻译方案翻译下列表达式。给出每个子表达式的truelist和falselisto你可以假设第一条被生成的指令地址是100.a==b&&(c=d||e==f)答:各产生式进行归约时产生的语义动作的相应指令如卞1)按B->E1relE2将a=b归约为B时语义动作相应的指令如下100:ifa==bgoto一101:goto一2)产生式B->B1&&MB2中的标记非终结符号M记录了nextinstr的值,该值为1023)按B->E1relE2将c=d归约为B时语义动作相应的指令如下102:ifc==dgoto-103:goto一4)产生式B->B1||MB2中的标记非终结符号M记录了nextinstr的值,该值为1045)按B->E1relE2将e==f归约为B时语义动作相应的指令如下104:讦e==fgoto一105:goto一6)按照产生式B->B1||MB2进行归约刀按照产生式B->(Bl)进行归约8)按照产生式B->B1&&MB2进行归约9)各子表达式的truelist和falselist在上图中己标出
本文档为【编译原理 龙书 第二版 第5、6章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_808969
暂无简介~
格式:doc
大小:109KB
软件:Word
页数:6
分类:
上传时间:2018-11-18
浏览量:0