module Lexer: sig .. end
The lexical analyzer
Warning: this module is unstable and part of compiler-libs.
let init: unit => unit;
let token: Lexing.lexbuf => Parser.token;
let skip_hash_bang: 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(error, Location.t);
let in_comment: unit => bool;
let in_string: unit => bool;
let print_warnings: ref(bool);
let handle_docstrings: ref(bool);
let comments: unit => list((string, Location.t));
let token_with_comments: Lexing.lexbuf => Parser.token;
let set_preprocessor:
(
unit => unit,
(Lexing.lexbuf => Parser.token, Lexing.lexbuf) => Parser.token
) =>
unit;