编译原理第七章-课后题及补充题.doc_第1页
编译原理第七章-课后题及补充题.doc_第2页
编译原理第七章-课后题及补充题.doc_第3页
编译原理第七章-课后题及补充题.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章1.给出下面表达式的后缀式:-a+b*(-c+d)(A or B) or (not C or D and E)if (x+y*z)=0 then (a+b)|c else a|b|c答::a-bc-d+*+ AB or CD not E and or and xy+z*0= ab+c| abc| if_then_else2.将表达式-(a+b)*(c+d)-(a+b+c)分别表示成三元式,间接三元式和四元式。答:三元式:(0) + a b(1) - (0)(2) + c d(3) * (1) (2)(4) + a b(5) + (4) c(6) - (3) (5)间接三元式:(0) + a b(1) - (0)(2) + c d(3) * (1) (2) (4) + (1) c(5) - (3) (4)间接代码:(0) (1) (2) (3) (0) (4) (5)四元式: + a b t1 - t1 t2 + c d t3 * t2 t3 t4 + a b t5 + t5 c t6 - t4 t6 t76.按7.3节所说的办法,写出A or ( B and not (C or D)的四元式序列。答: (1) jnz A _ _(2) j _ _ (3)(3) jnz B _ (5)(4) j _ _ _(5) jnz C _ (4)(6) j _ _ (7)(7) jnz D _ (5)(8) j _ _ (1)真链:(8)假链:(7)6.按7.5.1节的办法,把下列语句翻译成四元式序列。while AC and BD do if A=1 then C:=C+1 else while A=D do A:=A+2;答: 100 (j , A , C , 102)101 (j , _ , _ , 115)102 (j , B , D , 104)103 (j , _ , _ , 115)104 (j= , A , 1 , 106)105 (j , _ , _ , 109)106 (+ , C , 1 , t1)107 (= , t1 , _ , C)108 (j , _ , _ , 114)109 (j= , A , D , 111)110 (j , _ , _ , 114)111 (+ , A ,2 , t2)112 (= , t2 , _ , A)113 (j , _ , _ , 109)114 (j , _ , _ , 100)115补充:1. 数组A:array210,38;B:array-3,3,按行存放, A的首地址为100, 每个元素占2个字节;B的首地址为200,每个元素占1字节编址;对于语句Am+1,n+2:=ABk+2,5求:Bk+2的地址求:Am+1,n+2的地址将该语句翻译成四元式子序列答: 1. =base-low*w+i*w=200-(-3)*1+(k+2)*1=205+k2. =base-(low1*n2+low2)*w+(i1*n2+i2)*w =100-(2*6+3)*2+(m+1)*6+n+2)*2 =86+(6m+n)*23. (+, m, 1, t1)(+, n, 2, t2)(*, t2, 6, t3)(+, t3, t1, t3)(-, 100, 30, t4)(*, 2, t3 , t5 )(+, k, 2, t6)(-, 200, -3, t7)(*, t6, 1, t8)(=, t7, t8, t9)(*, t9, 6, t10)(+, t10, 5, t11)(-, 100, 30, t12)(*,t11,2,t11)(=, t12, t11, t13)(=, t4 , t5 , t14)(:= ,t13, _, t14)将下列赋值语句翻译成三地址代码(下标从0开始,按列存储,行列宽为10,A,B,C,D为数组的首地址,数组元素宽度为4):Ai , j:=Bi , j+CAk , 1+Di+jt1:=j*10t1:=t1+it2:=At3:=4*t1t4:=j*10t4:=t4+it5:=Bt6:=4*t4t7:=t5t6t8:=1*10t8:=t8+kt9:=At10:=4*t8t11:=t9t10t12:=Ct13:=4*t11t14:=t12t13t15:= t7+t14t16:=i+j t17:=Dt18:=4*t16t19:=t17t18t20:=t15+t19t2t3 := t201. 数组var a:array1.10,1.20 of real;按行存放,其首址addA,每个实数占个字节编址,则语句b:=x+ai,j; 的四元式序列是什么?答: * i 20 t1+ j t1 t1- addrA 168 t2* 8 t1 t3= t2 t3 t4+ x t4 t5:= t5 _ b将下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论