Crate ra_ap_parser[][src]

The Rust parser.

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 crates 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 syntax crate.

Macros

T

Structs

ParseError
Reparser

A parsing function for a specific braced-block.

Token

Token abstracts the cursor of TokenSource operates on.

Enums

FragmentKind
SyntaxKind

The kind of syntax node, e.g. IDENT, USE_KW, or STRUCT.

Traits

TokenSource

TokenSource abstracts the source of the tokens parser operates on.

TreeSink

TreeSink abstracts details of a particular syntax tree implementation.

Functions

parse

Parse given tokens into the given sink as a rust file.

parse_fragment