编译原理学习笔记(五)代码生成

任务

后端的第一步,对抽象语法树进行处理,生成一个或多个中间代码,最后生成机器能识别的目标代码。
有两个重要任务,第一是给源代码的数据分配资源,二是给源代码选择合适的指令。
资源有寄存器、数据区、代码区、栈、堆等。寄存器的存取速度最快,但是数量有限。
指令有算数运算、比较、跳转、函数调用返回等。不同的机器指令集也不同。

分享到