收藏 分享(赏)

编译原理(习题课)(三).pdf

上传人:精品资料 文档编号:8070199 上传时间:2019-06-07 格式:PDF 页数:40 大小:313.32KB
下载 相关 举报
编译原理(习题课)(三).pdf_第1页
第1页 / 共40页
编译原理(习题课)(三).pdf_第2页
第2页 / 共40页
编译原理(习题课)(三).pdf_第3页
第3页 / 共40页
编译原理(习题课)(三).pdf_第4页
第4页 / 共40页
编译原理(习题课)(三).pdf_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、1编译原理朱雪峰博士计算机科学与技术系Tel: 89733787(O)Email: 2第三十题(P218 第6题)6.按7.4.2节的办法,写出布尔式A or (B and not (C or D)的四元式序列。34第三十题(P218 第6题)1 (jnz, A, _, 0)2 (j, _, _, 3)3 (jnz, B, _, 5)4 (j, _, _, 0)5 (jnz, C, _, 0)6 (j, _, _, 7)7 (jnz, D, _, 0)8 (j, _, _, 0)1 (jnz, A, _, 0)2 (j, _, _, 3)3 (jnz, B, _, 5)4 (j, _, _,

2、0)5 (jnz, C, _, 4)6 (j, _, _, 7)7 (jnz, D, _, 5)8 (j, _, _, 1)5第三十一题(P218 第7题)7.用7.5.1节的办法,把下面的语句翻译成四元式序列:while A100 goto L2haltL2: F:=F-1goto L119第三十五题(P306 第2题)(1)求入口语句read A,BF:=1C:=A*AD:=B*Bif C100 goto L2haltL2: F:=F-1goto L120第三十五题(P306 第2题)(2)划分基本块read A,BF:=1C:=A*AD:=B*Bif C100 goto L2haltL2

3、: F:=F-1goto L1B1B2B3B4B521第三十五题(P306 第2题)(3)画数据流图如下:B1B2 B3B4 B522第三十六题(P306 第3题)3.试对以下基本块B1和B2分别应用DAG对它们进行优化,并就以下两种情况分别写出优化后的四元式序列(1)假设只有G、L、M在基本块后面还要被引用;(2)假设只有L在基本块后面还要被引用。B1: A:=B*CD:=B/CE:=A+DF:=2*EG:=B*CH:=G*GF:=H*GL:=FM:=LB2: B:=3D:=A+CE:=A*CF:=D+EG:=B*FH:=A+CI:=A*CJ:=H+1K:=B*5L:=K+JM:=L23第三

4、十六题(P306 第3题)B1: A:=B*CD:=B/CE:=A+DF:=2*EG:=B*CH:=G*GF:=H*GL:=FM:=L24第三十六题(P306 第3题)B2: B:=3D:=A+CE:=A*CF:=D+EG:=B*FH:=A+CI:=A*CJ:=H+1K:=B*5L:=K+JM:=L25第三十六题(P306 第3题)(1)假设只有G、L、M在基本块后面还要被引用,基本块B1和B2优化后的四元式序列分别如下:B1: G:=B*CH:=G*GL:=H*GM:=LB2: D:=A+CE:=A*CF:=D+EG:=3*FL:=15+FM:=L26第三十六题(P306 第3题)(2)假设

5、只有L在基本块后面还要被引用,基本块B1和B2优化后的四元式序列分别如下:B1: G:=B*CH:=G*GL:=H*G B2: D:=A+CE:=A*CF:=D+EL:=15+F27第三十七题(P307 第4题)4.对以下四元式程序,对其中的循环进行循环优化。I:=1read J,KL : A:=K*IB:=J*IC:=A*Bwrite CI:=I+1if I100 goto Lhalt28第三十七题(P307 第4题)4.对以下四元式程序,对其中的循环进行循环优化。解:先进行基本块划分,再画程序流图。由于要进行循环优化,于是可考虑代码外提、强度削弱和删除归纳变量等优化方法。先将程序划分为基本

6、块B1、B2和B3,其程序流图如图1所示,从流图中可知要优化的循环是指基本块B2。对循环B2中的代码分别实行代码外提、强度削弱和删除归纳变量优化如下:(1)代码外提:由于循环中没有不变运算,故此项29第三十七题(P307 第4题)4.对以下四元式程序,对其中的循环进行循环优化。(2)强度削弱:由于循环中有A:=K*I和B:=J*I,其中K、J在循环中值不发生改变,I每次增加1。因此对A、B的赋值运算可进行强度削弱,即可将表达式中的乘法运算(*)改为加法运算(+)。强度削弱后的程序流图如图2。(3)删除基本归纳变量:循环中I是基本归纳变量,A、B是与I同族的归纳变量,且有如下线性关系:A:=K*I B:=J*I于是,条件I100完全可用A100*K或B100*J替代。30第三十七题(P307 第4题)4.对以下四元式程序,对其中的循环进行循环优化。(3)这样基本块B2中的控制条件和控制语句便可改写为:T1:=100*Kif AT1 goto L或改写为:T2:=100*Jif BT2 goto L于是程序流图就变为如图3所示的情况。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报