sig val init : unit -> unit val token : Stdlib.Lexing.lexbuf -> Parser.token val skip_hash_bang : Stdlib.Lexing.lexbuf -> unit type error = Illegal_character of char | Illegal_escape of string * string option | Reserved_sequence of string * string option | Unterminated_comment of Location.t | Unterminated_string | Unterminated_string_in_comment of Location.t * Location.t | Keyword_as_label of string | Invalid_literal of string | Invalid_directive of string * string option exception Error of Lexer.error * Location.t val in_comment : unit -> bool val in_string : unit -> bool val print_warnings : bool Stdlib.ref val handle_docstrings : bool Stdlib.ref val comments : unit -> (string * Location.t) list val token_with_comments : Stdlib.Lexing.lexbuf -> Parser.token val set_preprocessor : (unit -> unit) -> ((Stdlib.Lexing.lexbuf -> Parser.token) -> Stdlib.Lexing.lexbuf -> Parser.token) -> unit end