Module rustc_parse::parser
source · Modules§
- attr_
wrapper π - diagnostics π
- expr π
- generics π
- item π
- nonterminal π
- pat π
- path π
- stmt π
- ty π
Structs§
- Capture
State π - Closure
Spans πStores span information about a closure. - Node
Range πA token range within an individual AST nodeβs (lazy) token stream, i.e. relative to that nodeβs first token. Distinct fromParserRange
so the two kinds of range canβt be mixed up. - Parser
Range πA token range within aParser
βs full token stream. - Restrictions π
- SeqSep πA sequence separator.
- Token
Cursor πIterator over aTokenStream
that producesToken
s. Itβs a bit odd that we (a) lex tokens into a nice tree structure (TokenStream
), and then (b) use this type to emit them as a linear sequence. But a linear sequence is what the parser expects, for the most part.
Enums§
- Block
Mode π - Capturing πControls how we capture tokens. Capturing can be expensive, so we try to avoid performing capturing in cases where we will never need an
AttrTokenStream
. - Whether or not to recover a
a, b
when parsing patterns as(a, b)
or that anda | b
. - Flat
Token πA helper struct used when building anAttrTokenStream
from aLazyAttrTokenStream
. Both delimiter and non-delimited tokens are stored asFlatToken::Token
. A vector ofFlatToken
s is then βparsedβ to build up anAttrTokenStream
with nestedAttrTokenTree::Delimited
tokens. - Whether or not we should force collection of tokens for an AST node, regardless of whether or not it has attributes
- Whether or not to recover a
:
when parsing patterns that were meant to be paths. - Whether or not to recover a
,
when parsing or-patterns. - Semi
Colon πMode - Token
Description π - Token
Type π - Trailing π
Functions§
- token_
descr π
Type Aliases§
- Node
Replacement πSee the comment onParserReplacement
. - Parser
Replacement πIndicates a range of tokens that should be replaced by anAttrsTarget
(replacement) or be replaced by nothing (deletion). This is used in two places during token collection.