sig   val init : unit -> unit   val token : Lexing.lexbuf -> Parser.token   val skip_sharp_bang : Lexing.lexbuf -> unit   type error =       Illegal_character of char     | Illegal_escape of string     | 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   exception Error of Lexer.error * Location.t   val report_error : Format.formatter -> Lexer.error -> unit   val in_comment : unit -> bool   val in_string : unit -> bool   val print_warnings : bool Pervasives.ref   val handle_docstrings : bool Pervasives.ref   val comments : unit -> (string * Location.t) list   val token_with_comments : Lexing.lexbuf -> Parser.token   val set_preprocessor :     (unit -> unit) ->     ((Lexing.lexbuf -> Parser.token) -> Lexing.lexbuf -> Parser.token) ->     unit end