# About Declarative macros

* They are also called [Macros-By-Example](https://doc.rust-lang.org/reference/macros-by-example.html) in the reference book.
* We use `macro_rules!` to defined them.
* When used, declarative macros look like functions with an exclamation mark `!` at the end.
* `match`-like arms to match the input of the macro.

* Macro matchers and transcribers (aka. expansions).


