Re-exports§
pub use token_type::ExpKeywordPair;
pub use token_type::ExpTokenPair;
pub use token_type::TokenType;
Modules§
- attr
- attr_
wrapper 🔒 - diagnostics 🔒
- expr 🔒
- generics 🔒
- item 🔒
- nonterminal 🔒
- pat 🔒
- path 🔒
- stmt 🔒
- token_
type - 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 from
ParserRange
so the two kinds of range can’t be mixed up. - Parser
- Parser
Range 🔒 - A token range within a
Parser
’s full token stream. - Restrictions 🔒
- SeqSep 🔒
- A sequence separator.
- Token
Cursor 🔒 - A
TokenStream
cursor 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. - Token
Tree 🔒Cursor
Enums§
- Attempt
Local Parse Recovery - 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
. - Comma
Recovery Mode - 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 an
AttrTokenStream
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. - Followed
ByType - Force
Collect - Whether or not we should force collection of tokens for an AST node, regardless of whether or not it has attributes
- Parse
NtResult - Recover
Colon - Whether or not to recover a
:
when parsing patterns that were meant to be paths. - Recover
Comma - Whether or not to recover a
,
when parsing or-patterns. - Recovery
- Semi
Colon 🔒Mode - Token
Description 🔒 - Trailing 🔒
Functions§
Type Aliases§
- Node
Replacement 🔒 - See the comment on
ParserReplacement
. - Parser
Replacement 🔒 - Indicates a range of tokens that should be replaced by an
AttrsTarget
(replacement) or be replaced by nothing (deletion). This is used in two places during token collection.