编译原理陈火旺版10-11章.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

优化对代码进行的变换必须遵守以下原那么:

1.等价原那么:经优化的代码执行结果不变;

2.有效原那么:优化后确实执行时间短、占用空间少;

3.合算原那么:以较低的代价,换取较好的优化效果。;该语句段的中间代码见P274图10.2;i:=m-1;j:=n;

T1:=4*n;v:=a[T1];;一.删除公共子表达式〔多余运算〕;二.复写传播;三.删除无用代码;四.代码外提;六.删除归纳变量(图10.4〕;经前述各种优化处理后,最终的中间代码如下:;10.2局部优化;1.求出程序中可做根本块入口的语句,它们是:;3.代数变换:x:=y**2可变换为x:=y*y(强度削弱);二.根本块的DAG表示及其应用;1型:A:=OPB

1、NODE(B)无定义,那么构造叶结点n,NODE(B)=n;

2、假设B为常数,那么计算OPB=P,假设NODE(P)无定义,

那么构造叶结点n,NODE(P)=n,执行0型2。

3、假设B非常数,查有无OPB子树:

有:设NODE(OP)=n,执行0型2;

无:构造n结点OP,执行0型2。;2型:A:=BOPC或A:=B[C]

1、NODE(B)无定义,那么构造叶结点B;

NODE(C)无定义,那么构造叶结点C;

2、假设B,C均为常数,那么计算BOPC=P,假设NODE(P)无

定义,那么构造叶结点n,NODE(P)=n,执行0型2。

3、假设B,C不是常数,查有无BOPC子树:

有:设NODE(OP)=n,执行0型2;

无:构造n结点OP,执行0型2。;8;由该图重写的代码序列如下:;对该根本块还可进行如下优化:;目标代码生成器的位置:;11.1一个简单的代码生成器;那么前述中间码可翻译为:

LD R,B

ADD R,C

ST R,T1

LD R,T1

MUL R,D

ST R,T2

LD R,T2

ADD R,E

ST R,A;为完成上述简化工作,应考虑到:

1、为省略LDR,T1,必须知道T1已在存放器中;

2、为省略STR,T1,必须知道T1在根本块外不用。

文档评论(0)

展翅高飞2020 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档