Module Parsexp__.Parser_automaton
include module type of Parsexp__.Parser_automaton_internal.Public
type ('u, 's) mode
=
|
Single
Parse a single s-expression
|
Many
Parse a list of s-expressions
|
Eager of
{
got_sexp : ('u, 's) state -> 's -> 's;
Whether to consider no s-expression in the input as an error or not.
The mutability is used in
Parsexp.Eager*.Lexbuf_consumer
.mutable no_sexp_is_error : bool;
}
Gives back s-expressions as soon as they are found.
type stack
val empty_stack : stack
val empty_stack_cst : stack_cst
type ('u, 's) kind
=
|
Positions : (Parsexp.Positions.Builder.t, unit) kind
|
Sexp : (unit, stack) kind
|
Sexp_with_positions : (Parsexp.Positions.Builder.t, stack) kind
|
Cst : (state_cst, stack_cst) kind
val new_state : ?initial_pos:Parsexp.Positions.pos -> ('u, 's) mode -> ('u, 's) kind -> ('u, 's) state
val reset : ?pos:Parsexp.Positions.pos -> (_, _) state -> unit
val positions : (Parsexp.Positions.Builder.t, _) state -> Parsexp.Positions.t
val mode : ('u, 's) state -> ('u, 's) mode
val offset : (_, _) state -> int
Number of characters fed to the parser
val line : (_, _) state -> int
Position in the text
val column : (_, _) state -> int
val has_unclosed_paren : ('u, 's) state -> bool
Whether there are some unclosed parentheses
val set_error_state : (_, _) state -> unit
val sexp_of_stack : stack -> Parsexp__.Import.Ppx_sexp_conv_lib.Sexp.t
val sexps_of_stack : stack -> Parsexp__.Import.Ppx_sexp_conv_lib.Sexp.t list
val sexps_cst_of_stack : stack_cst -> Parsexp.Cst.t_or_comment list
module Error = Parsexp__.Parser_automaton_internal.Public.Error
exception
Parse_error of Error.t