EngineTypes.ENGINE
include MONOLITHIC_ENGINE
val entry : state -> (Lexing.lexbuf -> token) -> Lexing.lexbuf -> semantic_value
include IncrementalEngine.INCREMENTAL_ENGINE with type token := token and type 'a lr1state = state
val offer : 'a checkpoint -> (token * IncrementalEngine.position * IncrementalEngine.position) -> 'a checkpoint
val resume : 'a checkpoint -> 'a checkpoint
type supplier = unit -> token * IncrementalEngine.position * IncrementalEngine.position
val lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier
val loop : supplier -> 'a checkpoint -> 'a
val loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val shifts : 'a checkpoint -> 'a env option
val acceptable : 'a checkpoint -> token -> IncrementalEngine.position -> bool
type 'a lr1state = state
val number : _ lr1state -> int
val production_index : production -> int
val find_production : int -> production
type element =
| Element : 'a lr1state * 'a * IncrementalEngine.position * IncrementalEngine.position -> element |
type stack = element General.stream
val current_state_number : 'a env -> int
val positions : 'a env -> IncrementalEngine.position * IncrementalEngine.position
val env_has_default_reduction : 'a env -> bool
val state_has_default_reduction : _ lr1state -> bool
val force_reduction : production -> 'a env -> 'a env
val input_needed : 'a env -> 'a checkpoint
include INCREMENTAL_ENGINE_START with type state := state and type semantic_value := semantic_value and type 'a checkpoint := 'a checkpoint
val start : state -> Lexing.position -> semantic_value checkpoint