蒋立源-编译原理第三版第八章-习题与答案.doc

蒋立源-编译原理第三版第八章-习题与答案.doc

ID:58568889

大小:77.00 KB

页数:10页

时间:2020-10-19

蒋立源-编译原理第三版第八章-习题与答案.doc_第1页
蒋立源-编译原理第三版第八章-习题与答案.doc_第2页
蒋立源-编译原理第三版第八章-习题与答案.doc_第3页
蒋立源-编译原理第三版第八章-习题与答案.doc_第4页
蒋立源-编译原理第三版第八章-习题与答案.doc_第5页
资源描述:

《蒋立源-编译原理第三版第八章-习题与答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章习题7-1设有如下的三地址码(四元式)序列:readNI:=NJ:=2L1:ifI≤JgotoL3L2:I:=I-JifI>JgotoL2ifI=0gotoL4J:=J+1I:=NgotoL1L3:Print′YES′haltL4:Print′NO′halt试将它划分为基本块,并作控制流程图。7-2考虑如下的基本块:D:=B*C E:=A+B B:=B*C A:=E+D(1)构造相应的DAG;(2)对于所得的DAG,重建基本块,以得到更有效的四元式序列。7-3对于如下的两个基本块:(1)A:=B*CD:=B/C E:=A+DF:=2*EG:

2、=B*CH:=G*GF:=H*GL:=FM:=L(2)B:=3D:=A+CE:=A*CF:=E+DG:=B*FH:=A+CI:=A*CJ:=H+IK:=B*5L:=K+JM:=L分别构造相应的DAG,并根据所得的DAG,重建经优化后的四元式序列。在进行优化时,须分别考虑如下两种情况:(ⅰ)变量G、L、M在基本块出口之后被引用;(ⅱ)仅变量L在基本块出口之后被引用。7-4对于题图7-4所示的控制流程图:(1)分别求出它们各个结点的必经结点集;(2)分别求出它们的各个回边;(3)找出各流程图的全部循环。7-5对于如下的程序:I:=1readJ,KL:

3、A:=K*IB:=J*IC:=A*BwriteCI:=I+1ifA<100gotoLhalt试对其中的循环进行可能的优化。第8章习题答案7-1解:划分情况及控制流程如答案图7-1所示:答案图7-1将四元式序列划分为基本块7-2解:(1)相应的DAG如答案图7-2所示。答案图7-2DAG(2)优化后的代码为: D:=B*C E:=A+B B:=D A:=E+D7-3解:(1)相应的DAG如答案图7-3-(1)所示。若只有G、L、M在出口之后被引用,则优化后的代码为:G:=B*CH:=G*GL:=H*GM:=L若只有L在出口之后被引用,则代码为:G:

4、=B*CH:=G*GL:=H*G(2)相应的DAG如答案图7-3-(2)所示。若只有G、L、M被引用,则代码为:D:=A+CE:=A*CF:=E+DG:=3*FL:=15+FM:=L若只有L被引用,则代码为:D:=A+CE:=A*CF:=E+DL:=+F157-4解:(a)必经结点集:D2={2}D3={2,3},D4={2,4}D5={2,4,5}D6={2,4,6}D7={2,4,7}D8={2,4,7,8}回边及相应的循环:7→4:{4,5,6,7}8→2:{2,3,4,5,6,7,8}(b)必经结点集:D1={1}D2={1,2}D3={

5、1,2,3}D4={1,2,3,4}D5={1,2,3,5}D6={1,2,3,6}D7={1,2,7}D8={1,2,7,8}回边及相应循环:7→2:{2,3,4,5,6,7}(c)必经结点集:D1={1}D2={1,2},D3={1,2,3}D4={1,2,4},D5=1,2,5}D6={1,2,3,6},D7={1,2,7}回边及相应循环:5→2:{2,3,4,5}6→6:{6}注意:5→4不是回边。因为4不是5的控制结点。7-5解:(1)划分基本块后的流程图如答案图7-5-(1)所示。(2)削弱运算强度后的流程图如答案图7-5-(2)所示

6、。答案图7-5-(2)削弱运算强度后的流程图(3)消除归纳变量后的流程图如答案图7-5-(3)所示。答案图7-5-(3)消除归纳变量后的流程图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。