Crate parser

source
Expand description

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.

Macros§

Structs§

  • Input for the parser – a sequence of tokens.
  • Output of the parser – a DFS traversal of a concrete syntax tree.
  • A parsing function for a specific braced-block.

Enums§