Melange_compiler_libs.Lexer
The lexical analyzer
Warning: this module is unstable and part of compiler-libs.
let token: Stdlib.Lexing.lexbuf => Parser.token;
type error =
| Illegal_character(char)
| Illegal_escape(string, option(string))
| Reserved_sequence(string, option(string))
| Unterminated_comment(Location.t)
| Unterminated_string
| Unterminated_string_in_comment(Location.t, Location.t)
| Empty_character_literal
| Keyword_as_label(string)
| Invalid_literal(string)
| Invalid_directive(string, option(string))
;
exception Error(error, Location.t);
let comments: unit => list((string, Location.t));
let token_with_comments: Stdlib.Lexing.lexbuf => Parser.token;
let set_preprocessor:
(unit => unit) =>
((Stdlib.Lexing.lexbuf => Parser.token) =>
Stdlib.Lexing.lexbuf =>
Parser.token) =>
unit;