sig
type pattern = string * string
exception Error of string
type location = int * int
and location_function = int -> Token.location
and 'a lexer_func = char Stream.t -> 'a Stream.t * Token.location_function
and 'a glexer = {
tok_func : 'a Token.lexer_func;
tok_using : Token.pattern -> unit;
tok_removing : Token.pattern -> unit;
tok_match : Token.pattern -> 'a -> string;
tok_text : Token.pattern -> string;
mutable tok_comm : Token.location list option;
}
val lexer_text : Token.pattern -> string
val default_match : Token.pattern -> string * string -> string
val lexer_func_of_parser :
(char Stream.t -> 'a * Token.location) -> 'a Token.lexer_func
val lexer_func_of_ocamllex : (Lexing.lexbuf -> 'a) -> 'a Token.lexer_func
val make_stream_and_location :
(unit -> 'a * Token.location) -> 'a Stream.t * Token.location_function
val eval_char : string -> char
val eval_string : string -> string
end