【编译原理课件】cha12 代码生成.ppt

【编译原理课件】cha12 代码生成

* * 第12章 代码生成 基本问题 目标机器模型 一个简单的代码生成器 寄存器分配(略) DAG的目标代码(略) 作业 课程目录 * * 代码生成概述 p274 逻辑阶段 编译程序的最后一个阶段 输入和输出 中间代码 等价的目标代码 目标代码的一般形式 绝对机器代码 所有地址均已定位 优点:可立即执行 缺点:不能独立编译各模块,灵活性差 可再定位机器代码 需经连接与装入才可执行 优点:子程序可单独编译 缺点:需经汇编器辅助代码生成 汇编语言代码 优点:目标程序好读、可移植 缺点:需经汇编器辅助代码生成 * * 12.1.1 基本问题 p274 代码生成器的设计环境 要依赖于目标机器、指令系统和操作系统。 输入 源程序的中间表示、符号表中的信息。 目标程序 汇编语言。 指令选择 指令集丰富、选择合适。 寄存器分配 有效合理使用寄存器、提高代码质量。 计算顺序选择 影响代码的有效性。 * * 目标代码生成器的基本设计要求 使所生成的目标代码尽可能的短 能较充分地发挥目标计算机可用资源的效率 例如: 尽可能地使用执行速度快的指令 充分利用计算机的寄存器和变址器,以节省访问内存的时间 章节目录 * * 12.2.1 目标机模型 p278 问题提出 代码生成程序总是针对某一具体的计算机实现的 因此,试图脱离具体的计算机来一般性讨论生成高效的目标代码的全部细

文档评论(0)

1亿VIP精品文档

相关文档