functor (Token : Sig.Camlp4Token) ->
sig
module Loc :
sig
type t = Token.Loc.t
val mk : string -> t
val ghost : t
val of_lexing_position : Lexing.position -> t
val to_ocaml_location : t -> Camlp4_import.Location.t
val of_ocaml_location : Camlp4_import.Location.t -> t
val of_lexbuf : Lexing.lexbuf -> t
val of_tuple : string * int * int * int * int * int * int * bool -> t
val to_tuple : t -> string * int * int * int * int * int * int * bool
val merge : t -> t -> t
val join : t -> t
val move : [ `both | `start | `stop ] -> int -> t -> t
val shift : int -> t -> t
val move_line : int -> t -> t
val file_name : t -> string
val start_line : t -> int
val stop_line : t -> int
val start_bol : t -> int
val stop_bol : t -> int
val start_off : t -> int
val stop_off : t -> int
val start_pos : t -> Lexing.position
val stop_pos : t -> Lexing.position
val is_ghost : t -> bool
val ghostify : t -> t
val set_file_name : string -> t -> t
val strictly_before : t -> t -> bool
val make_absolute : t -> t
val print : Format.formatter -> t -> unit
val dump : Format.formatter -> t -> unit
val to_string : t -> string
exception Exc_located of t * exn
val raise : t -> exn -> 'a
val name : string ref
end
module Token :
sig
module Loc :
sig
type t = Token.Loc.t
val mk : string -> t
val ghost : t
val of_lexing_position : Lexing.position -> t
val to_ocaml_location : t -> Camlp4_import.Location.t
val of_ocaml_location : Camlp4_import.Location.t -> t
val of_lexbuf : Lexing.lexbuf -> t
val of_tuple :
string * int * int * int * int * int * int * bool -> t
val to_tuple :
t -> string * int * int * int * int * int * int * bool
val merge : t -> t -> t
val join : t -> t
val move : [ `both | `start | `stop ] -> int -> t -> t
val shift : int -> t -> t
val move_line : int -> t -> t
val file_name : t -> string
val start_line : t -> int
val stop_line : t -> int
val start_bol : t -> int
val stop_bol : t -> int
val start_off : t -> int
val stop_off : t -> int
val start_pos : t -> Lexing.position
val stop_pos : t -> Lexing.position
val is_ghost : t -> bool
val ghostify : t -> t
val set_file_name : string -> t -> t
val strictly_before : t -> t -> bool
val make_absolute : t -> t
val print : Format.formatter -> t -> unit
val dump : Format.formatter -> t -> unit
val to_string : t -> string
exception Exc_located of t * exn
val raise : t -> exn -> 'a
val name : string ref
end
type t = Sig.camlp4_token
val to_string : t -> string
val print : Format.formatter -> t -> unit
val match_keyword : string -> t -> bool
val extract_string : t -> string
module Filter :
sig
type token_filter = (t, Loc.t) Sig.stream_filter
type t = Token.Filter.t
val mk : (string -> bool) -> t
val define_filter : t -> (token_filter -> token_filter) -> unit
val filter : t -> token_filter
val keyword_added : t -> string -> bool -> unit
val keyword_removed : t -> string -> unit
end
module Error :
sig
type t = Token.Error.t
exception E of t
val to_string : t -> string
val print : Format.formatter -> t -> unit
end
end
module Error :
sig
type t =
Illegal_character of char
| Illegal_escape of string
| Unterminated_comment
| Unterminated_string
| Unterminated_quotation
| Unterminated_antiquot
| Unterminated_string_in_comment
| Comment_start
| Comment_not_end
| Literal_overflow of string
exception E of Camlp4.Struct.Lexer.Make.Error.t
val print :
Format.formatter -> Camlp4.Struct.Lexer.Make.Error.t -> unit
val to_string : Camlp4.Struct.Lexer.Make.Error.t -> string
end
type context = {
loc : Camlp4.Struct.Lexer.Make.Loc.t;
in_comment : bool;
quotations : bool;
antiquots : bool;
lexbuf : Lexing.lexbuf;
buffer : Buffer.t;
}
val default_context : Lexing.lexbuf -> Camlp4.Struct.Lexer.Make.context
val store : Camlp4.Struct.Lexer.Make.context -> unit
val istore_char : Camlp4.Struct.Lexer.Make.context -> int -> unit
val buff_contents : Camlp4.Struct.Lexer.Make.context -> string
val loc :
Camlp4.Struct.Lexer.Make.context -> Camlp4.Struct.Lexer.Make.Loc.t
val quotations : Camlp4.Struct.Lexer.Make.context -> bool
val antiquots : Camlp4.Struct.Lexer.Make.context -> bool
val is_in_comment : Camlp4.Struct.Lexer.Make.context -> bool
val in_comment :
Camlp4.Struct.Lexer.Make.context -> Camlp4.Struct.Lexer.Make.context
val set_start_p : Camlp4.Struct.Lexer.Make.context -> unit
val move_start_p : int -> Camlp4.Struct.Lexer.Make.context -> unit
val update_loc : context -> context
val with_curr_loc :
(Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> 'a) ->
Camlp4.Struct.Lexer.Make.context -> 'a
val parse_nested :
(Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> 'a) ->
Camlp4.Struct.Lexer.Make.context -> string
val shift :
int ->
Camlp4.Struct.Lexer.Make.context -> Camlp4.Struct.Lexer.Make.context
val store_parse :
(Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> 'a) ->
Camlp4.Struct.Lexer.Make.context -> 'a
val parse :
(Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> 'a) ->
Camlp4.Struct.Lexer.Make.context -> 'a
val mk_quotation :
(Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> 'a) ->
Camlp4.Struct.Lexer.Make.context ->
string -> string -> int -> Camlp4.Sig.camlp4_token
val update_loc :
Camlp4.Struct.Lexer.Make.context ->
string option -> int -> bool -> int -> unit
val err :
Camlp4.Struct.Lexer.Make.Error.t ->
Camlp4.Struct.Lexer.Make.Loc.t -> 'a
val warn :
Camlp4.Struct.Lexer.Make.Error.t ->
Camlp4.Struct.Lexer.Make.Loc.t -> unit
val __ocaml_lex_tables : Lexing.lex_tables
val token :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_token_rec :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val comment : Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> unit
val __ocaml_lex_comment_rec :
Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> int -> unit
val string : Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> unit
val __ocaml_lex_string_rec :
Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> int -> unit
val symbolchar_star :
string ->
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_symbolchar_star_rec :
string ->
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val maybe_quotation_at :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_maybe_quotation_at_rec :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val maybe_quotation_colon :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_maybe_quotation_colon_rec :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val quotation : Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> unit
val __ocaml_lex_quotation_rec :
Camlp4.Struct.Lexer.Make.context -> Lexing.lexbuf -> int -> unit
val dollar :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_dollar_rec :
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val antiquot :
string ->
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> Camlp4.Sig.camlp4_token
val __ocaml_lex_antiquot_rec :
string ->
Camlp4.Struct.Lexer.Make.context ->
Lexing.lexbuf -> int -> Camlp4.Sig.camlp4_token
val lexing_store : char Stream.t -> string -> int -> int
val from_context :
Camlp4.Struct.Lexer.Make.context ->
(Camlp4.Sig.camlp4_token * Camlp4.Struct.Lexer.Make.Loc.t) Stream.t
val from_lexbuf :
?quotations:bool ->
Lexing.lexbuf ->
(Camlp4.Sig.camlp4_token * Camlp4.Struct.Lexer.Make.Loc.t) Stream.t
val setup_loc : Lexing.lexbuf -> Camlp4.Struct.Lexer.Make.Loc.t -> unit
val from_string :
?quotations:bool ->
Camlp4.Struct.Lexer.Make.Loc.t ->
string ->
(Camlp4.Sig.camlp4_token * Camlp4.Struct.Lexer.Make.Loc.t) Stream.t
val from_stream :
?quotations:bool ->
Camlp4.Struct.Lexer.Make.Loc.t ->
char Stream.t ->
(Camlp4.Sig.camlp4_token * Camlp4.Struct.Lexer.Make.Loc.t) Stream.t
val mk :
unit ->
Camlp4.Struct.Lexer.Make.Loc.t ->
char Stream.t ->
(Camlp4.Sig.camlp4_token * Camlp4.Struct.Lexer.Make.Loc.t) Stream.t
end