LLVM 是一个通用的编译器后端,Rust 就是基于 LLVM 构建的。有了这个编译器后端,我们可以实现自己的前端解析到 IR,然后后端交给 LLVM 来处理。

MLIR

Multi-Level Intermediate Representation

可以使用 MLIR 自定义一个自己的玩具编译器:MLIR_Tutorial.pdf