Module Parser.MenhirInterpreter
include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type MenhirInterpreter.token = token
type token= tokentype productiontype 'a envtype !'a checkpoint= private|InputNeeded of 'a env|Shifting of 'a env * 'a env * bool|AboutToReduce of 'a env * production|HandlingError of 'a env|Accepted of 'a|Rejected
val offer : 'a checkpoint -> (token * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position) -> 'a checkpoint
val resume : ?strategy:strategy -> 'a checkpoint -> 'a checkpoint
type supplier= unit -> token * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position
val lexer_lexbuf_to_supplier : (Stdlib.Lexing.lexbuf -> token) -> Stdlib.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 -> MenhirLib.IncrementalEngine.position -> bool
val number : 'a lr1state -> intval production_index : production -> intval find_production : int -> production
type element=|Element : 'a lr1state * 'a * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position -> elementtype stack= element MenhirLib.General.stream
val stack : 'a env -> stackval top : 'a env -> element optionval pop_many : int -> 'a env -> 'a env optionval get : int -> 'a env -> element optionval current_state_number : 'a env -> intval equal : 'a env -> 'a env -> boolval positions : 'a env -> MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.positionval env_has_default_reduction : 'a env -> boolval state_has_default_reduction : 'a lr1state -> boolval pop : 'a env -> 'a env optionval force_reduction : production -> 'a env -> 'a envval input_needed : 'a env -> 'a checkpoint
type _ terminal=|T_error : unit terminal|T_XTRANSFORM : unit terminal|T_WITH : unit terminal|T_WHERE : unit terminal|T_VALIDATE : unit terminal|T_USING : unit terminal|T_UNDERSCORE : unit terminal|T_TYPE : unit terminal|T_TRY : unit terminal|T_TRANSFORM : unit terminal|T_THEN : unit terminal|T_STRING2 : string terminal|T_STRING1 : string terminal|T_STARSTAR : unit terminal|T_STARQMARK : unit terminal|T_STARMINUSMINUS : unit terminal|T_STAR : unit terminal|T_SLASHSLASH : unit terminal|T_SLASHAT : unit terminal|T_SLASH : unit terminal|T_SETMINUS : unit terminal|T_SEMISEMI : unit terminal|T_SEMI : unit terminal|T_SELECT : unit terminal|T_SCHEMA : unit terminal|T_RSB : unit terminal|T_RP : unit terminal|T_RESOLVED_INCLUDE : Ast.pprog terminal|T_REF : unit terminal|T_RCB : unit terminal|T_QMARKQMARK : unit terminal|T_QMARK : unit terminal|T_POLY : string terminal|T_PLUSQMARK : unit terminal|T_PLUS : unit terminal|T_OR : unit terminal|T_OPEN : unit terminal|T_ON : unit terminal|T_OFF : unit terminal|T_NAMESPACE : unit terminal|T_MOD : unit terminal|T_MINUSMINUSSTAR : unit terminal|T_MINUSMINUS : unit terminal|T_MINUSGT : unit terminal|T_MINUS : unit terminal|T_MATCH : unit terminal|T_MAP : unit terminal|T_LTLT : unit terminal|T_LTEQ : unit terminal|T_LT : unit terminal|T_LSB : unit terminal|T_LP : unit terminal|T_LET : unit terminal|T_LCB : unit terminal|T_INT : string terminal|T_INCLUDE : unit terminal|T_IN : unit terminal|T_IF : unit terminal|T_IDENT : string terminal|T_HASH_UTF8 : unit terminal|T_HASH_PRINT_TYPE : unit terminal|T_HASH_LATIN1 : unit terminal|T_HASH_DUMP_VALUE : unit terminal|T_HASH_DIRECTIVE : string terminal|T_HASH_ASCII : unit terminal|T_GTGT : unit terminal|T_GTEQ : unit terminal|T_GT : unit terminal|T_FUN : unit terminal|T_FROM : unit terminal|T_FLOAT : float terminal|T_EQQMARK : unit terminal|T_EQ : unit terminal|T_EOI : unit terminal|T_ELSE : unit terminal|T_DOTDOT : unit terminal|T_DOT : unit terminal|T_DIV : unit terminal|T_DEBUG : unit terminal|T_COMMA : unit terminal|T_COLON : unit terminal|T_COLEQ : unit terminal|T_COLCOL : unit terminal|T_BQUOTE : unit terminal|T_BARBAR : unit terminal|T_BAR : unit terminal|T_BANGEQ : unit terminal|T_BANG : unit terminal|T_AT : unit terminal|T_ANY_IN_NS : string terminal|T_AND : unit terminal|T_AMPAMP : unit terminal|T_AMP : unit terminaltype _ nonterminal=|N_with_annot : Ast.ppat list nonterminal|N_where_condition : Ast.pexpr list nonterminal|N_var_pat : Ast.ppat' Cduce_loc.located nonterminal|N_top_phrases : Ast.pprog nonterminal|N_tag_type_or_pat : Ast.ppat nonterminal|N_tag_type : Ast.ppat nonterminal|N_tag_expr : Ast.pexpr nonterminal|N_simple_pat : Ast.ppat nonterminal|N_simple_expr : Ast.pexpr nonterminal|N_seq_elem : [ `Elems of (Stdlib.Lexing.position * Stdlib.Lexing.position) * Ast.pexpr | `Explode of Ast.pexpr | `String of (Stdlib.Lexing.position * Stdlib.Lexing.position) * Encodings.Utf8.uindex * Encodings.Utf8.uindex * Ast.label ] nonterminal|N_separated_nonempty_list_MINUSGT_or_pat_ : Ast.ppat' Cduce_loc.located list nonterminal|N_separated_nonempty_list_DOT_ident_or_keyword_ : string list nonterminal|N_separated_nonempty_list_COMMA_separated_pair_pat_COLON_pat__ : (Ast.ppat * Ast.ppat) list nonterminal|N_separated_nonempty_list_COMMA_regexp_ : Ast.regexp list nonterminal|N_separated_nonempty_list_COMMA_poly_var_ : string list nonterminal|N_separated_nonempty_list_COMMA_pat_ : Ast.ppat list nonterminal|N_separated_nonempty_list_COMMA_multi_expr_ : Ast.pexpr list nonterminal|N_separated_nonempty_list_COMMA___anonymous_2_ : (Ast.ppat * Ast.ppat) list nonterminal|N_schema_ref : (Ast.label * Ast.label) nonterminal|N_regexp_simple : Ast.regexp nonterminal|N_regexp_or : Ast.regexp nonterminal|N_regexp_concat : Ast.regexp nonterminal|N_regexp_and : Ast.regexp nonterminal|N_regexp_acc : Ast.regexp nonterminal|N_regexp : Ast.regexp nonterminal|N_record_spec_fields : (Ast.label * (Ast.ppat * Ast.ppat option)) list nonterminal|N_record_spec : Ast.ppat nonterminal|N_prog : Ast.pprog nonterminal|N_pat : Ast.ppat nonterminal|N_parse_pmodule_item : Ast.pmodule_item nonterminal|N_parse_pat : Ast.ppat nonterminal|N_parse_expr : Ast.pexpr nonterminal|N_other_rec_spec : (Ast.label * (Ast.ppat * Ast.ppat option)) list nonterminal|N_or_pat : Ast.ppat nonterminal|N_option_regexp_ : Ast.regexp option nonterminal|N_option_located_ident_ : (Cduce_loc.loc * Ast.label) option nonterminal|N_option_field_pat_ : (bool * Ast.ppat' Cduce_loc.located * Ast.ppat option) option nonterminal|N_option___anonymous_5_ : Ast.pexpr option nonterminal|N_option___anonymous_4_ : Ast.pexpr option nonterminal|N_option___anonymous_0_ : Ast.ppat option nonterminal|N_option_SEMI_ : unit option nonterminal|N_option_BAR_ : unit option nonterminal|N_nonempty_list_var_pat_ : Ast.ppat list nonterminal|N_nonempty_list_poly_var_ : string list nonterminal|N_no_seq_expr : Ast.pexpr nonterminal|N_namespace_binding_rem : [> `Empty | `Idents of string list | `Path of Ast.label list | `Uri of Ns.Uri.t ] nonterminal|N_namespace_binding : [ `Keep of bool | `Prefix of Ast.label * Ast.ns_expr ] nonterminal|N_multi_expr : Ast.pexpr nonterminal|N_loption___anonymous_3_ : (Ast.ppat * Ast.ppat) list nonterminal|N_located_ident : (Cduce_loc.loc * Ast.label) nonterminal|N_list_seq_elem_ : [ `Elems of (Stdlib.Lexing.position * Stdlib.Lexing.position) * Ast.pexpr | `Explode of Ast.pexpr | `String of (Stdlib.Lexing.position * Stdlib.Lexing.position) * Encodings.Utf8.uindex * Encodings.Utf8.uindex * Ast.label ] list nonterminal|N_list_prog_items_ : Ast.pprog list nonterminal|N_list_prog_item_ : Ast.pprog list nonterminal|N_list_delimited_LP_separated_nonempty_list_COMMA_separated_pair_pat_COLON_pat___RP__ : (Ast.ppat * Ast.ppat) list list nonterminal|N_list___anonymous_6_ : (Ast.label * Ast.pexpr) list nonterminal|N_list___anonymous_1_ : (Ast.ppat * Ast.ppat' Cduce_loc.located list) list nonterminal|N_keyword : string nonterminal|N_ident_or_let_pat_constr : Ast.ppat' Cduce_loc.located nonterminal|N_ident_or_let_pat : Ast.ppat nonterminal|N_ident_or_keyword_no_ref_no_where : string nonterminal|N_ident_or_keyword_no_else : string nonterminal|N_ident_or_keyword : string nonterminal|N_from_list : (Ast.ppat * Ast.pexpr) list nonterminal|N_field_pat : (bool * Ast.ppat' Cduce_loc.located * Ast.ppat option) nonterminal|N_expr_record_spec : Ast.pexpr nonterminal|N_expr : Ast.pexpr nonterminal|N_constr_pat : Ast.ppat' Cduce_loc.located nonterminal|N_char : int nonterminal|N_branches_ : Ast.branches nonterminal|N_boption_QMARK_ : bool nonterminal|N_boption_DOTDOT_ : bool nonterminal|N_attrib_spec : Ast.ppat nonterminal|N_attrib_expr : Ast.pexpr nonterminal|N_arrow_pat : Ast.ppat nonterminal|N_app_pat : Ast.ppat' Cduce_loc.located nonterminal|N_app_expr : Ast.pexpr nonterminal|N_and_pat_list : (Cduce_loc.loc * Ast.label * Ast.ppat) list nonterminal|N_and_pat : Ast.ppat nonterminal|N_and_expr_list : Ast.pexpr list nonterminal
include MenhirLib.IncrementalEngine.INSPECTION with type 'a MenhirInterpreter.lr1state := 'a lr1state with type MenhirInterpreter.production := production with type 'a MenhirInterpreter.terminal := 'a terminal with type 'a MenhirInterpreter.nonterminal := 'a nonterminal with type 'a MenhirInterpreter.env := 'a env
type !'a1 symbol=|T : 'a terminal -> 'a symbol|N : 'a0 nonterminal -> 'a0 symboltype xsymbol=|X : 'a symbol -> xsymboltype item= production * int
val compare_terminals : 'a terminal -> 'b terminal -> intval compare_nonterminals : 'a nonterminal -> 'b nonterminal -> intval compare_symbols : xsymbol -> xsymbol -> intval compare_productions : production -> production -> intval compare_items : item -> item -> intval incoming_symbol : 'a lr1state -> 'a symbolval items : 'a lr1state -> item listval lhs : production -> xsymbolval rhs : production -> xsymbol listval nullable : 'a nonterminal -> boolval first : 'a nonterminal -> 'b terminal -> boolval xfirst : xsymbol -> 'a terminal -> boolval foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'aval foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'aval feed : 'a symbol -> MenhirLib.IncrementalEngine.position -> 'a -> MenhirLib.IncrementalEngine.position -> 'b env -> 'b env