常用的中间表示形式
- 三地址码(three-address Code)
- 三地址码由类似于汇编的指令序列组成,每个指令最多有三个操作数
- 地址可以具有如下形式之一
- 源程序中的名字
- 常量
- 编译器生成的临时变量
- 三地址转换成数据结构
- 四元式
- 三元式 - 间接三元式
- 四元式
- 三地址码由类似于汇编的指令序列组成,每个指令最多有三个操作数
- 语法结构树/语法树(syntax trees)
编译器的结构
- 目标代码生成以源程序的中间表示形式作为输入,并把它映射到目标语言
- 目标生成的一个重要任务是为程序中使用的变量合理分配寄存器
代码优化
代码优化:为改进代码进行的等价程序变换
- 机器无关优化:中间层面进行优化
- 机器相关优化:目标代码层面进行优化