- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《编译原理》课后习题答案第十一章
《编译原理》课后习题答案第十一章
PAGE 10
PAGE 10
计算机咨询网( )陪着您
第 11 章 代码优化
第1题
何谓代码优化?进行优化所需要的基础是什么? 答案:
对代码进行等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行速度加快或占用存储空间减少,或两者都有。
优化所需要的基础是在中间代码生成之后或目标代码生成之后。第2题
编译过程中可进行的优化如何分类?
答案:
依据优化所涉及的程序范围,可以分为:局部优化、循环优化和全局优化。第3题
最常用的代码优化技术有哪些?
答案:
删除多余运算
代码外提
强度削弱
变换循环控制条件
合并已知量与复写传播
删除无用赋值
第 4 题
图 11.23 是图 11.22 的 C 代码的部分三地址代码序列。
void quicksort(m,n) int m,n;
{ int i,j;
int v,x; if (n=m) return;
/* fragment begins here */ i = m-1;
j = n;
v = a[n];
while(1) {
do i = i+1;while (a[i]v); do j = j-1; while (a[j]v); if (i=j) break;
x = a[i]; a[i] = a[j]; a[j] = x;
}
x = a[i]; a[i] = a[n]; a[n] = x;
/* fragment ends here */ quicksort (m,j); quicksort(i+1,n);
}
图 11.22
(1) i:=m-1
(2) j:=n
(3) t1:=4*n
(4) v:=a[t1]
(5) i:=i+1
(6) t2:=4*i
(7) t3:=a[t2]
(8) if t3 v goto (5)
(9) j:=j-1
(10) t5:=4*j
(11) t5:=a[t4]
if t5 v goto (9)
if i = j goto (23)
(14) t6:=4*i
(15) x:=a[t6] (16) t7:=4*i
(17) t6:=4*j
(18) t9:=a[t8]
(19) a[t7]:=t9
(20) t10:=4*j
(21) a[t10]:=x
(22) goto (5) (23) t11:=4*i (24) x:=a[t11] (25) t12:=4*i (26) t13:=4*n (27) t14:=a[t13] (28) a[t12]:=t14 (29) t15:=4*n (30) a[t15]:=x
图 11.23
请将图 11.23 的三地址代码序列划分为基本块并做出其流图。
将每个基本块的公共子表达式删除。
找出流图中的循环,将循环不变量计算移出循环外。
找出每个循环中的归纳变量,并在可能的地方删除它们。答案:
(1)
基本块
流图
(2)
B5 中(14)和(16)是公共子表达式、(17)和(20)是公共子表达式,B5 变为
(14) t6:=4*I
(15)
(16) t7:=t6
(17) t8:=4*J
…
(20) t10:=t8
(21)
(22)
B6 中(23)和(25)是公共子表达式、(26)和(29)是公共子表达式,B6 变为
(23) t11:=4*I
(24)
(25) t12:=t11
(26) t13:=4*n
…
(29) t15:=t13
(3)
循环
① {B2}
② {B3}
③ {B2,B3,B4,B5}
(4)
在循环{B2,B3,B4,B5}中,原来的(14)(17)都可以删除。
第 5 题:
如下程序流图(图 11.24)中,B3 中的 i∶=2 是循环不变量,可以将其提到前置结点吗? 你还能举出一些例子说明循环不变量外移的条件吗?
图 11.24
答案:
不能。因为 B3 不是循环出口 B4 的必经结点。循环不变量外移的条件外有:
(a)(I)s 所在的结点是 L 的所有出口结点的必经结点
A 在 L 中其他地方未再定值
L 中所有 A 的引用点只有 s 中 A 的定值才能到达
(b)A 在离开 L 之后不再是活跃的,并且条件(a)的(II)和(III)成立。所谓 A 在离开 L 后不再是活跃的是指,A 在 L 的任何出口结点的后继结点的入口处不是活跃的(从此点后不被引用)(3)按步骤(1)所找出的不变运算的顺序,依次把符合(2)的条件(a)或(b)的不变运算 s 外提到 L 的前置结点中。如果 s 的运算对象(B 或 C)是在 L 中定值的,则只有当这些定值四元式都已外提到前置结点中时,才可把 s 也外提到前置结点。
第 6 题
试对以下基本块 B1 和 B2: B1:
您可能关注的文档
最近下载
- 湖北省武汉市十一初级中学2024-2025学年七年级上学期10月月考英语试卷(含答案,无听力音频听力原文).pdf VIP
- T_ZJATA 0033-2025 塑胶玩具中双酚类和烷基酚类物质迁移量的测定 液相色谱-串联质谱法.docx VIP
- 《“探界者”钟扬》精品教案精品教案.doc VIP
- 知识点汇总_古代汉语.pdf VIP
- 活动执行质量保障措施方案.pdf VIP
- 2024年新课标人教版小学体育水平三全册教案.docx
- 2025年注册安全工程师《法律法规》30个必考点终极预测与高仿真模拟题库.pdf
- 2024-2025学年初中数学六年级上册(2024)鲁教版(五四学制)(2024)教学设计合集.docx
- T_ZJATA 0033-2025 塑胶玩具中双酚类和烷基酚类物质迁移量的测定 液相色谱-串联质谱法.pdf VIP
- T_ZBXH 141-2025 甜菜旋幽夜蛾防控技术规程.pdf VIP
文档评论(0)