sig   type token = token   type env   type production   type 'a checkpoint = private       InputNeeded of env     | Shifting of env * env * bool     | AboutToReduce of env * production     | HandlingError of env     | Accepted of 'a     | Rejected   val offer :     'a checkpoint ->     token * Lexing.position * Lexing.position -> 'a checkpoint   val resume : 'a checkpoint -> 'a checkpoint   type supplier = unit -> token * Lexing.position * Lexing.position   val lexer_lexbuf_to_supplier :     (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier   val loop : supplier -> 'a checkpoint -> 'a   val loop_handle :     ('-> 'answer) ->     ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer   val loop_handle_undo :     ('-> 'answer) ->     ('a checkpoint -> 'a checkpoint -> 'answer) ->     supplier -> 'a checkpoint -> 'answer   val loop_test : (env -> 'accu -> 'accu) -> 'a checkpoint -> 'accu -> 'accu   val acceptable : 'a checkpoint -> token -> Lexing.position -> bool   type 'a lr1state   val number : 'a lr1state -> int   type element =       Element : 'a lr1state * 'a * Lexing.position *         Lexing.position -> element   type stack = element MenhirLib.General.stream   val stack : env -> stack   val positions : env -> Lexing.position * Lexing.position   val has_default_reduction : env -> bool end