- 1、本文档共189页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南开大学编译原理第十章课件PPT
例10.39 D(2)={2}∪D(1)={1,2} D(3)={3}∪{{1}∩{1,2}∩{1,2,…,10})={1,3} D(4)={4}∪{{1,3}∩{1,2,…,10})={1,3,4} D(5)={5}∪{1,3,4}={1,3,4,5} D(6)={6}∪{1,3,4}={1,3,4,6} D(7)={7}∪{{1,3,4}∩{1,3,4,6}∩{1,2,…,10})={1,3,4,7} D(8)={8}∪{1,3,4,7}={1,3,4,7,8} D(9)={9}∪{1,3,4,7,8}={1,3,4,7,8,9} D(10)={10}∪{1,3,4,7,8}={1,3,4,7,8,10} 不再改变 10.10 高效数据流算法 10.10.1 迭代算法中的深度优先顺序 前面的研究都假定信息沿无环路径传播,实际上环路没有影响——删除环,形成更短的无环路径,信息传播没有改变 无环路径:修改数据流迭代算法的节点访问顺序,加快算法速度 区间深度:得到限制流图所需的区间划分次数 Knuth统计得到:典型流图的区间深度很低,评价为2.75 深度:无环路径上后退边的最大数目 区间深度永远不会比深度小 迭代次数 a?b是后退边时,b的深度优先编号才比a的编号小——修改算法10.2,按每个块B深度优先编号顺序计算到达定义 假定存在定义d的传播路径:3?5?19?35?16?23?45?4?10?17 第一次迭代:d?out[3]?in[5]?out[5]… ?out[35],在16处截断——先计算的in[16]、out[16],后计算的35 第二次迭代:在4处截断 第三次迭代:完成 迭代次数(续) 一般的,迭代次数不超过后退边数目+1 所需遍历次数是深度+1 使用深度优先算法的遍数实际上是深度+2——遍历次数不超过5 可用表达式或其他通过前向传播计算的数据流问题,按深度优先顺序计算 活跃变量等后向传播计算的问题,按深度优先顺序的逆序计算 10.10.2 基于结构的数据流分析 访问节点的次数不会大于区间深度,平均次数比区间深度小得多 算法基于T1和T2变换得到结构上 对区域R中的每个块B,计算从区域首节点到B的末尾的路径上所产生和注销的定义集合genR, B和killR, B 然后计算转移函数transR, B(S):S中哪些定义会沿着R中路径到达B的末尾 基于结构的数据流分析(续) 到达块B末尾的定义可分为两类 在R中产生并传播到B末尾——与S无关 不是在R中产生,但在到B末尾的路径中也未注销,若它在S中则它在transR,B(S)中 transR,B(S)=genR,B∪(S - killR,B) 算法核心思想:对流图使用T1、T2变换逐渐变大的区域计算transR,B 基于结构的数据流分析算法 起点是单个块B构成的区域 genB,B=gen[B],killB,B=kill[B] 使用T2变换:R1消掉R2构成R R2到R1首节点的边不属于R——R中没有R2到R1后退边——R中路径都是先穿过R1(可无),然后穿过R2(可无),但不能返回R1——R2不会影响R1中节点转移函数 对R1中的B:genR,B=genR1,B,killR,B=killR1,B 指针指向规则(续) 若对p进行其他形式的赋值,p不能指向任何对象 对其他变量进行赋值,不会影响p指向哪个变量(无多重指针) in[B]:在块B的入口点,指针p指向的变量的集合——序对(p, a)的集合 out[B]:含义类似in[B] trans函数 transB:将in[B]作为参数,计算出out[B] 对单条语句计算,组合起来即可 transB计算规则: a为数组,语句s是p=a或p=a±c,则transs(S)=(S-{(p,b)|b是任意变量})∪{(p,a)} s:p=q±c,q是指针,c是非零整数,则transs(S)=(S-{(p,b)|b是任意变量})∪{(p,b)|(q,b)∈S且b为数组} s:p=q,则transs(S)=(S-{(p,b)|b是任意变量})∪{(p,b)|(q,b)∈S} transB计算规则(续) s将其他任何表达式的值赋予p,则transs(S)=S-{(p,b)|b是任意变量} s不是为指针赋值,则transs(S)=S 若B由语句s1, s2, …, sk组成,则transB(S)=transs k(transs k-1(…(transs2(transs1(S)))…) 例10.26 out[B1]=transB1(Φ)={(q, c)} out[B2]=transB2({(q,c)})={(p, c), (q, a)} out[B3]=transB3({(q,c)})={(p, a), (q, c
您可能关注的文档
- 北京中赫钓鱼台七号院营销策划提案PPT.ppt
- 北京地铁五号线11标段指导性施组幻灯片-2003.11.22PPT.ppt
- 北京科技大学本科生科技创新项目负责人培训PPT.ppt
- 北京市日光温室番茄高产高效栽培技术探讨PPT.ppt
- 北京市造林工程质量管理的主要内容和要求-以平原造林为例PPT.pptx
- 北城新区住宅项目市场调研PPT.ppt
- 北京簋街调研PPT.ppt
- 北大投资学课件第15章产业投资效益分析PPT.ppt
- 北京现代品牌发展战略报告PPT.ppt
- 北师大《马克思主义基本原理概论》绪论PPT.ppt
- 2022年焊工(中级)实操考试题带答案73 .pdf
- 2022年《简爱》的读后感6篇 .pdf
- 2021哺乳动物体内木糖相关物质的来源与功能范文1 .pdf
- 2022店铺转让协议书_21 .pdf
- 2023年(26到125)2023年11月二级企业培训师考试真题及答案(小编整理).pdf
- 2023五四制人教版八年级下学期历史第一单元素养综合检测 .pdf
- 2022-2023年口腔医学期末复习-预防口腔医学(口腔医学)考试全真模拟专项.pdf
- 新形势下水工环地质勘察技术及其应用研究.docx
- 信息化给政府管理带来的机遇、挑战以及对策.doc
- 新形势下餐饮企业网络营销策略存在的问题及对策分析.docx
最近下载
- 安顺《建筑信息模型(BIM)》建模练习4:复制功能与创建二层模型练习(5分,需辅导教师评阅).pdf VIP
- 会计职业生涯计划书格式.pdf VIP
- 设计比选文件.doc
- 子分部工程质量验收纪要GD424.xls VIP
- 2024-2025学年小学地方、校本课程川教版可爱的四川教学设计合集.docx
- 2024年爆破作业人员安全技术培训试题(及答案).pdf
- 2023年海南省中考历史试题卷(含答案解析)+2022年及2021年中考历史试卷及答案.docx
- KCP题库整理必威体育精装版.docx VIP
- 24拱城控01:杭州市拱墅区城市建设发展控股集团有限公司公司债券2024半年度报告.PDF VIP
- 版劳动实践河北科学技术出版社三年级下册全册教案.pdf
文档评论(0)