Expand description

Module with functionalities for grammar analysis

Re-exports

pub use compiled_terminal::CompiledTerminal;
pub use left_recursion::detect_left_recursions;
pub use k_tuple::KTuple;
pub use k_tuples::KTuples;
pub use first::first_k;
pub use first::FirstSet;
pub use follow::follow_k;
pub use follow::FollowSet;
pub use k_decision::calculate_k;
pub use k_decision::calculate_k_tuples;
pub use k_decision::calculate_lookahead_dfas;
pub use k_decision::decidable;
pub use k_decision::explain_conflicts;
pub use k_decision::FirstCache;
pub use k_decision::FollowCache;
pub use lookahead_dfa::LookaheadDFA;
pub use nt_grammar_graph::NtEdgeType;
pub use nt_grammar_graph::NtGrammarGraph;
pub use nt_grammar_graph::NtNodeType;
pub use productivity::non_productive_non_terminals;
pub use reachability::all_non_terminals_reachable;
pub use reachability::nt_producing_productions;
pub use reachability::nt_reachability;
pub use reachability::reachable_from_non_terminal;
pub use reachability::reachable_from_production;
pub use reachability::reachable_non_terminals;
pub use reachability::unreachable_non_terminals;

Modules

Module with the compiled lookahead DFA

Module with the compiled terminal

Module with FIRST set calculations

Module with FOLLOW set calculations

Module with conflict calculations

Module with the KTuple type

Module with the KTuples type

Module with check for left-recursions

Module with types for production selection

Module with a graph used for recursion detection in the grammar

Module with productivity calculations Grammar flow analysis Productivity of non-terminals

Module with reachability calculations