Appearance
编译原理
编译器将源程序转换为目标程序,并保持语言规定的可观察行为。前端识别结构与检查语义,中间表示承载分析和变换,后端把运算映射到指令、寄存器和运行时约定。编译正确性贯穿各阶段,优化则在正确性约束下改善代价。
目录
先修知识与约定
需要离散数学、数据结构、图算法和基本汇编知识。例子使用具有词法作用域的简化命令式语言;涉及整数溢出、浮点、异常或副作用时会说明语义限制。伪代码表达算法,不绑定某个编译器版本。
参考课程
MIT 6.035 Computer Language Engineering,2010 年春季教学大纲与讲次表涵盖词法、语法、中间表示、语义检查、代码生成、数据流分析、指令调度、寄存器分配和循环优化。
本讲义以这些主题为范围,补充 SSA、运行时和编译验证之间的联系。各章分别讨论表示、算法及其正确性条件,不把前端结束误当作编译过程结束。