unh*_*guy 2 compiler-construction rust
如果您在github rust lang 编译器存储库中检查语言百分比,它会说rust lang 编译器的97.6% 是用 rust 编写的。那么这究竟是如何工作的呢?如何创建自己编写的编程语言(我认为这与编译器有关,因为它是阅读代码的人,不是吗?)。
这称为自托管或引导。基本思路是这样的:
通过根据需要多次重复步骤 (3),您可以逐渐向 Rust 语言添加越来越多的功能,而 Rust 编译器始终是用 Rust 本身编写的。
有一个名为Reflections on Trusting Trust的著名演讲,它讨论了这个过程是如何运作的,以及如何使用这个过程来做邪恶的事情。