Module Lexer

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;