编译流程
从字符流到 token 流到 AST 到 IR(如 SSA)到目标代码。本章讲每个阶段的任务与经典算法(LR 解析、SSA 构造、寄存器分配的图着色),以及 LLVM 如何把前端与后端解耦。
- SSA 形式让很多优化变简单
- 寄存器分配是 NP 难的,用启发式
- 前端—IR—后端的分离让 N 种语言 × M 种目标只需 N+M 个组件
从字符流到 token 流到 AST 到 IR(如 SSA)到目标代码。本章讲每个阶段的任务与经典算法(LR 解析、SSA 构造、寄存器分配的图着色),以及 LLVM 如何把前端与后端解耦。