type token_location = {str : string;charpos : int;line : int;column : int;file : Common.filename;
}and add = | AddStr of string| AddNewlineAndIdent
type token_kind = | LPar| RPar| LBrace| RBrace| LBracket| RBracket| LAngle| RAngle| Esthet of esthet| Eof| Other
and esthet = | Newline| Space
exception Lexical_error of string * texception Parsing_error of texception Ast_builder_error of string * texception Other_error of string * tval fake_info : string -> tval str_of_info : t -> stringval line_of_info : t -> intval col_of_info : t -> intval pos_of_info : t -> intval string_of_info : t -> stringval is_origintok : t -> boolval compare_pos : t -> t -> intval min_max_ii_by_pos : t list -> t * ttype parsing_stat = {filename : Common.filename;mutable correct : int;mutable bad : int;mutable have_timeout : bool;mutable problematic_lines : (string list * int) list;
}val print_parsing_stat_list : ?verbose:bool -> parsing_stat list -> unitval print_recurring_problematic_tokens : parsing_stat list -> unittype 'tok tokens_state = {mutable rest : 'tok list;mutable current : 'tok;mutable passed : 'tok list;
}val tokinfo_str_pos : string -> int -> tval rewrap_str : string -> t -> tval tok_add_s : string -> t -> tval error_message_info : t -> stringval print_bad : int -> (int * int) -> string array -> unitval full_charpos_to_pos_large_from_changen : changen -> int -> int * int