Engine.Makemodule T : EngineTypes.TABLEinclude EngineTypes.MONOLITHIC_ENGINE with type state = T.state with type token = T.token with type semantic_value = T.semantic_valuetype state = T.statetype token = T.tokentype semantic_value = T.semantic_valueval entry : [ `Legacy | `Simplified ] -> state -> (Lexing.lexbuf -> token) -> Lexing.lexbuf -> semantic_valueinclude IncrementalEngine.INCREMENTAL_ENGINE with type token := token and type 'a lr1state = state with type production = T.production with type
'a env = (T.state, T.semantic_value, T.token) EngineTypes.envtype production = T.productiontype 'a env = (T.state, T.semantic_value, T.token) EngineTypes.envval offer : 'a checkpoint -> (token * IncrementalEngine.position * IncrementalEngine.position) -> 'a checkpointval resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpointtype supplier = unit -> token * IncrementalEngine.position * IncrementalEngine.positionval lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplierval loop : ?strategy:strategy -> supplier -> 'a checkpoint -> 'aval loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answerval loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answerval shifts : 'a checkpoint -> 'a env optionval acceptable : 'a checkpoint -> token -> IncrementalEngine.position -> booltype 'a lr1state = stateval number : _ lr1state -> intval production_index : production -> intval find_production : int -> productiontype element = | Element : 'a lr1state * 'a * IncrementalEngine.position * IncrementalEngine.position -> element |
type stack = element General.streamval current_state_number : 'a env -> intval positions : 'a env -> IncrementalEngine.position * IncrementalEngine.positionval env_has_default_reduction : 'a env -> boolval state_has_default_reduction : _ lr1state -> boolval force_reduction : production -> 'a env -> 'a envval input_needed : 'a env -> 'a checkpointinclude EngineTypes.INCREMENTAL_ENGINE_START with type state := state and type semantic_value := semantic_value and type 'a checkpoint := 'a checkpointval start : state -> Lexing.position -> semantic_value checkpoint