Module parol::analysis

source ·
Expand description

Module with functionalities for grammar analysis

Re-exports§

Modules§

  • Module with the compiled lookahead DFA
  • Module with the compiled terminal
  • Error types used by this module
  • 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 calculations for the LALR(1) parse table LALR(1) parse table construction for the given grammar configuration. The LALR(1) parse table is constructed using the lalr crate. The LALR(1) parse table is then converted into a representation without a reference to the creating grammar. The reference to the creating grammar is not needed for the actual parsing process. Moreover, it inhibits the use of the parse table in other contexts. This is the first reason why we duplicate the lalr types here. The second reason is that we don’t handle the eof action in the same way as the lalr crate. The lalr crate uses a separate field for the eof action, while we include the eof action in the actions field for the terminal EOI.
  • Module with check for left-recursions
  • Module with types for production selection
  • Module with productivity calculations Grammar flow analysis Productivity of non-terminals
  • Module with reachability calculations