include CamlinternalMenhirLib.IncrementalEngine.INCREMENTAL_ENGINE
  with type token = token
type token = tokenval offer : 
  'a checkpoint ->
  (token
   * CamlinternalMenhirLib.IncrementalEngine.position
   * CamlinternalMenhirLib.IncrementalEngine.position) ->
  'a checkpointval resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpointtype supplier =
  unit ->
  token
  * CamlinternalMenhirLib.IncrementalEngine.position
  * CamlinternalMenhirLib.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 ->
  CamlinternalMenhirLib.IncrementalEngine.position ->
  boolval number : _ lr1state -> intval production_index : production -> intval find_production : int -> productiontype element = - | Element : 'a lr1state * 'a * CamlinternalMenhirLib.IncrementalEngine.position * CamlinternalMenhirLib.IncrementalEngine.position -> element
type stack = element CamlinternalMenhirLib.General.streamval current_state_number : 'a env -> intval positions : 
  'a env ->
  CamlinternalMenhirLib.IncrementalEngine.position
  * CamlinternalMenhirLib.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 checkpoint
