编译原理 第12章(清华大学).ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:37 大小:322KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

编译原理 第12章(清华大学).ppt

编译原理第12章(清华大学).ppt

预览

免费试读已结束,剩余 27 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第12章代码生成目标机器的地址方式a:=b+c1.MOVb,R0ADDc,R0cost=6MOVR0,a2.MOVb,aADDc,acost=6假定R0,R1和R2中分别存放了a,b和c的地址,采用:3.MOV*R1,*R0ADD*R2,*R0cost=2假定R1和R2中分别包含b和c的值,并且b的值在这个赋值以后不再需要,则还可有4.ADDR2,R1MOVR1,acost=3T4:=A+B-(E-(C+D)).计算待用信息的算法:其中假定d在基本块的出口是活跃的。代码序列从dag生成目标代码例:赋值语句T4:=A+B-(E-(C+D))尽可能使一个结点的求值紧接着它的最左变量的求值之后启发式排序算法(1)while存在未列入表的内部结点do(2)begin选取一个未列入表的但其全部父结点均已列入表的结点n;(3)将n列入表中;(4)whilen的最左子结点m不是叶结点并且其所有父结点均已列入表中do(5)begin将m列入表中;(6)n:=m(7)end(8)end:=MOV#a,R0ADDSP,R0ADDi(SP),R0MOVb,R1INCR1MOVR1,*R0选择实验最终报告内容1.概述:源、目标语言实现工具(平台)运行平台2.结构设计说明各功能模块描述3.主要成分描述(1)符号表(2)运行时存储组织和管理(3)语法分析方法(4)中间代码表示4.开发过程和完成情况12第13章13