用 Zig 写一个 C 编译器
摘要
一位开发者记录了用 Zig 语言、按照 Nora Sandler 的教程系列构建名为 paella 的 C 编译器的全过程。
暂无内容
查看缓存全文
缓存时间: 2026/04/23 11:11
# 用 Zig 写一个 C 编译器
来源:https://ar-ms.me/thoughts/c-compiler-1-zig/
⏏️ (https://ar-ms.me/)第一次尝试 Zig 编程语言
2025-06-17
这是我在写 `paella`(https://github.com/asibahi/paella)时记录的一系列文章,参考了 Nora Sandler 的《Writing a C Compiler》(https://norasandler.com/2022/03/29/Write-a-C-Compiler-the-Book.html)。既是为了学 Zig,也是在“待业”期间打发时间。整理到这里时,除了修复一些失效链接,我没有再做额外编辑。
- 第 1 章:简介 (https://ar-ms.me/paella/c1/)
- 第 2 章:一元运算 (https://ar-ms.me/paella/c2/)
- 第 3 章:二元运算 (https://ar-ms.me/paella/c3/)
- 第 4 章:逻辑运算 (https://ar-ms.me/paella/c4/)
- 第 5 章:变量 (https://ar-ms.me/paella/c5/)
- 第 6 章:条件语句 (https://ar-ms.me/paella/c6/)
- 第 7 章:代码块 (https://ar-ms.me/paella/c7/)
- 第 8 章:循环 (https://ar-ms.me/paella/c8/)
- 第 9 章:函数 (https://ar-ms.me/paella/c9/)
- 第 10 章:链接 (https://ar-ms.me/paella/c10/)
如果/当我继续写这本书,后续文章也会发在这里。
相似文章
为什么我在2024年用Zig编写了一个Game Boy Advance游戏
一位开发者解释了为什么他们选择Zig编程语言来创建Game Boy Advance游戏,强调了Zig的交叉编译能力及其对嵌入式编程的适用性。
Zig 示例教程
通过带注释的示例,对 Zig 编程语言进行实践性介绍,涵盖从基础到高级的主题。灵感来源于 Go by Example。
以Zig风格构建你的项目
作者详细介绍了构建一个名为bygge-zig的工具,该工具使用Zig构建系统来编译Rust项目,用更少的代码行复制了Cargo的功能,并突出了其中的差异和挑战。
重返Zig
作者描述了从Zig到Rust再回到Zig的历程,探讨了编程语言中稳定性与表达力之间的权衡。
Zig 示例
Zig by Example 是一本 Zig 编程语言的实践入门教程,包含针对版本 0.16 的带注释的示例程序。