# Abstract Syntax Tree
APM builds the AST for you while it parses. Every syntac action becomes a node
with its units beneath it, and that default is what most grammars want.
```parser
A := B . C; # A, with B and C as its children, in that order
```
When the shape you want is not the shape the grammar had to be written in, an
**AST map** says what to build instead.
## Writing a map
A map is `->` followed by the shape, and the body it maps must be in
parentheses:
```
(
) -> (