语法扩展

在讨论 Rust 的不同宏系统之前,有必要讨论一下构建它们的一般机制:语法扩展 。

要理解这一点,我们必须首先讨论编译器如何处理 Rust 源代码,以及构建用户自定义的宏和过程宏所基于的一般机制。

注意:本书将从现在开始,讨论 Rust 的所有不同宏类型时,使用术语“语法扩展” (syntax extension),以减少与即将发布的声明宏 2.0 提案的可能存在的混淆,该提案使用了 macro 关键字。