Private.Parser_automaton
Parser automaton
Warning: the API of this module is not fixed and might change! Use Sexp_parsing
for the stable version.
type ('u, 's) mode =
| Single | (* Parse a single s-expression *) | |||
| Many | (* Parse a list of s-expressions *) | |||
| Eager of {
} | (* Gives back s-expressions as soon as they are found. *) |
type ('u, 's) kind =
| Positions : (Positions.Builder.t, unit) kind |
| Sexp : (unit, Parsexp__Automaton_stack.t) kind |
| Sexp_with_positions : (Positions.Builder.t, Parsexp__Automaton_stack.t) kind |
| Cst : (state_cst, Parsexp__Automaton_stack.For_cst.t) kind |
val new_state : ?initial_pos:Positions.pos -> ('u, 's) mode -> ('u, 's) kind -> ('u, 's) state
val reset : ?pos:Positions.pos -> (_, _) state -> unit
val positions : (Positions.Builder.t, _) state -> Positions.t
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 feed : ('u, 's) state -> char -> 's -> 's
val feed_eoi : ('u, 's) state -> 's -> 's