Module ParserAutomaton.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 checkpointval resume : 'a checkpoint -> 'a checkpoint
type supplier= unit -> token * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position
val lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplierval loop : 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 'a terminal= 'a Tokens.terminaltype _ nonterminal=|N_unterminated_expression : AST.expression nonterminal|N_subexpression : AST.expression nonterminal|N_short_flags_literal : AST.arg nonterminal|N_short_flags : AST.arg list nonterminal|N_script : AST.t nonterminal|N_rev_subquotation : string list nonterminal|N_rev_positionals_after_doubledash_nonempty : AST.arg list nonterminal|N_rev_nonempty_subquotation : string list nonterminal|N_rev_nonempty_quotation : string list nonterminal|N_rev_arguments_nonempty : AST.arg list nonterminal|N_rev_arguments_and_positional : AST.arg list nonterminal|N_rev_arguments_and_flag : AST.arg list nonterminal|N_rev_arguments : AST.arg list nonterminal|N_quotation_chunk : string nonterminal|N_quotation : string nonterminal|N_optterm_nonempty_list_break_expression_chain_ : AST.expression list nonterminal|N_optterm_list_break_expression_chain_ : AST.expression list nonterminal|N_option_break_ : unit option nonterminal|N_option_COUNT_ : string option nonterminal|N_noncommand_word : AST.word nonterminal|N_long_flag_literal : AST.arg nonterminal|N_long_flag : AST.arg nonterminal|N_list_COLON_ : unit list nonterminal|N_expression_chain : AST.expression nonterminal|N_expression : AST.expression nonterminal|N_command : AST.word nonterminal|N_break : unit nonterminal|N__flags_short : string nonterminal|N__flag_long_literal : string nonterminal|N__flag_long : string 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