type t val from_lexbuf : ?reset_line:bool -> Sedlexing.lexbuf -> t (** Create a new buffer *) val start : t -> unit (** Intialize a new run *) val buffer : t -> Sedlexing.lexbuf (** Extract the sedlex buffer. Required in each rule. *) val positions : t -> Lexing.position * Lexing.position (** Extract the starting and ending position for the matched token *) val content : t -> string (** Extract the token matched by the rule *) val set_start_position : t -> Lexing.position -> unit val tokenize : (t -> 'a) -> t -> unit -> 'a * Lexing.position * Lexing.position val incr_level : t -> unit val decr_level : t -> unit val reset_level : t -> unit val level : t -> int (** Return the nested expression level *) val rollback : t -> unit