crustc:将整个 `rustc` 编译器翻译为 C 语言
crustc 是一个将 Rust 编译器 rustc 的整个代码库翻译为 C 语言的开源项目。该项目旨在通过将 Rust 编译器自身编译为 C 代码,探索编译器自举和跨语言移植的可能性。其核心目标是让 Rust 编译器能够在没有 Rust 工具链的环境中运行,从而降低 Rust 的部署门槛并拓展其生态兼容性。
背景速读
- Crustc 是一个由个人开发者 FractalFir 启动的开源项目,目标是把 Rust 编译器 rustc 的整个代码库(用 Rust 语言编写)自动翻译成可读的 C 代码。
- Rust 编译器本身是用 Rust 写的(即自举),这就形成了一个“先有鸡还是先有蛋”的问题:要编译 Rust 编译器,必须先有一个能运行 Rust 的工具链。Crustc 试图打破这一循环,让 Rust 编译器能用 C 编译器(如 GCC 或 Clang)来构建。
- 该项目目前处于早期探索阶段,并非旨在替代官方 rustc,而是一个技术实验——证明将大型自举语言编译器翻译到另一种语言是可行的。如果成功,它可能降低 Rust 编译器在新平台(尤其是没有原生 Rust 工具链的架构)上移植的门槛。
- 对中文读者来说,这背后的关键点是:Rust 语言很受关注,但其编译器的自举特性限制了它在一些嵌入式或新兴硬件上的落地。Crustc 尝试用 C 这个“通用汇编语言”来解开这个结。