`type ('user_state, 'stack) state`````

Internal state of the automaton

`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`
`type state_cst`````
`type stack_cst`````
`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 : sig ... end`
`exception` `Parse_error of Error.t`