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.
If you use parsers generated in vanilla mode you should understand the types that are handed over to your semantic actions. You will find them in the module parser::parse_tree_type.
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 function_name;
pub use log;
pub use once_cell;
pub use syntree;
pub use syntree_layout;
Modules§
- Module with error types reported from this crate.
- Module that provides types for lexical analysis.
- Module that provides types for the LR parser.
- Module that provides types for syntactical analysis.