Module parser

Module parser 

Source
Expand description

Parsing functionality for converting tokens to kind trees.

Re-exports§

pub use self::pratt::Associativity;
pub use self::pratt::OperatorInfo;
pub use self::pratt::Pratt;
pub use self::pratt::PrattParser;
pub use self::pratt::binary;
pub use self::pratt::postfix;
pub use self::pratt::unary;
pub use self::session::ParseCache;
pub use self::session::ParseSession;
pub use self::state::ParserState;
pub use crate::Language;
pub use crate::Lexer;
pub use crate::errors::OakDiagnostics;
pub use crate::errors::OakError;
pub use crate::source::Source;
pub use crate::source::TextEdit;
pub use crate::tree::GreenNode;

Modules§

pratt
Pratt parser implementation for operator precedence parsing.
session
Parser memory pool management.
state
Internal parser state and checkpointing.

Structs§

Arc
An atomically reference counted shared pointer

Traits§

Parser
Core parser trait that defines how to run the parser.

Functions§

parse
Standalone parsing function that coordinates lexing and parsing.
parse_one_pass
Standalone parsing function that performs a complete parse without incremental reuse.
parse_with_lexer
Helper for implementing Parser::parse with automatic lexing.

Type Aliases§

ParseOutput
The output of a parsing operation, containing the result and diagnostics.