The Rust parser.
NOTE: The crate is undergoing refactors, don't believe everything the docs say :-)
The parser doesn't know about concrete representation of tokens
and syntax trees. Abstract [Input] and [Output] traits are
used to provide tokens instead. As a consequence, this crate does
not contain a lexer.
The Parser struct from the parser module is a cursor into the
sequence of tokens. Parsing routines use Parser to inspect current
state and advance the parsing.
The actual parsing happens in the [grammar] module.
Tests for this crate live in the syntax crate.