通常来说初代的编译器是会选择 C/C++ 之类的语言编写,然后后面的编译器会选择用 Rust 来重写。当然,编译器有其本身的复杂度,可能在某些组件上依赖了其他语言编写的组件(比如Rust现有的编译器就依赖了一个用 C++ 编写的linker)。