Module Ocaml_preprocess.Lexer_raw
type error = | Illegal_character of char| Illegal_escape of string * string option| Reserved_sequence of string * string option| Unterminated_comment of Ocaml_parsing.Location.t| Unterminated_string| Unterminated_string_in_comment of Ocaml_parsing.Location.t * Ocaml_parsing.Location.t| Empty_character_literal| Keyword_as_label of string| Invalid_literal of string| Invalid_directive of string * string option
exception Error of Ocaml_preprocess.Lexer_raw.error * Ocaml_parsing.Location.tval keywords :
(string * Ocaml_preprocess.Parser_raw.token) list ->
Ocaml_preprocess.Lexer_raw.keywordsval list_keywords : Ocaml_preprocess.Lexer_raw.keywords -> string listtype 'a result = | Return of 'a| Refill of unit -> 'a Ocaml_preprocess.Lexer_raw.result| Fail of Ocaml_preprocess.Lexer_raw.error * Ocaml_parsing.Location.t
type preprocessor =
(Merlin_utils.Std.Lexing.lexbuf -> Ocaml_preprocess.Parser_raw.token) ->
Merlin_utils.Std.Lexing.lexbuf ->
Ocaml_preprocess.Parser_raw.tokentype state = {keywords : Ocaml_preprocess.Lexer_raw.keywords;mutable buffer : Stdlib.Buffer.t;mutable string_start_loc : Ocaml_parsing.Location.t;mutable comment_start_loc : Ocaml_parsing.Location.t list;mutable preprocessor : Ocaml_preprocess.Lexer_raw.preprocessor option;
}val make :
?preprocessor:Ocaml_preprocess.Lexer_raw.preprocessor ->
Ocaml_preprocess.Lexer_raw.keywords ->
Ocaml_preprocess.Lexer_raw.statetype comment = string * Ocaml_parsing.Location.tval token_without_comments :
Ocaml_preprocess.Lexer_raw.state ->
Merlin_utils.Std.Lexing.lexbuf ->
Ocaml_preprocess.Parser_raw.token Ocaml_preprocess.Lexer_raw.result