Documentation

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 [TokenSource] and [TreeSink] traits are used 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.