Module Parsexp__.Parser_automaton_internal
module Public : sig ... endval raise_error : (_, _) Public.state -> at_eof:bool -> Parsexp.Parse_error.Private.Reason.t -> _
val context : (_, _) Public.state -> contextval set_automaton_state : ('u, 's) Public.state -> int -> unitval advance : ('u, 's) Public.state -> unitAdvance the position counters.
advance_eolis for when we read a newline character.
val advance_eol : ('u, 's) Public.state -> unitval block_comment_depth : ('u, 's) Public.state -> intNumber of opened #|
type ('u, 's) action= ('u, 's) Public.state -> char -> 's -> 'stype ('u, 's) epsilon_action= ('u, 's) Public.state -> 's -> 's
val add_atom_char : (_, _) actionAdd a character to the atom buffer.
add_quoted_atom_chardoes the same for quoted atoms
val add_quoted_atom_char : (_, _) actionval add_escaped : (_, _) actionAdd a character that just follows a '\\' and the '\\' itself if necessary.
val add_dec_escape_char : (_, _) actionescaped_value <- escaped_value * 10 + (char - '0')These functions make the assumption that
charis between '0' and '9'.add_dec_escape_charalso assumes the result doesn't overflow. The automaton definition must make sure this is the case.add_last_dec_escape_charalso adds the resulting character to the atom buffer.
val add_last_dec_escape_char : (_, _) actionval comment_add_last_dec_escape_char : (_, _) actionSame but for quoted strings inside comments. Useful because it can fail.
val add_hex_escape_char : (_, _) actionSame as
add_dec_escape_charbut for hexadicemal escape sequences
val add_last_hex_escape_char : (_, _) actionval start_sexp_comment : (_, _) actionIgnore one more full sexp to come
val add_first_char : (_, _) actionAdd the first char of an unquoted atom.
val start_quoted_string : (_, _) actionval add_token_char : (_, _) actionTakes note of a control character in quoted atoms or the uninterpreted characters of comments, for which there is no corresponding
add_*call (a backslash and the x in "\xff" or any character in a line comment). This does not get called for the opening (start_quoted_string) or closing (push_quoted_atom) quotes themselves.
val opening : (_, _) actionval closing : (_, _) actionval push_quoted_atom : (_, _) actionval start_block_comment : (_, _) actionval end_block_comment : (_, _) actionval start_line_comment : (_, _) actionval end_line_comment : (_, _) epsilon_actionval eps_push_atom : (_, _) epsilon_actionval eps_add_first_char_hash : (_, _) epsilon_actionval eps_eoi_check : (_, _) epsilon_actionval eps_add_escaped_cr : (_, _) epsilon_action