type position = {pos_fname : string;pos_lnum : int;pos_bol : int;pos_cnum : int;
}type lexbuf = {refill_buff : lexbuf -> unit;mutable lex_buffer : bytes;mutable lex_buffer_len : int;mutable lex_abs_pos : int;mutable lex_start_pos : int;mutable lex_curr_pos : int;mutable lex_last_pos : int;mutable lex_last_action : int;mutable lex_eof_reached : bool;mutable lex_mem : int array;mutable lex_start_p : position;mutable lex_curr_p : position;
}val from_string : ?with_positions:bool -> string -> lexbufval from_function : ?with_positions:bool -> (bytes -> int -> int) -> lexbufval set_filename : lexbuf -> string -> unitval with_positions : lexbuf -> boolval lexeme_char : lexbuf -> int -> charval lexeme_start : lexbuf -> intval lexeme_end : lexbuf -> intval sub_lexeme : lexbuf -> int -> int -> stringval sub_lexeme_opt : lexbuf -> int -> int -> string optionval sub_lexeme_char : lexbuf -> int -> charval sub_lexeme_char_opt : lexbuf -> int -> char optiontype lex_tables = {lex_base : string;lex_backtrk : string;lex_default : string;lex_trans : string;lex_check : string;lex_base_code : string;lex_backtrk_code : string;lex_default_code : string;lex_trans_code : string;lex_check_code : string;lex_code : string;
}