中国农业大学《编译原理》课件-第11章代码优化.pptVIP

中国农业大学《编译原理》课件-第11章代码优化.ppt

  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文档。上传文档
查看更多
大学,本科,专科,硕士,笔记,课件,期中试卷答案,期末试卷答案,教材答案,知识点,经济法,材料科学基础,材料力学,电路,电子技术基础,高频电子线路,宏观经济学,模拟电路基础,模拟电子技术,数字电路,数字电子技术,数字信号处理,通信原理,信号与系统,化工原理,机械设计基础,机械原理,机械制图,微机原理与接口技术,C++程序设计,JAVA技术与应用,MATLAB基础与应用,计算机网络,计算机组成原理,软件工程数据结构,工程力学,工程热力学,结构力学,力学,流体力学,水力学,工程测量,工程经济学,工程

设当前四元式为(ω, A, B, C),且用newn表示新的编码值。 值编码规则: 1.开始对一切X,令n(X)=0,以表示未编过码。 2.若操作数A是未编过码的并且是非间接变量,则给新的编码(否则给老的编码) IF indirect(A) THEN N(A):=# ELSE IF n(A)=0 THEN n(A)=newn 3.对操作数B类似步骤2。 4.对于C的处理过程是: a) (=:, A, -, C)情况 IF direct(C) THEN n(C):=n(A) ELSE n(C):=# b) ([ ],A,B,C),(·,A,B,C)情况 n(C):=# c) 其他情况: IF n(A)=# ∨ n(B)=# THEN n(C):=# ELSE n(C):=newn 例:(下边四元式中没有间接变量) X:=1 Z:=X*Y X:=1 W:=X*Y 得到的四元式如下: 4 4 6.(=:, T2,-,W) 1 2 4 5.(*, X, Y,T2) 1 1 4.(=:, 1,-,X) 3 3 3.(=:, T1,-,Z) 1 2 3 2.(*, X,Y,T1) 1 1 1.(=:,1,-,X) 编 码 四 元 式 多边扫描公共表达式节省算法: 设新老变量名表为ML,每当一个四元式被节省时要填写ML表。 1.置ML表为空,令所有量均无编码,i:=i0. 2.若QT[i]的OPR1或OPR2∈ML,则用ML中的 老名代替OPR1或OPR2. (使用新老变量名表ML) 3.若QT[i]为非考虑类,则转8.(处理下一四元式) 4.对QT[i]中的三个变量进行编码. 5.若QT[i].ω=“=:”,则转8. 例: A:=3*X+Y B:=(3*X+Y)*A 得到的四元式如下: 6.若QT[i]的OPR1或OPR2的编码为#,则转8. 7.若存在i’使QT[i’]≈QT[i](等价),则 a. QT[i]:= ($,-,- ,-) b. ML[m]:=(QT[i].RESU, QT[i’].RESU) (填写新老变量名表ML) 8.i:=i+1;若本块未完转,否则结束. (=:,T5,-,B) 8 8 7.(=:,T5,-,B) (*,T2,A,T5) 5(7) 5 8 6.(*,T4,A,T5) ($,-,-,-) 3(6) 4 7 5.(+,T3,Y,T4) ($,-,-,-) 1 2 6 4.(*,3,X,T3) (=:,T2,-,A) 5 5 3.(=:,T2,-,A) (+,T1,Y,T2) 3 4 5 2.(+,T1,Y,T2) (*,3,X,T1) 1 2 3 1.(*,3,X,T1) 优 化 后 编 码 优 化 前 例:设有语句列 X:=X*Y+Z; Y:=X*Y+Z; Z:=X*Y-Z 试用值编码法写出优化和优化后的四元式中间代码。 优化前 1.(*, X,Y,T1 ) 2.(+,T1,Z,T2 ) 3.(:=,T2,-,X ) 4.(*, X, Y,T3 ) 5.(+, T3,Z,T4 ) 6.(:=,T4,-,Y ) 7.(*, X, Y,T5 ) 8.(-, T5,Z,T6 ) 9.(:=,T6,-,Z ) 优化前 编码 1.(*, X,Y,T1 ) (1,2,3) 2.(+,T1,Z,T2 ) (3,4,5) 3.(:=,T2,-,X ) (5, 5) 4.(*, X, Y,T3 ) (5,2,6) 5.(+, T3,Z,T4 ) (6,4,7) 6.(:=,T4,-,Y ) (7, 7) 7.(*, X, Y,T5 ) (5,7,8) 8.(-, T5,Z,T6 ) (8,4,9) 9.(:=,T6,-,Z ) (9, 9) 优化前 编码 优化后 1.(*, X,Y,T1 ) (1,2,3) (*,X, Y,T1) 2.(+,T1,Z

您可能关注的文档

文档评论(0)

翰林大当家 + 关注
实名认证
服务提供商

文案个性定制,计划书、方案、策划书专业撰写。

1亿VIP精品文档

相关文档