蒋立源编译的原理第三版第八部分练习题跟答案.doc

蒋立源编译的原理第三版第八部分练习题跟答案.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 习题 7-1 设有如下的三地址码(四元式)序列: read N I:=N J:=2 L1 : if I≤J goto L3 L2 : I:=I-J if IJ goto L2 if I=0 goto L4 J:=J+1 I:=N goto L1 L3 : Print ′YES′ halt L4 : 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*C D:=B/C ? E:=A+D F:=2*E G:=B*C H:=G*G F:=H*G L:=F M:=L (2) B:=3 D:=A+C E:=A*C F:=E+D G:=B*F H:=A+C I:=A*C J:=H+I K:=B*5 L:=K+J M:=L 分别构造相应的DAG,并根据所得的DAG,重建经优化后的四元式序列。在进行优化时,须分别考虑如下两种情况: (ⅰ)变量G、L、M在出口之后L在出口之后 7-5 对于如下的程序: I:=1 read J,K L: A:=K*I B:=J*I C:=A*B write C I:=I+1 if A100 goto L halt 试对其中的循环进行可能的优化。 第8章 习题答案 7-1 解:划分情况及控制流程如图: 7-2 解:DAG如答案图 答案图优化后的代码为? D:=B*C ? E:=A+B ? B:=D ? A:=E+D 7-3 解: DAG如答案图。 若只有G、L、M在出口之后,则优化后的代码为: G:=B*C H:=G*G L:=H*G M:=L 若只有L在出口之后,则代码为G:=B*C H:=G*G L:=H*G (2) 相应的DAG如答案图。 若只有G、L、M,则代码为D:=A+C E:=A*C F:=E+D G:=3*F L:=15+F M:=L 若只有L,则代码为D:=A+C E:=A*C F:=E+D L:=+F15 7-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 ={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的控制结点。图。 (2) 削弱运算强度后的流程图如答案图。 答案图图。 答案图

文档评论(0)

wx171113 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档