代码生成器的设计

代码生成器的位置

代码生成器根据中间表示(IR)生成代码,代码生成器之前可能有一个优化组件。

代码生成器的三个任务:

  • 指令选择:选择适当的指令实现IR语句

  • 寄存器分配和指派:把哪个值放在哪个寄存器中

  • 指令排序:按照什么顺序安排指令执行

要解决的问题:

正确性:正确的机器指令;易于实现、测试和维护。

输入IR的选择:四元式、三元式、字节代码、堆栈机代码、后缀表示、抽象语法树、DAG图等

输出:RISC、CISC;可重定向代码、汇编语言

Last updated