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. [`Parser`]: crate::parser::Parser