代码生成定义
目标代码生成:以源程序的中间表示形式作为输入,并把它映射到目标语言
代码生成器:将此前的中间代码转换成特定机器上的机器语言或汇编语言
代码生成器的主要任务(中间表示->目标机指令)
寄存器分配——把哪个值放在哪个寄存器中
指令排序——按照什么顺序来安排指令的执行
指令选择——选择适当的目标机指令来实现中间表示(IR)语句
目标机器的主要指令寻址方式
指令选择
运算语句的目标代码
数组寻址语句的目标代码
指针存取语句的目标代码
条件跳转语句的目标代码
过程调用和返回的目标代码
寄存器的选择
寄存器描述符和地址描述符
寄存器描述符 ( register descriptor )——记录每个寄存器当前存放的是哪些变量的值
地址描述符 ( address descriptor )——记录运行时每个名字的当前值存放在哪个或哪些位置
引用于https://blog.csdn.net/weixin_44226857/article/details/104414873