jon.recoil.org

Parameter Make.I

include Ocaml_preprocess.MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE
type token
type production
type 'a env
type 'a checkpoint = private
  1. | InputNeeded of 'a I.env
  2. | Shifting of 'a I.env * 'a I.env * bool
  3. | AboutToReduce of 'a I.env * I.production
  4. | HandlingError of 'a I.env
  5. | Accepted of 'a
  6. | Rejected
type strategy = [
  1. | `Legacy
  2. | `Simplified
]
val resume : ?strategy:I.strategy -> 'a I.checkpoint -> 'a I.checkpoint
val lexer_lexbuf_to_supplier : (Stdlib.Lexing.lexbuf -> I.token) -> Stdlib.Lexing.lexbuf -> I.supplier
val loop : ?strategy:I.strategy -> I.supplier -> 'a I.checkpoint -> 'a
val loop_handle : ('a -> 'answer) -> ('a I.checkpoint -> 'answer) -> I.supplier -> 'a I.checkpoint -> 'answer
val loop_handle_undo : ('a -> 'answer) -> ('a I.checkpoint -> 'a I.checkpoint -> 'answer) -> I.supplier -> 'a I.checkpoint -> 'answer
val shifts : 'a I.checkpoint -> 'a I.env option
type 'a lr1state
val number : _ I.lr1state -> int
val production_index : I.production -> int
val find_production : int -> I.production
val stack : 'a I.env -> I.stack
val top : 'a I.env -> I.element option
val pop_many : int -> 'a I.env -> 'a I.env option
val get : int -> 'a I.env -> I.element option
val current_state_number : 'a I.env -> int
val equal : 'a I.env -> 'a I.env -> bool
val env_has_default_reduction : 'a I.env -> bool
val state_has_default_reduction : _ I.lr1state -> bool
val pop : 'a I.env -> 'a I.env option
val force_reduction : I.production -> 'a I.env -> 'a I.env
val input_needed : 'a I.env -> 'a I.checkpoint
include Ocaml_preprocess.MenhirLib.IncrementalEngine.INSPECTION with type 'a lr1state := 'a I.lr1state with type production := I.production with type 'a env := 'a I.env
include Ocaml_preprocess.MenhirLib.IncrementalEngine.SYMBOLS
type 'a terminal
type 'a nonterminal
type 'a symbol =
  1. | T : 'a I.terminal -> 'a I.symbol
  2. | N : 'a I.nonterminal -> 'a I.symbol
type xsymbol =
  1. | X : 'a I.symbol -> I.xsymbol
type item = I.production * int
val compare_terminals : _ I.terminal -> _ I.terminal -> int
val compare_nonterminals : _ I.nonterminal -> _ I.nonterminal -> int
val compare_symbols : I.xsymbol -> I.xsymbol -> int
val compare_productions : I.production -> I.production -> int
val compare_items : I.item -> I.item -> int
val incoming_symbol : 'a I.lr1state -> 'a I.symbol
val items : _ I.lr1state -> I.item list
val lhs : I.production -> I.xsymbol
val rhs : I.production -> I.xsymbol list
val nullable : _ I.nonterminal -> bool
val first : _ I.nonterminal -> _ I.terminal -> bool
val xfirst : I.xsymbol -> _ I.terminal -> bool
val foreach_terminal : (I.xsymbol -> 'a -> 'a) -> 'a -> 'a
val foreach_terminal_but_error : (I.xsymbol -> 'a -> 'a) -> 'a -> 'a