跳到主要内容

编译器学习项目

LLVM 的 tutorial 文档

https://llvm.org/docs/tutorial/

My First Language Frontend with LLVM Tutorial 小项目,用了很少的代码覆盖了编译器的各个环节,适合没有编译器经验的人用来熟悉编译器的各个环节。

My First Language Frontend with LLVM Tutorial

shecc

一个非常小巧的编译器,学习用非常好,而且有 ARM 和 RISCV 版本。

https://github.com/jserv/shecc

chibicc

chibicc 是一个实现了大多数 C11 特性的 C 编译器,整体不到一万行的情况下,可以完成自举,编译 Git、SQLite、libpng 等大型 C 项目,且编译结果可以顺利通过这些库的全部测试。

https://github.com/rui314/chibicc

https://github.com/rui314/8cc

https://github.com/rui314/9cc

tcc

https://bellard.org/tcc/

lcc

https://github.com/drh/lcc

llvm-tutor

llvm-tutor 是一个学习 LLVM pass 的小项目,列出了一系列可以运行并且适合学习的 pass,这对于想了解和熟悉 LLVM pass 机制及其实现的小伙伴非常方便。

https://github.com/banach-space/llvm-tutor