文档介绍:
语义分析、生成中间代码
目标代码生成
代码优化
语法分析程序
词法分析程序
错
误
处
理
符
号
表
管
理
第9章目标代码生成
要求明确目标代码的三种不同形式的优缺点
了解简单的代码生成算法
教学目标
目标代码的形式
假想的计算机模型
一个简单的代码生成程序
教学内容
目标代码生成就是依次把中间代码翻译成目标代码
要实现一个代码生成器,重点应该考虑两个问题:
1. 如何使生成的目标代码尽可能的短
2. 如何充分利用计算机的寄存器,减少目标代码中访问内存的次数
目标代码的形式:
(1)可立即执行的机器语言代码
(2)待装配的机器语言代码,又称相对目标代码
(3)汇编语言代码
op表示运算符
op1为第一个操作数,必须为寄存器类型
op2为第二个操作数,类型可以是寄存器类型,也可以是内存型的变量类型
意义为:将op1与op2进行op运算,运算后的结果再送回op1中
虚拟计算机指令系统典型的指令形式如下:
op op1, op2
例:四元式T=a+b翻译成目标代码,需要如下三条指令
LD R, a //将a从内存装入一个寄存器R中
ADD R,b //将R中的结果与b相加,结果存到R中
ST R,T //将R中的结果装入到变量T中
小结
实现一个代码生成器,重点应该考虑两个问题
如何使生成的目标代码尽可能的短
如何充分利用计算机的寄存器,减少目标代码中访问内存的次数
要求明确目标代码的三种不同形式的优缺点
可立即执行的机器语言代码
待装配的机器语言代码,又称相对目标代码
汇编语言代码
了解简单的代码生成算法
编译原理学习网站
./