ziglang/zig
5 articles
前置知识
- ›Zig 语言基础知识(comptime、@import、错误联合类型、packed struct)
- ›对编译器概念有基本了解(词法分析、语法解析、IR、代码生成)
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 线程模型,以及多阶段自举流程。