The `syntax` crate contains those things concerned purely with syntax
– that is, the AST ("abstract syntax tree"), parser, pretty-printer,
lexer, macro expander, and utilities for traversing ASTs.

For more information about how these things work in rustc, see the
rustc guide:

- [Parsing](https://rust-lang.github.io/rustc-guide/the-parser.html)
- [Macro Expansion](https://rust-lang.github.io/rustc-guide/macro-expansion.html)
