Read OSS

ziglang/zig

5 articles

前置知识

01

Zig 编译器架构:代码库全局导览

从全局视角带你了解 Zig 编译器的架构、目录结构与编译流水线——涵盖核心数据结构、IR 链以及自举流程。

02

从源代码到 ZIR:Zig 编译器前端深度解析

深入剖析 tokenizer、递归下降解析器以及 AstGen 阶段,了解 Zig 源代码如何转换为 ZIR —— 这一无类型中间表示。

03

语义分析与 InternPool:编译器的核心

深入解析 Sema.zig —— 编译器中体量最大的文件 —— 它负责将 ZIR 转换为带类型的 AIR,以及以 u32 索引统一存储所有类型与值的 InternPool 设计。

04

代码生成与链接:从 AIR 到二进制

AIR 如何经由后端专属的 MIR 降级为机器码,以及自托管链接器如何将最终二进制文件组装完成。

05

编译编排、缓存与增量编译

Compilation.update() 循环、三种缓存模式、InternPool 依赖跟踪、PerThread 线程模型,以及多阶段自举流程。