宣言的マクロ(Declarative Macros)

本章ではRustの宣言的マクロシステム: macro_rules!について説明します。

本章では体系的説明実践的説明の2つを行います。

前者はこのマクロシステムがどのように動作するのかについて完全かつ徹底的に説明する試みです。一方、後者ではより実践的な例を取り上げます。 体系的説明はこのシステムに関する全ての説明を求める読者向けとなっている一方で、実践的説明はひとつのマクロを実装する体験を通して読者を導く構成となっています。

2種類の説明の補足として、多機能なマクロを実装する際に一般的に非常に役立ついくつかのパターン構成要素 (building blocks) を紹介します。

宣言的マクロに関する他の資料としては、より敷居が低く高水準な視点からの説明であるThe Rust Book のマクロの章1や、より厳密な詳細に深入りするリファレンス2マクロの章 が挙げられます。

Note: 本書では、macro-rules!によって定義されるマクロを指して MBE(Macro-By-Example), MBEマクロ あるいは macro-rules!マクロという用語を用います。

2

訳注: The Rust Referenceのこと