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