Crate parol

Crate parol 

Source
Expand description

Main module of this crate

Re-exports§

pub use build::InnerAttributes;
pub use grammar::Cfg;
pub use grammar::Pos;
pub use grammar::Pr;
pub use grammar::Rhs;
pub use grammar::Symbol;
pub use grammar::SymbolAttribute;
pub use grammar::Terminal;
pub use grammar::TerminalKind;
pub use analysis::CompiledTerminal;
pub use analysis::GrammarAnalysisError;
pub use analysis::KTuple;
pub use analysis::KTupleBuilder;
pub use analysis::KTuples;
pub use analysis::KTuplesBuilder;
pub use analysis::LR1State;
pub use analysis::LRAction;
pub use analysis::LRParseTable;
pub use analysis::LookaheadDFA;
pub use analysis::RecursiveNonTerminal;
pub use analysis::RelatedHint;
pub use analysis::calculate_lalr1_parse_table;
pub use analysis::calculate_lookahead_dfas;
pub use analysis::detect_left_recursive_non_terminals;
pub use conversions::render_dfa_dot_string;
pub use conversions::render_nt_dot_string;
pub use conversions::render_par_string;
pub use generators::GrammarConfig;
pub use generators::GrammarTypeInfo;
pub use generators::LanguageGenerator;
pub use generators::ScannerConfig;
pub use generators::UserTraitGenerator;
pub use generators::check_and_transform_grammar;
pub use generators::generate_lalr1_parser_source;
pub use generators::generate_lexer_source;
pub use generators::generate_parser_source;
pub use generators::try_format;
pub use parser::ParolGrammar;
pub use parser::ParolParserError;
pub use parser::parse;
pub use transformation::augment_grammar;
pub use transformation::left_factor;
pub use utils::generate_tree_layout;
pub use utils::obtain_grammar_config;
pub use utils::obtain_grammar_config_from_string;
pub use parol_runtime;

Modules§

analysis
Module with functionalities for grammar analysis
build
Allows programmatically invoking parol from a build.rs script
conversions
Module with functionalities for grammar conversion
generators
Module with functionalities for lexer and parser generation
grammar
Basic grammar data structures and algorithms
parser
Module with parol’s parser for input grammars
test_support
Module with test template(s)
transformation
Module with functionalities for grammar transformation
utils
Module with utility functionalities

Structs§

ParolErrorReporter
Error reporter for user errors generated by the parol parser itself.

Constants§

MAX_K
Constant lookahead limit, which is used for the calculation of the lookahead sets. The value is used to limit the number of iterations in the calculation of the lookahead sets. Grammar with a higher value will be rejected.

Traits§

CommonGeneratorConfig
Common configuration of both parser generator an user trait generator.
ParserGeneratorConfig
Configuration of parser generator
UserTraitGeneratorConfig
Configuration of user trait generator