中间代码生成及编译器后端概述
中间代码的生成
经过了词法分析,语法分析,语义分析之后就到了中间代码生成阶段
中间代码有两种形式:
- 三地址码
-
语法结构树(简称语法树)
,这和之前的语法分析树不同
三地址码
三地址码由类似汇编语言的指令序列组成,每个指令最多有三个操作数,所以称为三地址码
地址可以有三种形式
- 源程序中的名字(变量名)
- 常量
- 编译器产生的临时变量
常见的三地址指令
三地址指令的表示
- 四元式
- 三元式
- 间接三元式
目标代码的生成
中间代码生成之后会对其代码进行一定程度的优化,然后就进入进入到了目标代码的生成
目标代码生成器会将
中间代码
作为输入,并将它映射到
目标语言
,同时目标代码生成器还有一个重要任务就是
为变量分配寄存器
.
机器代码相关优化器
有一个重要任务就是
为变量分配寄存器
.
机器代码相关优化器
为改进代码所做的
等价程序变换,使其运行的更快,占用空间更少.
版权声明:本文为qq_44823898原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。