目标代码生成-基本块与流图

上传人:沈*** 文档编号:244073048 上传时间:2024-10-02 格式:PPT 页数:10 大小:156KB
返回 下载 相关 举报
目标代码生成-基本块与流图_第1页
第1页 / 共10页
目标代码生成-基本块与流图_第2页
第2页 / 共10页
目标代码生成-基本块与流图_第3页
第3页 / 共10页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,第,9,章 目标代码生成,知识点:基本块、程序流图,下次引用信息,代码生成算法,9.2,基本块与流图,基本块:,是指程序中一组顺序执行的语句序列,其中只有一个入口语句和一个出口语句。,具有原子性的一组连续语句序列。,控制从第一条语句流入,从最后一条语句流出,中途没有停止或分支,如:,t,1,:=a*a,t,2,:=b*b,t,3,:=t,1,+t,2,基本块:,t,1,:=a*a,t,2,:=a*b,t,3,:=2*t,2,t,4,:=t,1,+t,3,t,5,:=b*b,t,6,:=t,4,+t,5,2,基本块的划分方法,确定入口语句,,下面的语句是入口语句:,三地址代码的第一条语句(若,从四元式序列确定基本块的入口语句,则四元式序列的第一个语句,),goto,语句转移到的语句,紧跟在,goto,语句后面的语句,确定基本块,,与每一个入口语句相应的基本块:,从一个入口语句(含该语句)到下一个入口语句(不含)之间的语句序列,从一个入口语句(含该语句)到停止语句(含该语句)之间的语句序列,2.,确定基本块的出口语句:,下一个入口语句的前导语句,转移语句,(,包括转移语句本身,),停语句,(,包括停语句本身,),入口语句和出口语句之间组成一个基本块。,3,例:给以下四元式序列划分基本块。,(,1,),read C,(,2,),A=0,(,3,),B=1,(,4,),L,1,:A=A+B,(,5,),if BC,goto,L,2,(,6,),B=B+1,(,7,),goto,L,1,(,8,),L,2,:write A,(,9,),halt,根据划分基本块的算法可以确定四元式,(1)(4)(6)(8),是入口语句,;(3)(5)(7)(9),是出口语句,因此分为四个基本块,(1)read C,(2)A=0,(3)B=1,(,4,),L,1,:A=A+B,(,5,),if BC,goto,L,2,(,6,),B=B+1,(,7,),goto,L,1,(8)L,2,:write A,(9)halt,4,B,1,B,2,B,3,B,5,B,4,Pascal,程序片断:,i:=1;,while(i=10)do,begin,ai,:=,ai+bi,;,i:=i+1,end,(1)i:=0,(2)if i=10,goto,(4),(3),goto,(17),(4)t1:=4*i,(5)t2:=a-4,(6)t3:=4*i,(7)t4:=a-4,(8)t5:=t4t3 /*t5=,ai,*/,(9)t6:=4*i,(10)t7:=b-4,(11)t8:=t7t6 /*t8=,bi,*/,(12)t9:=t5+t8,(13)t2t1:=t9,(14)t10:=i+1,(15)i:=t10,(16),goto,(2),(17),5,流图,把控制信息加到基本块集合中,形成程序的有向图,称为流图(控制流图),流图的结点是基本块,如果一个结点基本块的入口语句是程序的第一条语句,则称此基本块结点为首结点。,如果在某个执行序列中,基本块,B,2,紧跟在基本块,B,1,之后执行,则从,B,1,到,B,2,有一条有向边,,B,1,是,B,2,的前驱,,B,2,是,B,1,的后继。即如果:,有一个条件,/,无条件转移语句从,B,1,的最后一条语句转移到,B,2,的第一条语句;,B,1,的最后一条语句不是转移语句,并且在程序的语句序列中,,B,2,紧跟在,B,1,之后。,6,流图示例:,(1)i:=1,B,1,(4)t,1,:=4*i,(5)t,2,:=a-4,(6)t,3,:=4*i,(7)t,4,:=a-4,(8)t,5,:=t,4,t,3,(9)t,6,:=4*i,(10)t,7,:=b-4,(11)t,8,:=t,7,t,6,(12)t,9,:=t,5,+t,8,(13)t,2,t,1,:=t,9,(14)t,10,:=i+1,(15)i:=t,10,(16),goto,B,2,B,4,(2)if i=10,goto,B,4,B,2,(3),goto,B,5,B,3,(17),B,5,7,举例,基本块划分:,(1)i:=m-1,(2)j:=n,(3)t,1,:=4*n,(4)v:=at,1,(5)i:=i+1,(6)t,2,:=4*i,(7)t,3,:=at,2,(8)if t,3,v,goto,(9),(13)if i=j,goto,(23),(14)t,6,:=4*i,(15)x:=at,6,(16)t,7,:=4*i,(17)t,8,:=4*j,(18)t,9,:=at,8,(19)at,7,:=t,9,(20)t,10,:=4*j,(21)at,10,:=x,(22),goto,(5),(23)t,11,:=4*i,(24)x:=at,11,(25)t,12,:=4*i,(26)t,13,:=4*n,(27)t,14,:=at,13,(28)at,12,:=t,14,(29)t,15,:=4*n,(30)at,15,:=x,B,1,B,2,B,3,B,4,B,5,B,6,8,流图:,(1)i:=m-1 (2)j:=n,(3)t,1,:=4*n (4)v:=at,1,(5)i:=i+1 (6)t,2,:=4*i,(7)t,3,:=at,2,(8)if t,3,v,goto,(9),(13)if i=j,goto,(23),(14)t,6,:=4*i,(15)x:=at,6,(16)t,7,:=4*i,(17)t,8,:=4*j,(18)t,9,:=at,8,(19)at,7,:=t,9,(20)t,10,:=4*j,(21)at,10,:=x,(22),goto,(5),(23)t,11,:=4*i,(24)x:=at,11,(25)t,12,:=4*i,(26)t,13,:=4*n,(27)t,14,:=at,13,(28)at,12,:=t,14,(29)t,15,:=4*n,(30)at,15,:=x,B,1,B,2,B,3,B,4,B,5,B,6,B,2,B,3,B,6,B,2,9,书,312,页:,9.1,B4,B5,B2,10,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!