Module ParserAutomaton.MenhirInterpreter

include MenhirLib.IncrementalEngine.INCREMENTAL_ENGINE with type MenhirInterpreter.token = token
type token = token
type production
type 'a env
type '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 : 'a checkpoint -> 'a checkpoint
type supplier = unit -> token * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position
val lexer_lexbuf_to_supplier : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> supplier
val loop : supplier -> 'a checkpoint -> 'a
val loop_handle : ('a -> 'answer) -> ('a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val loop_handle_undo : ('a -> 'answer) -> ('a checkpoint -> 'a checkpoint -> 'answer) -> supplier -> 'a checkpoint -> 'answer
val shifts : 'a checkpoint -> 'a env option
val acceptable : 'a checkpoint -> token -> MenhirLib.IncrementalEngine.position -> bool
type 'a lr1state
val number : 'a lr1state -> int
val production_index : production -> int
val find_production : int -> production
type element =
| Element : 'a lr1state * 'a * MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position -> element
type stack = element MenhirLib.General.stream
val stack : 'a env -> stack
val top : 'a env -> element option
val pop_many : int -> 'a env -> 'a env option
val get : int -> 'a env -> element option
val current_state_number : 'a env -> int
val equal : 'a env -> 'a env -> bool
val positions : 'a env -> MenhirLib.IncrementalEngine.position * MenhirLib.IncrementalEngine.position
val env_has_default_reduction : 'a env -> bool
val state_has_default_reduction : 'a lr1state -> bool
val pop : 'a env -> 'a env option
val force_reduction : production -> 'a env -> 'a env
val input_needed : 'a env -> 'a checkpoint
type 'a terminal = 'a Tokens.terminal
type _ 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 symbol
type xsymbol =
| X : 'a symbol -> xsymbol
type item = production * int
val compare_terminals : 'a terminal -> 'b terminal -> int
val compare_nonterminals : 'a nonterminal -> 'b nonterminal -> int
val compare_symbols : xsymbol -> xsymbol -> int
val compare_productions : production -> production -> int
val compare_items : item -> item -> int
val incoming_symbol : 'a lr1state -> 'a symbol
val items : 'a lr1state -> item list
val lhs : production -> xsymbol
val rhs : production -> xsymbol list
val nullable : 'a nonterminal -> bool
val first : 'a nonterminal -> 'b terminal -> bool
val xfirst : xsymbol -> 'a terminal -> bool
val foreach_terminal : (xsymbol -> 'a -> 'a) -> 'a -> 'a
val foreach_terminal_but_error : (xsymbol -> 'a -> 'a) -> 'a -> 'a
val feed : 'a symbol -> MenhirLib.IncrementalEngine.position -> 'a -> MenhirLib.IncrementalEngine.position -> 'b env -> 'b env