Parsing

`sig
val symbol_start : unit -> int
val symbol_end : unit -> int
val rhs_start : int -> int
val rhs_end : int -> int
val symbol_start_pos : unit -> Lexing.position
val symbol_end_pos : unit -> Lexing.position
val rhs_start_pos : int -> Lexing.position
val rhs_end_pos : int -> Lexing.position
val clear_parser : unit -> unit
exception Parse_error
type parser_env
and parse_tables = {
actions : (Parsing.parser_env -> Obj.t) array;
transl_const : int array;
transl_block : int array;
lhs : string;
len : string;
defred : string;
dgoto : string;
sindex : string;
rindex : string;
gindex : string;
tablesize : int;
table : string;
check : string;
error_function : string -> unit;
names_const : string;
names_block : string;
}
exception YYexit of Obj.t
val yyparse :
Parsing.parse_tables ->
int -> (Lexing.lexbuf -> 'a) -> Lexing.lexbuf -> 'b
val peek_val : Parsing.parser_env -> int -> 'a
val is_current_lookahead : 'a -> bool
val parse_error : string -> unit
end`