Crate parol_runtime

Source
Expand description

This crate provides the runtime library used by parsers that have been generated by the parol parser generator.

In most cases you don’t need to understand the inner details of this crate because parol generates all necessary scaffolding and plumping for the typical user automatically.

The most likely used parts are those returned to the user including the error types defined in the module errors.

Re-exports§

pub use lexer::FormatToken;
pub use lexer::Location;
pub use lexer::LocationBuilder;
pub use lexer::ScannerConfig;
pub use lexer::Span;
pub use lexer::TerminalIndex;
pub use lexer::ToSpan;
pub use lexer::Token;
pub use lexer::TokenIter;
pub use lexer::TokenNumber;
pub use lexer::TokenStream;
pub use lexer::Tokenizer;
pub use parser_common::ParseTreeStack;
pub use parser::LLKParser;
pub use parser::LookaheadDFA;
pub use parser::NonTerminalIndex;
pub use parser::ParseStack;
pub use parser::ParseTree;
pub use parser::ParseTreeType;
pub use parser::ParseType;
pub use parser::Production;
pub use parser::ProductionIndex;
pub use parser::ScannerIndex;
pub use parser::StateIndex;
pub use parser::Trans;
pub use parser::UserActionsTrait;
pub use lr_parser::LR1State;
pub use lr_parser::LRAction;
pub use lr_parser::LRParseTable;
pub use lr_parser::LRParseTree;
pub use lr_parser::LRParser;
pub use lr_parser::LRProduction;
pub use errors::FileSource;
pub use errors::LexerError;
pub use errors::ParolError;
pub use errors::ParserError;
pub use errors::Report;
pub use errors::Result;
pub use errors::SyntaxError;
pub use errors::TokenVec;
pub use errors::UnexpectedToken;
pub use codespan_reporting;
pub use derive_builder;
pub use function_name;
pub use log;
pub use once_cell;
pub use parol_macros;
pub use syntree;
pub use syntree_layout;

Modules§

errors
Module with error types reported from this crate.
lexer
Module that provides types for lexical analysis.
lr_parser
Module that provides types for the LR parser.
parser
Module that provides types for syntactical analysis.
parser_common