sig
module type Type = sig type t end
module type Error =
sig
type t
exception E of Camlp4.Sig.Error.t
val to_string : Camlp4.Sig.Error.t -> string
val print : Format.formatter -> Camlp4.Sig.Error.t -> unit
end
module type Id = sig val name : string val version : string end
module Warning :
functor (Loc : Type) ->
sig
module type S =
sig
type warning = Loc.t -> string -> unit
val default_warning : Camlp4.Sig.Warning.S.warning
val current_warning : Camlp4.Sig.Warning.S.warning Pervasives.ref
val print_warning : Camlp4.Sig.Warning.S.warning
end
end
module type Loc =
sig
type t
val mk : string -> Camlp4.Sig.Loc.t
val ghost : Camlp4.Sig.Loc.t
val of_lexing_position : Lexing.position -> Camlp4.Sig.Loc.t
val to_ocaml_location : Camlp4.Sig.Loc.t -> Camlp4_import.Location.t
val of_ocaml_location : Camlp4_import.Location.t -> Camlp4.Sig.Loc.t
val of_lexbuf : Lexing.lexbuf -> Camlp4.Sig.Loc.t
val of_tuple :
string * int * int * int * int * int * int * bool -> Camlp4.Sig.Loc.t
val to_tuple :
Camlp4.Sig.Loc.t -> string * int * int * int * int * int * int * bool
val merge : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val join : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val move :
[ `both | `start | `stop ] ->
int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val shift : int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val move_line : int -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val file_name : Camlp4.Sig.Loc.t -> string
val start_line : Camlp4.Sig.Loc.t -> int
val stop_line : Camlp4.Sig.Loc.t -> int
val start_bol : Camlp4.Sig.Loc.t -> int
val stop_bol : Camlp4.Sig.Loc.t -> int
val start_off : Camlp4.Sig.Loc.t -> int
val stop_off : Camlp4.Sig.Loc.t -> int
val start_pos : Camlp4.Sig.Loc.t -> Lexing.position
val stop_pos : Camlp4.Sig.Loc.t -> Lexing.position
val is_ghost : Camlp4.Sig.Loc.t -> bool
val ghostify : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val set_file_name : string -> Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val strictly_before : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t -> bool
val make_absolute : Camlp4.Sig.Loc.t -> Camlp4.Sig.Loc.t
val print : Format.formatter -> Camlp4.Sig.Loc.t -> unit
val dump : Format.formatter -> Camlp4.Sig.Loc.t -> unit
val to_string : Camlp4.Sig.Loc.t -> string
exception Exc_located of Camlp4.Sig.Loc.t * exn
val raise : Camlp4.Sig.Loc.t -> exn -> 'a
val name : string Pervasives.ref
end
module type Ast =
sig
type loc
type meta_bool
type 'a meta_option
type 'a meta_list
type ctyp
type patt
type expr
type module_type
type sig_item
type with_constr
type module_expr
type str_item
type class_type
type class_sig_item
type class_expr
type class_str_item
type match_case
type ident
type binding
type rec_binding
type module_binding
type rec_flag
type direction_flag
type mutable_flag
type private_flag
type virtual_flag
type row_var_flag
type override_flag
val loc_of_ctyp : Camlp4.Sig.Ast.ctyp -> Camlp4.Sig.Ast.loc
val loc_of_patt : Camlp4.Sig.Ast.patt -> Camlp4.Sig.Ast.loc
val loc_of_expr : Camlp4.Sig.Ast.expr -> Camlp4.Sig.Ast.loc
val loc_of_module_type :
Camlp4.Sig.Ast.module_type -> Camlp4.Sig.Ast.loc
val loc_of_module_expr :
Camlp4.Sig.Ast.module_expr -> Camlp4.Sig.Ast.loc
val loc_of_sig_item : Camlp4.Sig.Ast.sig_item -> Camlp4.Sig.Ast.loc
val loc_of_str_item : Camlp4.Sig.Ast.str_item -> Camlp4.Sig.Ast.loc
val loc_of_class_type : Camlp4.Sig.Ast.class_type -> Camlp4.Sig.Ast.loc
val loc_of_class_sig_item :
Camlp4.Sig.Ast.class_sig_item -> Camlp4.Sig.Ast.loc
val loc_of_class_expr : Camlp4.Sig.Ast.class_expr -> Camlp4.Sig.Ast.loc
val loc_of_class_str_item :
Camlp4.Sig.Ast.class_str_item -> Camlp4.Sig.Ast.loc
val loc_of_with_constr :
Camlp4.Sig.Ast.with_constr -> Camlp4.Sig.Ast.loc
val loc_of_binding : Camlp4.Sig.Ast.binding -> Camlp4.Sig.Ast.loc
val loc_of_rec_binding :
Camlp4.Sig.Ast.rec_binding -> Camlp4.Sig.Ast.loc
val loc_of_module_binding :
Camlp4.Sig.Ast.module_binding -> Camlp4.Sig.Ast.loc
val loc_of_match_case : Camlp4.Sig.Ast.match_case -> Camlp4.Sig.Ast.loc
val loc_of_ident : Camlp4.Sig.Ast.ident -> Camlp4.Sig.Ast.loc
class map :
object ('a)
method binding : Camlp4.Sig.Ast.binding -> Camlp4.Sig.Ast.binding
method class_expr :
Camlp4.Sig.Ast.class_expr -> Camlp4.Sig.Ast.class_expr
method class_sig_item :
Camlp4.Sig.Ast.class_sig_item -> Camlp4.Sig.Ast.class_sig_item
method class_str_item :
Camlp4.Sig.Ast.class_str_item -> Camlp4.Sig.Ast.class_str_item
method class_type :
Camlp4.Sig.Ast.class_type -> Camlp4.Sig.Ast.class_type
method ctyp : Camlp4.Sig.Ast.ctyp -> Camlp4.Sig.Ast.ctyp
method direction_flag :
Camlp4.Sig.Ast.direction_flag -> Camlp4.Sig.Ast.direction_flag
method expr : Camlp4.Sig.Ast.expr -> Camlp4.Sig.Ast.expr
method ident : Camlp4.Sig.Ast.ident -> Camlp4.Sig.Ast.ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : Camlp4.Sig.Ast.loc -> Camlp4.Sig.Ast.loc
method match_case :
Camlp4.Sig.Ast.match_case -> Camlp4.Sig.Ast.match_case
method meta_bool :
Camlp4.Sig.Ast.meta_bool -> Camlp4.Sig.Ast.meta_bool
method meta_list :
('a -> 'd -> 'e) ->
'd Camlp4.Sig.Ast.meta_list -> 'e Camlp4.Sig.Ast.meta_list
method meta_option :
('a -> 'f -> 'g) ->
'f Camlp4.Sig.Ast.meta_option -> 'g Camlp4.Sig.Ast.meta_option
method module_binding :
Camlp4.Sig.Ast.module_binding -> Camlp4.Sig.Ast.module_binding
method module_expr :
Camlp4.Sig.Ast.module_expr -> Camlp4.Sig.Ast.module_expr
method module_type :
Camlp4.Sig.Ast.module_type -> Camlp4.Sig.Ast.module_type
method mutable_flag :
Camlp4.Sig.Ast.mutable_flag -> Camlp4.Sig.Ast.mutable_flag
method override_flag :
Camlp4.Sig.Ast.override_flag -> Camlp4.Sig.Ast.override_flag
method patt : Camlp4.Sig.Ast.patt -> Camlp4.Sig.Ast.patt
method private_flag :
Camlp4.Sig.Ast.private_flag -> Camlp4.Sig.Ast.private_flag
method rec_binding :
Camlp4.Sig.Ast.rec_binding -> Camlp4.Sig.Ast.rec_binding
method rec_flag :
Camlp4.Sig.Ast.rec_flag -> Camlp4.Sig.Ast.rec_flag
method row_var_flag :
Camlp4.Sig.Ast.row_var_flag -> Camlp4.Sig.Ast.row_var_flag
method sig_item :
Camlp4.Sig.Ast.sig_item -> Camlp4.Sig.Ast.sig_item
method str_item :
Camlp4.Sig.Ast.str_item -> Camlp4.Sig.Ast.str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag :
Camlp4.Sig.Ast.virtual_flag -> Camlp4.Sig.Ast.virtual_flag
method with_constr :
Camlp4.Sig.Ast.with_constr -> Camlp4.Sig.Ast.with_constr
end
class fold :
object ('a)
method binding : Camlp4.Sig.Ast.binding -> 'a
method class_expr : Camlp4.Sig.Ast.class_expr -> 'a
method class_sig_item : Camlp4.Sig.Ast.class_sig_item -> 'a
method class_str_item : Camlp4.Sig.Ast.class_str_item -> 'a
method class_type : Camlp4.Sig.Ast.class_type -> 'a
method ctyp : Camlp4.Sig.Ast.ctyp -> 'a
method direction_flag : Camlp4.Sig.Ast.direction_flag -> 'a
method expr : Camlp4.Sig.Ast.expr -> 'a
method ident : Camlp4.Sig.Ast.ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : Camlp4.Sig.Ast.loc -> 'a
method match_case : Camlp4.Sig.Ast.match_case -> 'a
method meta_bool : Camlp4.Sig.Ast.meta_bool -> 'a
method meta_list :
('a -> 'c -> 'a) -> 'c Camlp4.Sig.Ast.meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd Camlp4.Sig.Ast.meta_option -> 'a
method module_binding : Camlp4.Sig.Ast.module_binding -> 'a
method module_expr : Camlp4.Sig.Ast.module_expr -> 'a
method module_type : Camlp4.Sig.Ast.module_type -> 'a
method mutable_flag : Camlp4.Sig.Ast.mutable_flag -> 'a
method override_flag : Camlp4.Sig.Ast.override_flag -> 'a
method patt : Camlp4.Sig.Ast.patt -> 'a
method private_flag : Camlp4.Sig.Ast.private_flag -> 'a
method rec_binding : Camlp4.Sig.Ast.rec_binding -> 'a
method rec_flag : Camlp4.Sig.Ast.rec_flag -> 'a
method row_var_flag : Camlp4.Sig.Ast.row_var_flag -> 'a
method sig_item : Camlp4.Sig.Ast.sig_item -> 'a
method str_item : Camlp4.Sig.Ast.str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : Camlp4.Sig.Ast.virtual_flag -> 'a
method with_constr : Camlp4.Sig.Ast.with_constr -> 'a
end
end
module type Camlp4Ast =
sig
module Loc : Loc
type loc = Camlp4.Sig.Loc.t
and meta_bool = BTrue | BFalse | BAnt of string
and rec_flag = ReRecursive | ReNil | ReAnt of string
and direction_flag = DiTo | DiDownto | DiAnt of string
and mutable_flag = MuMutable | MuNil | MuAnt of string
and private_flag = PrPrivate | PrNil | PrAnt of string
and virtual_flag = ViVirtual | ViNil | ViAnt of string
and override_flag = OvOverride | OvNil | OvAnt of string
and row_var_flag = RvRowVar | RvNil | RvAnt of string
and 'a meta_option = ONone | OSome of 'a | OAnt of string
and 'a meta_list =
LNil
| LCons of 'a * 'a Camlp4.Sig.Camlp4Ast.meta_list
| LAnt of string
and ident =
IdAcc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ident
| IdApp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ident
| IdLid of Camlp4.Sig.Camlp4Ast.loc * string
| IdUid of Camlp4.Sig.Camlp4Ast.loc * string
| IdAnt of Camlp4.Sig.Camlp4Ast.loc * string
and ctyp =
TyNil of Camlp4.Sig.Camlp4Ast.loc
| TyAli of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyAny of Camlp4.Sig.Camlp4Ast.loc
| TyApp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyArr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyCls of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| TyLab of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp
| TyId of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| TyMan of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyDcl of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp list * Camlp4.Sig.Camlp4Ast.ctyp *
(Camlp4.Sig.Camlp4Ast.ctyp * Camlp4.Sig.Camlp4Ast.ctyp) list
| TyObj of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.row_var_flag
| TyOlb of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp
| TyPol of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyQuo of Camlp4.Sig.Camlp4Ast.loc * string
| TyQuP of Camlp4.Sig.Camlp4Ast.loc * string
| TyQuM of Camlp4.Sig.Camlp4Ast.loc * string
| TyVrn of Camlp4.Sig.Camlp4Ast.loc * string
| TyRec of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyCol of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TySem of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyCom of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TySum of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyOf of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyAnd of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyOr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyPrv of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyMut of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyTup of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TySta of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyVrnEq of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyVrnSup of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyVrnInf of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| TyVrnInfSup of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.ctyp * Camlp4.Sig.Camlp4Ast.ctyp
| TyAmp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyOfAmp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| TyPkg of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_type
| TyAnt of Camlp4.Sig.Camlp4Ast.loc * string
and patt =
PaNil of Camlp4.Sig.Camlp4Ast.loc
| PaId of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| PaAli of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaAnt of Camlp4.Sig.Camlp4Ast.loc * string
| PaAny of Camlp4.Sig.Camlp4Ast.loc
| PaApp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaArr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt
| PaCom of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaSem of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaChr of Camlp4.Sig.Camlp4Ast.loc * string
| PaInt of Camlp4.Sig.Camlp4Ast.loc * string
| PaInt32 of Camlp4.Sig.Camlp4Ast.loc * string
| PaInt64 of Camlp4.Sig.Camlp4Ast.loc * string
| PaNativeInt of Camlp4.Sig.Camlp4Ast.loc * string
| PaFlo of Camlp4.Sig.Camlp4Ast.loc * string
| PaLab of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.patt
| PaOlb of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.patt
| PaOlbi of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.patt * Camlp4.Sig.Camlp4Ast.expr
| PaOrp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaRng of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.patt
| PaRec of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt
| PaEq of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.patt
| PaStr of Camlp4.Sig.Camlp4Ast.loc * string
| PaTup of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt
| PaTyc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.ctyp
| PaTyp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| PaVrn of Camlp4.Sig.Camlp4Ast.loc * string
| PaLaz of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt
and expr =
ExNil of Camlp4.Sig.Camlp4Ast.loc
| ExId of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| ExAcc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExAnt of Camlp4.Sig.Camlp4Ast.loc * string
| ExApp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExAre of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExArr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| ExSem of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExAsf of Camlp4.Sig.Camlp4Ast.loc
| ExAsr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| ExAss of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExChr of Camlp4.Sig.Camlp4Ast.loc * string
| ExCoe of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.ctyp * Camlp4.Sig.Camlp4Ast.ctyp
| ExFlo of Camlp4.Sig.Camlp4Ast.loc * string
| ExFor of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.direction_flag * Camlp4.Sig.Camlp4Ast.expr
| ExFun of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.match_case
| ExIfe of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr * Camlp4.Sig.Camlp4Ast.expr
| ExInt of Camlp4.Sig.Camlp4Ast.loc * string
| ExInt32 of Camlp4.Sig.Camlp4Ast.loc * string
| ExInt64 of Camlp4.Sig.Camlp4Ast.loc * string
| ExNativeInt of Camlp4.Sig.Camlp4Ast.loc * string
| ExLab of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr
| ExLaz of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| ExLet of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.rec_flag *
Camlp4.Sig.Camlp4Ast.binding * Camlp4.Sig.Camlp4Ast.expr
| ExLmd of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_expr * Camlp4.Sig.Camlp4Ast.expr
| ExMat of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.match_case
| ExNew of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| ExObj of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.class_str_item
| ExOlb of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr
| ExOvr of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.rec_binding
| ExRec of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.rec_binding * Camlp4.Sig.Camlp4Ast.expr
| ExSeq of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| ExSnd of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
string
| ExSte of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExStr of Camlp4.Sig.Camlp4Ast.loc * string
| ExTry of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.match_case
| ExTup of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| ExCom of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExTyc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.ctyp
| ExVrn of Camlp4.Sig.Camlp4Ast.loc * string
| ExWhi of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.expr
| ExOpI of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.expr
| ExFUN of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr
| ExPkg of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_expr
and module_type =
MtNil of Camlp4.Sig.Camlp4Ast.loc
| MtId of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| MtFun of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type *
Camlp4.Sig.Camlp4Ast.module_type
| MtQuo of Camlp4.Sig.Camlp4Ast.loc * string
| MtSig of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.sig_item
| MtWit of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_type *
Camlp4.Sig.Camlp4Ast.with_constr
| MtAnt of Camlp4.Sig.Camlp4Ast.loc * string
and sig_item =
SgNil of Camlp4.Sig.Camlp4Ast.loc
| SgCls of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.class_type
| SgClt of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.class_type
| SgSem of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.sig_item *
Camlp4.Sig.Camlp4Ast.sig_item
| SgDir of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr
| SgExc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| SgExt of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp * string Camlp4.Sig.Camlp4Ast.meta_list
| SgInc of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_type
| SgMod of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type
| SgRecMod of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_binding
| SgMty of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type
| SgOpn of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| SgTyp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| SgVal of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp
| SgAnt of Camlp4.Sig.Camlp4Ast.loc * string
and with_constr =
WcNil of Camlp4.Sig.Camlp4Ast.loc
| WcTyp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| WcMod of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ident
| WcTyS of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| WcMoS of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ident
| WcAnd of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.with_constr *
Camlp4.Sig.Camlp4Ast.with_constr
| WcAnt of Camlp4.Sig.Camlp4Ast.loc * string
and binding =
BiNil of Camlp4.Sig.Camlp4Ast.loc
| BiAnd of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.binding *
Camlp4.Sig.Camlp4Ast.binding
| BiEq of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.expr
| BiAnt of Camlp4.Sig.Camlp4Ast.loc * string
and rec_binding =
RbNil of Camlp4.Sig.Camlp4Ast.loc
| RbSem of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.rec_binding *
Camlp4.Sig.Camlp4Ast.rec_binding
| RbEq of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.expr
| RbAnt of Camlp4.Sig.Camlp4Ast.loc * string
and module_binding =
MbNil of Camlp4.Sig.Camlp4Ast.loc
| MbAnd of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_binding *
Camlp4.Sig.Camlp4Ast.module_binding
| MbColEq of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type *
Camlp4.Sig.Camlp4Ast.module_expr
| MbCol of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type
| MbAnt of Camlp4.Sig.Camlp4Ast.loc * string
and match_case =
McNil of Camlp4.Sig.Camlp4Ast.loc
| McOr of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.match_case * Camlp4.Sig.Camlp4Ast.match_case
| McArr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.expr * Camlp4.Sig.Camlp4Ast.expr
| McAnt of Camlp4.Sig.Camlp4Ast.loc * string
and module_expr =
MeNil of Camlp4.Sig.Camlp4Ast.loc
| MeId of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| MeApp of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_expr *
Camlp4.Sig.Camlp4Ast.module_expr
| MeFun of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type *
Camlp4.Sig.Camlp4Ast.module_expr
| MeStr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.str_item
| MeTyc of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_expr *
Camlp4.Sig.Camlp4Ast.module_type
| MePkg of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| MeAnt of Camlp4.Sig.Camlp4Ast.loc * string
and str_item =
StNil of Camlp4.Sig.Camlp4Ast.loc
| StCls of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.class_expr
| StClt of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.class_type
| StSem of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.str_item *
Camlp4.Sig.Camlp4Ast.str_item
| StDir of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.expr
| StExc of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ident Camlp4.Sig.Camlp4Ast.meta_option
| StExp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| StExt of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.ctyp * string Camlp4.Sig.Camlp4Ast.meta_list
| StInc of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_expr
| StMod of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_expr
| StRecMod of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.module_binding
| StMty of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.module_type
| StOpn of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ident
| StTyp of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp
| StVal of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.rec_flag *
Camlp4.Sig.Camlp4Ast.binding
| StAnt of Camlp4.Sig.Camlp4Ast.loc * string
and class_type =
CtNil of Camlp4.Sig.Camlp4Ast.loc
| CtCon of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.virtual_flag * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ctyp
| CtFun of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.class_type
| CtSig of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.class_sig_item
| CtAnd of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_type * Camlp4.Sig.Camlp4Ast.class_type
| CtCol of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_type * Camlp4.Sig.Camlp4Ast.class_type
| CtEq of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_type * Camlp4.Sig.Camlp4Ast.class_type
| CtAnt of Camlp4.Sig.Camlp4Ast.loc * string
and class_sig_item =
CgNil of Camlp4.Sig.Camlp4Ast.loc
| CgCtr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| CgSem of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_sig_item *
Camlp4.Sig.Camlp4Ast.class_sig_item
| CgInh of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.class_type
| CgMth of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.private_flag * Camlp4.Sig.Camlp4Ast.ctyp
| CgVal of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.mutable_flag *
Camlp4.Sig.Camlp4Ast.virtual_flag * Camlp4.Sig.Camlp4Ast.ctyp
| CgVir of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.private_flag * Camlp4.Sig.Camlp4Ast.ctyp
| CgAnt of Camlp4.Sig.Camlp4Ast.loc * string
and class_expr =
CeNil of Camlp4.Sig.Camlp4Ast.loc
| CeApp of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_expr * Camlp4.Sig.Camlp4Ast.expr
| CeCon of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.virtual_flag * Camlp4.Sig.Camlp4Ast.ident *
Camlp4.Sig.Camlp4Ast.ctyp
| CeFun of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.class_expr
| CeLet of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.rec_flag *
Camlp4.Sig.Camlp4Ast.binding * Camlp4.Sig.Camlp4Ast.class_expr
| CeStr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.patt *
Camlp4.Sig.Camlp4Ast.class_str_item
| CeTyc of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_expr * Camlp4.Sig.Camlp4Ast.class_type
| CeAnd of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_expr * Camlp4.Sig.Camlp4Ast.class_expr
| CeEq of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_expr * Camlp4.Sig.Camlp4Ast.class_expr
| CeAnt of Camlp4.Sig.Camlp4Ast.loc * string
and class_str_item =
CrNil of Camlp4.Sig.Camlp4Ast.loc
| CrSem of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.class_str_item *
Camlp4.Sig.Camlp4Ast.class_str_item
| CrCtr of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.ctyp *
Camlp4.Sig.Camlp4Ast.ctyp
| CrInh of Camlp4.Sig.Camlp4Ast.loc *
Camlp4.Sig.Camlp4Ast.override_flag *
Camlp4.Sig.Camlp4Ast.class_expr * string
| CrIni of Camlp4.Sig.Camlp4Ast.loc * Camlp4.Sig.Camlp4Ast.expr
| CrMth of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.override_flag *
Camlp4.Sig.Camlp4Ast.private_flag * Camlp4.Sig.Camlp4Ast.expr *
Camlp4.Sig.Camlp4Ast.ctyp
| CrVal of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.override_flag *
Camlp4.Sig.Camlp4Ast.mutable_flag * Camlp4.Sig.Camlp4Ast.expr
| CrVir of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.private_flag * Camlp4.Sig.Camlp4Ast.ctyp
| CrVvr of Camlp4.Sig.Camlp4Ast.loc * string *
Camlp4.Sig.Camlp4Ast.mutable_flag * Camlp4.Sig.Camlp4Ast.ctyp
| CrAnt of Camlp4.Sig.Camlp4Ast.loc * string
val loc_of_ctyp : Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_patt : Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_expr : Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_module_type :
Camlp4.Sig.Camlp4Ast.module_type -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_module_expr :
Camlp4.Sig.Camlp4Ast.module_expr -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_sig_item :
Camlp4.Sig.Camlp4Ast.sig_item -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_str_item :
Camlp4.Sig.Camlp4Ast.str_item -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_class_type :
Camlp4.Sig.Camlp4Ast.class_type -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_class_sig_item :
Camlp4.Sig.Camlp4Ast.class_sig_item -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_class_expr :
Camlp4.Sig.Camlp4Ast.class_expr -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_class_str_item :
Camlp4.Sig.Camlp4Ast.class_str_item -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_with_constr :
Camlp4.Sig.Camlp4Ast.with_constr -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_binding :
Camlp4.Sig.Camlp4Ast.binding -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_rec_binding :
Camlp4.Sig.Camlp4Ast.rec_binding -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_module_binding :
Camlp4.Sig.Camlp4Ast.module_binding -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_match_case :
Camlp4.Sig.Camlp4Ast.match_case -> Camlp4.Sig.Camlp4Ast.loc
val loc_of_ident :
Camlp4.Sig.Camlp4Ast.ident -> Camlp4.Sig.Camlp4Ast.loc
module Meta :
sig
module type META_LOC =
sig
val meta_loc_patt :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.patt
val meta_loc_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.expr
end
module MetaLoc :
sig
val meta_loc_patt :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.patt
val meta_loc_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.expr
end
module MetaGhostLoc :
sig
val meta_loc_patt :
Camlp4.Sig.Camlp4Ast.loc -> 'a -> Camlp4.Sig.Camlp4Ast.patt
val meta_loc_expr :
Camlp4.Sig.Camlp4Ast.loc -> 'a -> Camlp4.Sig.Camlp4Ast.expr
end
module MetaLocVar :
sig
val meta_loc_patt :
Camlp4.Sig.Camlp4Ast.loc -> 'a -> Camlp4.Sig.Camlp4Ast.patt
val meta_loc_expr :
Camlp4.Sig.Camlp4Ast.loc -> 'a -> Camlp4.Sig.Camlp4Ast.expr
end
module Make :
functor (MetaLoc : META_LOC) ->
sig
module Expr :
sig
val meta_string :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.expr
val meta_int :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.expr
val meta_float :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.expr
val meta_char :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.expr
val meta_bool :
Camlp4.Sig.Camlp4Ast.loc ->
bool -> Camlp4.Sig.Camlp4Ast.expr
val meta_list :
(Camlp4.Sig.Camlp4Ast.loc ->
'a -> Camlp4.Sig.Camlp4Ast.expr) ->
Camlp4.Sig.Camlp4Ast.loc ->
'a list -> Camlp4.Sig.Camlp4Ast.expr
val meta_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.binding ->
Camlp4.Sig.Camlp4Ast.expr
val meta_rec_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.rec_binding ->
Camlp4.Sig.Camlp4Ast.expr
val meta_class_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_expr ->
Camlp4.Sig.Camlp4Ast.expr
val meta_class_sig_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_sig_item ->
Camlp4.Sig.Camlp4Ast.expr
val meta_class_str_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_str_item ->
Camlp4.Sig.Camlp4Ast.expr
val meta_class_type :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_type ->
Camlp4.Sig.Camlp4Ast.expr
val meta_ctyp :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.expr
val meta_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.expr
val meta_ident :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.ident -> Camlp4.Sig.Camlp4Ast.expr
val meta_match_case :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.match_case ->
Camlp4.Sig.Camlp4Ast.expr
val meta_module_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_binding ->
Camlp4.Sig.Camlp4Ast.expr
val meta_module_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_expr ->
Camlp4.Sig.Camlp4Ast.expr
val meta_module_type :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_type ->
Camlp4.Sig.Camlp4Ast.expr
val meta_patt :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.expr
val meta_sig_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.sig_item ->
Camlp4.Sig.Camlp4Ast.expr
val meta_str_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.str_item ->
Camlp4.Sig.Camlp4Ast.expr
val meta_with_constr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.with_constr ->
Camlp4.Sig.Camlp4Ast.expr
val meta_rec_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.rec_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_mutable_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.mutable_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_virtual_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.virtual_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_private_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.private_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_row_var_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.row_var_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_override_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.override_flag ->
Camlp4.Sig.Camlp4Ast.expr
val meta_direction_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.direction_flag ->
Camlp4.Sig.Camlp4Ast.expr
end
module Patt :
sig
val meta_string :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.patt
val meta_int :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.patt
val meta_float :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.patt
val meta_char :
Camlp4.Sig.Camlp4Ast.loc ->
string -> Camlp4.Sig.Camlp4Ast.patt
val meta_bool :
Camlp4.Sig.Camlp4Ast.loc ->
bool -> Camlp4.Sig.Camlp4Ast.patt
val meta_list :
(Camlp4.Sig.Camlp4Ast.loc ->
'a -> Camlp4.Sig.Camlp4Ast.patt) ->
Camlp4.Sig.Camlp4Ast.loc ->
'a list -> Camlp4.Sig.Camlp4Ast.patt
val meta_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.binding ->
Camlp4.Sig.Camlp4Ast.patt
val meta_rec_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.rec_binding ->
Camlp4.Sig.Camlp4Ast.patt
val meta_class_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_expr ->
Camlp4.Sig.Camlp4Ast.patt
val meta_class_sig_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_sig_item ->
Camlp4.Sig.Camlp4Ast.patt
val meta_class_str_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_str_item ->
Camlp4.Sig.Camlp4Ast.patt
val meta_class_type :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.class_type ->
Camlp4.Sig.Camlp4Ast.patt
val meta_ctyp :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.patt
val meta_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.patt
val meta_ident :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.ident -> Camlp4.Sig.Camlp4Ast.patt
val meta_match_case :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.match_case ->
Camlp4.Sig.Camlp4Ast.patt
val meta_module_binding :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_binding ->
Camlp4.Sig.Camlp4Ast.patt
val meta_module_expr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_expr ->
Camlp4.Sig.Camlp4Ast.patt
val meta_module_type :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.module_type ->
Camlp4.Sig.Camlp4Ast.patt
val meta_patt :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.patt
val meta_sig_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.sig_item ->
Camlp4.Sig.Camlp4Ast.patt
val meta_str_item :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.str_item ->
Camlp4.Sig.Camlp4Ast.patt
val meta_with_constr :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.with_constr ->
Camlp4.Sig.Camlp4Ast.patt
val meta_rec_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.rec_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_mutable_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.mutable_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_virtual_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.virtual_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_private_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.private_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_row_var_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.row_var_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_override_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.override_flag ->
Camlp4.Sig.Camlp4Ast.patt
val meta_direction_flag :
Camlp4.Sig.Camlp4Ast.loc ->
Camlp4.Sig.Camlp4Ast.direction_flag ->
Camlp4.Sig.Camlp4Ast.patt
end
end
end
class map :
object ('a)
method binding :
Camlp4.Sig.Camlp4Ast.binding -> Camlp4.Sig.Camlp4Ast.binding
method class_expr :
Camlp4.Sig.Camlp4Ast.class_expr ->
Camlp4.Sig.Camlp4Ast.class_expr
method class_sig_item :
Camlp4.Sig.Camlp4Ast.class_sig_item ->
Camlp4.Sig.Camlp4Ast.class_sig_item
method class_str_item :
Camlp4.Sig.Camlp4Ast.class_str_item ->
Camlp4.Sig.Camlp4Ast.class_str_item
method class_type :
Camlp4.Sig.Camlp4Ast.class_type ->
Camlp4.Sig.Camlp4Ast.class_type
method ctyp :
Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.ctyp
method direction_flag :
Camlp4.Sig.Camlp4Ast.direction_flag ->
Camlp4.Sig.Camlp4Ast.direction_flag
method expr :
Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.expr
method ident :
Camlp4.Sig.Camlp4Ast.ident -> Camlp4.Sig.Camlp4Ast.ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.loc
method match_case :
Camlp4.Sig.Camlp4Ast.match_case ->
Camlp4.Sig.Camlp4Ast.match_case
method meta_bool :
Camlp4.Sig.Camlp4Ast.meta_bool -> Camlp4.Sig.Camlp4Ast.meta_bool
method meta_list :
('a -> 'd -> 'e) ->
'd Camlp4.Sig.Camlp4Ast.meta_list ->
'e Camlp4.Sig.Camlp4Ast.meta_list
method meta_option :
('a -> 'f -> 'g) ->
'f Camlp4.Sig.Camlp4Ast.meta_option ->
'g Camlp4.Sig.Camlp4Ast.meta_option
method module_binding :
Camlp4.Sig.Camlp4Ast.module_binding ->
Camlp4.Sig.Camlp4Ast.module_binding
method module_expr :
Camlp4.Sig.Camlp4Ast.module_expr ->
Camlp4.Sig.Camlp4Ast.module_expr
method module_type :
Camlp4.Sig.Camlp4Ast.module_type ->
Camlp4.Sig.Camlp4Ast.module_type
method mutable_flag :
Camlp4.Sig.Camlp4Ast.mutable_flag ->
Camlp4.Sig.Camlp4Ast.mutable_flag
method override_flag :
Camlp4.Sig.Camlp4Ast.override_flag ->
Camlp4.Sig.Camlp4Ast.override_flag
method patt :
Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.patt
method private_flag :
Camlp4.Sig.Camlp4Ast.private_flag ->
Camlp4.Sig.Camlp4Ast.private_flag
method rec_binding :
Camlp4.Sig.Camlp4Ast.rec_binding ->
Camlp4.Sig.Camlp4Ast.rec_binding
method rec_flag :
Camlp4.Sig.Camlp4Ast.rec_flag -> Camlp4.Sig.Camlp4Ast.rec_flag
method row_var_flag :
Camlp4.Sig.Camlp4Ast.row_var_flag ->
Camlp4.Sig.Camlp4Ast.row_var_flag
method sig_item :
Camlp4.Sig.Camlp4Ast.sig_item -> Camlp4.Sig.Camlp4Ast.sig_item
method str_item :
Camlp4.Sig.Camlp4Ast.str_item -> Camlp4.Sig.Camlp4Ast.str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag :
Camlp4.Sig.Camlp4Ast.virtual_flag ->
Camlp4.Sig.Camlp4Ast.virtual_flag
method with_constr :
Camlp4.Sig.Camlp4Ast.with_constr ->
Camlp4.Sig.Camlp4Ast.with_constr
end
class fold :
object ('a)
method binding : Camlp4.Sig.Camlp4Ast.binding -> 'a
method class_expr : Camlp4.Sig.Camlp4Ast.class_expr -> 'a
method class_sig_item : Camlp4.Sig.Camlp4Ast.class_sig_item -> 'a
method class_str_item : Camlp4.Sig.Camlp4Ast.class_str_item -> 'a
method class_type : Camlp4.Sig.Camlp4Ast.class_type -> 'a
method ctyp : Camlp4.Sig.Camlp4Ast.ctyp -> 'a
method direction_flag : Camlp4.Sig.Camlp4Ast.direction_flag -> 'a
method expr : Camlp4.Sig.Camlp4Ast.expr -> 'a
method ident : Camlp4.Sig.Camlp4Ast.ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : Camlp4.Sig.Camlp4Ast.loc -> 'a
method match_case : Camlp4.Sig.Camlp4Ast.match_case -> 'a
method meta_bool : Camlp4.Sig.Camlp4Ast.meta_bool -> 'a
method meta_list :
('a -> 'c -> 'a) -> 'c Camlp4.Sig.Camlp4Ast.meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd Camlp4.Sig.Camlp4Ast.meta_option -> 'a
method module_binding : Camlp4.Sig.Camlp4Ast.module_binding -> 'a
method module_expr : Camlp4.Sig.Camlp4Ast.module_expr -> 'a
method module_type : Camlp4.Sig.Camlp4Ast.module_type -> 'a
method mutable_flag : Camlp4.Sig.Camlp4Ast.mutable_flag -> 'a
method override_flag : Camlp4.Sig.Camlp4Ast.override_flag -> 'a
method patt : Camlp4.Sig.Camlp4Ast.patt -> 'a
method private_flag : Camlp4.Sig.Camlp4Ast.private_flag -> 'a
method rec_binding : Camlp4.Sig.Camlp4Ast.rec_binding -> 'a
method rec_flag : Camlp4.Sig.Camlp4Ast.rec_flag -> 'a
method row_var_flag : Camlp4.Sig.Camlp4Ast.row_var_flag -> 'a
method sig_item : Camlp4.Sig.Camlp4Ast.sig_item -> 'a
method str_item : Camlp4.Sig.Camlp4Ast.str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : Camlp4.Sig.Camlp4Ast.virtual_flag -> 'a
method with_constr : Camlp4.Sig.Camlp4Ast.with_constr -> 'a
end
val map_expr :
(Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.expr) ->
Camlp4.Sig.Camlp4Ast.map
val map_patt :
(Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.patt) ->
Camlp4.Sig.Camlp4Ast.map
val map_ctyp :
(Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.ctyp) ->
Camlp4.Sig.Camlp4Ast.map
val map_str_item :
(Camlp4.Sig.Camlp4Ast.str_item -> Camlp4.Sig.Camlp4Ast.str_item) ->
Camlp4.Sig.Camlp4Ast.map
val map_sig_item :
(Camlp4.Sig.Camlp4Ast.sig_item -> Camlp4.Sig.Camlp4Ast.sig_item) ->
Camlp4.Sig.Camlp4Ast.map
val map_loc :
(Camlp4.Sig.Camlp4Ast.loc -> Camlp4.Sig.Camlp4Ast.loc) ->
Camlp4.Sig.Camlp4Ast.map
val ident_of_expr :
Camlp4.Sig.Camlp4Ast.expr -> Camlp4.Sig.Camlp4Ast.ident
val ident_of_patt :
Camlp4.Sig.Camlp4Ast.patt -> Camlp4.Sig.Camlp4Ast.ident
val ident_of_ctyp :
Camlp4.Sig.Camlp4Ast.ctyp -> Camlp4.Sig.Camlp4Ast.ident
val biAnd_of_list :
Camlp4.Sig.Camlp4Ast.binding list -> Camlp4.Sig.Camlp4Ast.binding
val rbSem_of_list :
Camlp4.Sig.Camlp4Ast.rec_binding list ->
Camlp4.Sig.Camlp4Ast.rec_binding
val paSem_of_list :
Camlp4.Sig.Camlp4Ast.patt list -> Camlp4.Sig.Camlp4Ast.patt
val paCom_of_list :
Camlp4.Sig.Camlp4Ast.patt list -> Camlp4.Sig.Camlp4Ast.patt
val tyOr_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val tyAnd_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val tyAmp_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val tySem_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val tyCom_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val tySta_of_list :
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp
val stSem_of_list :
Camlp4.Sig.Camlp4Ast.str_item list -> Camlp4.Sig.Camlp4Ast.str_item
val sgSem_of_list :
Camlp4.Sig.Camlp4Ast.sig_item list -> Camlp4.Sig.Camlp4Ast.sig_item
val crSem_of_list :
Camlp4.Sig.Camlp4Ast.class_str_item list ->
Camlp4.Sig.Camlp4Ast.class_str_item
val cgSem_of_list :
Camlp4.Sig.Camlp4Ast.class_sig_item list ->
Camlp4.Sig.Camlp4Ast.class_sig_item
val ctAnd_of_list :
Camlp4.Sig.Camlp4Ast.class_type list ->
Camlp4.Sig.Camlp4Ast.class_type
val ceAnd_of_list :
Camlp4.Sig.Camlp4Ast.class_expr list ->
Camlp4.Sig.Camlp4Ast.class_expr
val wcAnd_of_list :
Camlp4.Sig.Camlp4Ast.with_constr list ->
Camlp4.Sig.Camlp4Ast.with_constr
val meApp_of_list :
Camlp4.Sig.Camlp4Ast.module_expr list ->
Camlp4.Sig.Camlp4Ast.module_expr
val mbAnd_of_list :
Camlp4.Sig.Camlp4Ast.module_binding list ->
Camlp4.Sig.Camlp4Ast.module_binding
val mcOr_of_list :
Camlp4.Sig.Camlp4Ast.match_case list ->
Camlp4.Sig.Camlp4Ast.match_case
val idAcc_of_list :
Camlp4.Sig.Camlp4Ast.ident list -> Camlp4.Sig.Camlp4Ast.ident
val idApp_of_list :
Camlp4.Sig.Camlp4Ast.ident list -> Camlp4.Sig.Camlp4Ast.ident
val exSem_of_list :
Camlp4.Sig.Camlp4Ast.expr list -> Camlp4.Sig.Camlp4Ast.expr
val exCom_of_list :
Camlp4.Sig.Camlp4Ast.expr list -> Camlp4.Sig.Camlp4Ast.expr
val list_of_ctyp :
Camlp4.Sig.Camlp4Ast.ctyp ->
Camlp4.Sig.Camlp4Ast.ctyp list -> Camlp4.Sig.Camlp4Ast.ctyp list
val list_of_binding :
Camlp4.Sig.Camlp4Ast.binding ->
Camlp4.Sig.Camlp4Ast.binding list ->
Camlp4.Sig.Camlp4Ast.binding list
val list_of_rec_binding :
Camlp4.Sig.Camlp4Ast.rec_binding ->
Camlp4.Sig.Camlp4Ast.rec_binding list ->
Camlp4.Sig.Camlp4Ast.rec_binding list
val list_of_with_constr :
Camlp4.Sig.Camlp4Ast.with_constr ->
Camlp4.Sig.Camlp4Ast.with_constr list ->
Camlp4.Sig.Camlp4Ast.with_constr list
val list_of_patt :
Camlp4.Sig.Camlp4Ast.patt ->
Camlp4.Sig.Camlp4Ast.patt list -> Camlp4.Sig.Camlp4Ast.patt list
val list_of_expr :
Camlp4.Sig.Camlp4Ast.expr ->
Camlp4.Sig.Camlp4Ast.expr list -> Camlp4.Sig.Camlp4Ast.expr list
val list_of_str_item :
Camlp4.Sig.Camlp4Ast.str_item ->
Camlp4.Sig.Camlp4Ast.str_item list ->
Camlp4.Sig.Camlp4Ast.str_item list
val list_of_sig_item :
Camlp4.Sig.Camlp4Ast.sig_item ->
Camlp4.Sig.Camlp4Ast.sig_item list ->
Camlp4.Sig.Camlp4Ast.sig_item list
val list_of_class_sig_item :
Camlp4.Sig.Camlp4Ast.class_sig_item ->
Camlp4.Sig.Camlp4Ast.class_sig_item list ->
Camlp4.Sig.Camlp4Ast.class_sig_item list
val list_of_class_str_item :
Camlp4.Sig.Camlp4Ast.class_str_item ->
Camlp4.Sig.Camlp4Ast.class_str_item list ->
Camlp4.Sig.Camlp4Ast.class_str_item list
val list_of_class_type :
Camlp4.Sig.Camlp4Ast.class_type ->
Camlp4.Sig.Camlp4Ast.class_type list ->
Camlp4.Sig.Camlp4Ast.class_type list
val list_of_class_expr :
Camlp4.Sig.Camlp4Ast.class_expr ->
Camlp4.Sig.Camlp4Ast.class_expr list ->
Camlp4.Sig.Camlp4Ast.class_expr list
val list_of_module_expr :
Camlp4.Sig.Camlp4Ast.module_expr ->
Camlp4.Sig.Camlp4Ast.module_expr list ->
Camlp4.Sig.Camlp4Ast.module_expr list
val list_of_module_binding :
Camlp4.Sig.Camlp4Ast.module_binding ->
Camlp4.Sig.Camlp4Ast.module_binding list ->
Camlp4.Sig.Camlp4Ast.module_binding list
val list_of_match_case :
Camlp4.Sig.Camlp4Ast.match_case ->
Camlp4.Sig.Camlp4Ast.match_case list ->
Camlp4.Sig.Camlp4Ast.match_case list
val list_of_ident :
Camlp4.Sig.Camlp4Ast.ident ->
Camlp4.Sig.Camlp4Ast.ident list -> Camlp4.Sig.Camlp4Ast.ident list
val safe_string_escaped : string -> string
val is_irrefut_patt : Camlp4.Sig.Camlp4Ast.patt -> bool
val is_constructor : Camlp4.Sig.Camlp4Ast.ident -> bool
val is_patt_constructor : Camlp4.Sig.Camlp4Ast.patt -> bool
val is_expr_constructor : Camlp4.Sig.Camlp4Ast.expr -> bool
val ty_of_stl :
Camlp4.Sig.Loc.t * string * Camlp4.Sig.Camlp4Ast.ctyp list ->
Camlp4.Sig.Camlp4Ast.ctyp
val ty_of_sbt :
Camlp4.Sig.Loc.t * string * bool * Camlp4.Sig.Camlp4Ast.ctyp ->
Camlp4.Sig.Camlp4Ast.ctyp
val bi_of_pe :
Camlp4.Sig.Camlp4Ast.patt * Camlp4.Sig.Camlp4Ast.expr ->
Camlp4.Sig.Camlp4Ast.binding
val pel_of_binding :
Camlp4.Sig.Camlp4Ast.binding ->
(Camlp4.Sig.Camlp4Ast.patt * Camlp4.Sig.Camlp4Ast.expr) list
val binding_of_pel :
(Camlp4.Sig.Camlp4Ast.patt * Camlp4.Sig.Camlp4Ast.expr) list ->
Camlp4.Sig.Camlp4Ast.binding
val sum_type_of_list :
(Camlp4.Sig.Loc.t * string * Camlp4.Sig.Camlp4Ast.ctyp list) list ->
Camlp4.Sig.Camlp4Ast.ctyp
val record_type_of_list :
(Camlp4.Sig.Loc.t * string * bool * Camlp4.Sig.Camlp4Ast.ctyp) list ->
Camlp4.Sig.Camlp4Ast.ctyp
end
module Camlp4AstToAst :
functor (M : Camlp4Ast) ->
sig
type loc = M.loc
type meta_bool = M.meta_bool
type 'a meta_option = 'a M.meta_option
type 'a meta_list = 'a M.meta_list
type ctyp = M.ctyp
type patt = M.patt
type expr = M.expr
type module_type = M.module_type
type sig_item = M.sig_item
type with_constr = M.with_constr
type module_expr = M.module_expr
type str_item = M.str_item
type class_type = M.class_type
type class_sig_item = M.class_sig_item
type class_expr = M.class_expr
type class_str_item = M.class_str_item
type match_case = M.match_case
type ident = M.ident
type binding = M.binding
type rec_binding = M.rec_binding
type module_binding = M.module_binding
type rec_flag = M.rec_flag
type direction_flag = M.direction_flag
type mutable_flag = M.mutable_flag
type private_flag = M.private_flag
type virtual_flag = M.virtual_flag
type row_var_flag = M.row_var_flag
type override_flag = M.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option : ('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module MakeCamlp4Ast :
functor (Loc : Type) ->
sig
type loc = Camlp4.Sig.Loc.t
and meta_bool = BTrue | BFalse | BAnt of string
and rec_flag = ReRecursive | ReNil | ReAnt of string
and direction_flag = DiTo | DiDownto | DiAnt of string
and mutable_flag = MuMutable | MuNil | MuAnt of string
and private_flag = PrPrivate | PrNil | PrAnt of string
and virtual_flag = ViVirtual | ViNil | ViAnt of string
and override_flag = OvOverride | OvNil | OvAnt of string
and row_var_flag = RvRowVar | RvNil | RvAnt of string
and 'a meta_option = ONone | OSome of 'a | OAnt of string
and 'a meta_list =
LNil
| LCons of 'a * 'a Camlp4.Sig.MakeCamlp4Ast.meta_list
| LAnt of string
and ident =
IdAcc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ident
| IdApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ident
| IdLid of Camlp4.Sig.MakeCamlp4Ast.loc * string
| IdUid of Camlp4.Sig.MakeCamlp4Ast.loc * string
| IdAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and ctyp =
TyNil of Camlp4.Sig.MakeCamlp4Ast.loc
| TyAli of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyAny of Camlp4.Sig.MakeCamlp4Ast.loc
| TyApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyArr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyCls of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| TyLab of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyId of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| TyMan of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyDcl of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp list *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
(Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp)
list
| TyObj of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
Camlp4.Sig.MakeCamlp4Ast.row_var_flag
| TyOlb of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyPol of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyQuo of Camlp4.Sig.MakeCamlp4Ast.loc * string
| TyQuP of Camlp4.Sig.MakeCamlp4Ast.loc * string
| TyQuM of Camlp4.Sig.MakeCamlp4Ast.loc * string
| TyVrn of Camlp4.Sig.MakeCamlp4Ast.loc * string
| TyRec of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyCol of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TySem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyCom of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TySum of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyOf of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyOr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyPrv of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyMut of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyTup of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TySta of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyVrnEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyVrnSup of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyVrnInf of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyVrnInfSup of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyAmp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyOfAmp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| TyPkg of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_type
| TyAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and patt =
PaNil of Camlp4.Sig.MakeCamlp4Ast.loc
| PaId of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| PaAli of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaAny of Camlp4.Sig.MakeCamlp4Ast.loc
| PaApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaArr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt
| PaCom of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaChr of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaInt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaInt32 of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaInt64 of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaNativeInt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaFlo of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaLab of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.patt
| PaOlb of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.patt
| PaOlbi of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.expr
| PaOrp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaRng of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.patt
| PaRec of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt
| PaEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.patt
| PaStr of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaTup of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt
| PaTyc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.ctyp
| PaTyp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| PaVrn of Camlp4.Sig.MakeCamlp4Ast.loc * string
| PaLaz of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt
and expr =
ExNil of Camlp4.Sig.MakeCamlp4Ast.loc
| ExId of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| ExAcc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExAre of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExArr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExAsf of Camlp4.Sig.MakeCamlp4Ast.loc
| ExAsr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExAss of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExChr of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExCoe of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.ctyp *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| ExFlo of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExFor of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr *
Camlp4.Sig.MakeCamlp4Ast.direction_flag *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExFun of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.match_case
| ExIfe of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExInt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExInt32 of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExInt64 of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExNativeInt of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExLab of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExLaz of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExLet of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_flag *
Camlp4.Sig.MakeCamlp4Ast.binding *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExLmd of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_expr *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExMat of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr *
Camlp4.Sig.MakeCamlp4Ast.match_case
| ExNew of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| ExObj of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt *
Camlp4.Sig.MakeCamlp4Ast.class_str_item
| ExOlb of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExOvr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_binding
| ExRec of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_binding *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExSeq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExSnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * string
| ExSte of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExStr of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExTry of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr *
Camlp4.Sig.MakeCamlp4Ast.match_case
| ExTup of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExCom of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExTyc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.ctyp
| ExVrn of Camlp4.Sig.MakeCamlp4Ast.loc * string
| ExWhi of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.expr
| ExOpI of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.expr
| ExFUN of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr
| ExPkg of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_expr
and module_type =
MtNil of Camlp4.Sig.MakeCamlp4Ast.loc
| MtId of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| MtFun of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type *
Camlp4.Sig.MakeCamlp4Ast.module_type
| MtQuo of Camlp4.Sig.MakeCamlp4Ast.loc * string
| MtSig of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.sig_item
| MtWit of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_type *
Camlp4.Sig.MakeCamlp4Ast.with_constr
| MtAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and sig_item =
SgNil of Camlp4.Sig.MakeCamlp4Ast.loc
| SgCls of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type
| SgClt of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type
| SgSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.sig_item *
Camlp4.Sig.MakeCamlp4Ast.sig_item
| SgDir of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr
| SgExc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| SgExt of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
string Camlp4.Sig.MakeCamlp4Ast.meta_list
| SgInc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_type
| SgMod of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type
| SgRecMod of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_binding
| SgMty of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type
| SgOpn of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| SgTyp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| SgVal of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| SgAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and with_constr =
WcNil of Camlp4.Sig.MakeCamlp4Ast.loc
| WcTyp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| WcMod of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ident
| WcTyS of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| WcMoS of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ident
| WcAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.with_constr *
Camlp4.Sig.MakeCamlp4Ast.with_constr
| WcAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and binding =
BiNil of Camlp4.Sig.MakeCamlp4Ast.loc
| BiAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.binding *
Camlp4.Sig.MakeCamlp4Ast.binding
| BiEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.expr
| BiAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and rec_binding =
RbNil of Camlp4.Sig.MakeCamlp4Ast.loc
| RbSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_binding *
Camlp4.Sig.MakeCamlp4Ast.rec_binding
| RbEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.expr
| RbAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and module_binding =
MbNil of Camlp4.Sig.MakeCamlp4Ast.loc
| MbAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_binding *
Camlp4.Sig.MakeCamlp4Ast.module_binding
| MbColEq of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type *
Camlp4.Sig.MakeCamlp4Ast.module_expr
| MbCol of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type
| MbAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and match_case =
McNil of Camlp4.Sig.MakeCamlp4Ast.loc
| McOr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.match_case *
Camlp4.Sig.MakeCamlp4Ast.match_case
| McArr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt * Camlp4.Sig.MakeCamlp4Ast.expr *
Camlp4.Sig.MakeCamlp4Ast.expr
| McAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and module_expr =
MeNil of Camlp4.Sig.MakeCamlp4Ast.loc
| MeId of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| MeApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_expr *
Camlp4.Sig.MakeCamlp4Ast.module_expr
| MeFun of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type *
Camlp4.Sig.MakeCamlp4Ast.module_expr
| MeStr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.str_item
| MeTyc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_expr *
Camlp4.Sig.MakeCamlp4Ast.module_type
| MePkg of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| MeAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and str_item =
StNil of Camlp4.Sig.MakeCamlp4Ast.loc
| StCls of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_expr
| StClt of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type
| StSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.str_item *
Camlp4.Sig.MakeCamlp4Ast.str_item
| StDir of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.expr
| StExc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
Camlp4.Sig.MakeCamlp4Ast.ident
Camlp4.Sig.MakeCamlp4Ast.meta_option
| StExp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| StExt of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
string Camlp4.Sig.MakeCamlp4Ast.meta_list
| StInc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_expr
| StMod of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_expr
| StRecMod of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.module_binding
| StMty of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.module_type
| StOpn of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ident
| StTyp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| StVal of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_flag *
Camlp4.Sig.MakeCamlp4Ast.binding
| StAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and class_type =
CtNil of Camlp4.Sig.MakeCamlp4Ast.loc
| CtCon of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.virtual_flag *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ctyp
| CtFun of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CtSig of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp *
Camlp4.Sig.MakeCamlp4Ast.class_sig_item
| CtAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CtCol of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CtEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CtAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and class_sig_item =
CgNil of Camlp4.Sig.MakeCamlp4Ast.loc
| CgCtr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| CgSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_sig_item *
Camlp4.Sig.MakeCamlp4Ast.class_sig_item
| CgInh of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CgMth of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.private_flag *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| CgVal of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.mutable_flag *
Camlp4.Sig.MakeCamlp4Ast.virtual_flag *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| CgVir of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.private_flag *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| CgAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and class_expr =
CeNil of Camlp4.Sig.MakeCamlp4Ast.loc
| CeApp of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_expr *
Camlp4.Sig.MakeCamlp4Ast.expr
| CeCon of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.virtual_flag *
Camlp4.Sig.MakeCamlp4Ast.ident * Camlp4.Sig.MakeCamlp4Ast.ctyp
| CeFun of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt *
Camlp4.Sig.MakeCamlp4Ast.class_expr
| CeLet of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.rec_flag *
Camlp4.Sig.MakeCamlp4Ast.binding *
Camlp4.Sig.MakeCamlp4Ast.class_expr
| CeStr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.patt *
Camlp4.Sig.MakeCamlp4Ast.class_str_item
| CeTyc of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_expr *
Camlp4.Sig.MakeCamlp4Ast.class_type
| CeAnd of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_expr *
Camlp4.Sig.MakeCamlp4Ast.class_expr
| CeEq of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_expr *
Camlp4.Sig.MakeCamlp4Ast.class_expr
| CeAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
and class_str_item =
CrNil of Camlp4.Sig.MakeCamlp4Ast.loc
| CrSem of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.class_str_item *
Camlp4.Sig.MakeCamlp4Ast.class_str_item
| CrCtr of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.ctyp * Camlp4.Sig.MakeCamlp4Ast.ctyp
| CrInh of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.override_flag *
Camlp4.Sig.MakeCamlp4Ast.class_expr * string
| CrIni of Camlp4.Sig.MakeCamlp4Ast.loc *
Camlp4.Sig.MakeCamlp4Ast.expr
| CrMth of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.override_flag *
Camlp4.Sig.MakeCamlp4Ast.private_flag *
Camlp4.Sig.MakeCamlp4Ast.expr * Camlp4.Sig.MakeCamlp4Ast.ctyp
| CrVal of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.override_flag *
Camlp4.Sig.MakeCamlp4Ast.mutable_flag *
Camlp4.Sig.MakeCamlp4Ast.expr
| CrVir of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.private_flag *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| CrVvr of Camlp4.Sig.MakeCamlp4Ast.loc * string *
Camlp4.Sig.MakeCamlp4Ast.mutable_flag *
Camlp4.Sig.MakeCamlp4Ast.ctyp
| CrAnt of Camlp4.Sig.MakeCamlp4Ast.loc * string
end
type ('a, 'b) stream_filter = ('a * 'b) Stream.t -> ('a * 'b) Stream.t
module type AstFilters =
sig
module Ast : Camlp4Ast
type 'a filter = 'a -> 'a
val register_sig_item_filter :
Camlp4.Sig.Ast.sig_item Camlp4.Sig.AstFilters.filter -> unit
val register_str_item_filter :
Camlp4.Sig.Ast.str_item Camlp4.Sig.AstFilters.filter -> unit
val register_topphrase_filter :
Camlp4.Sig.Ast.str_item Camlp4.Sig.AstFilters.filter -> unit
val fold_interf_filters :
('a -> Camlp4.Sig.Ast.sig_item Camlp4.Sig.AstFilters.filter -> 'a) ->
'a -> 'a
val fold_implem_filters :
('a -> Camlp4.Sig.Ast.str_item Camlp4.Sig.AstFilters.filter -> 'a) ->
'a -> 'a
val fold_topphrase_filters :
('a -> Camlp4.Sig.Ast.str_item Camlp4.Sig.AstFilters.filter -> 'a) ->
'a -> 'a
end
module type DynAst =
sig
module Ast : Ast
type 'a tag
val ctyp_tag : Camlp4.Sig.Ast.ctyp Camlp4.Sig.DynAst.tag
val patt_tag : Camlp4.Sig.Ast.patt Camlp4.Sig.DynAst.tag
val expr_tag : Camlp4.Sig.Ast.expr Camlp4.Sig.DynAst.tag
val module_type_tag : Camlp4.Sig.Ast.module_type Camlp4.Sig.DynAst.tag
val sig_item_tag : Camlp4.Sig.Ast.sig_item Camlp4.Sig.DynAst.tag
val with_constr_tag : Camlp4.Sig.Ast.with_constr Camlp4.Sig.DynAst.tag
val module_expr_tag : Camlp4.Sig.Ast.module_expr Camlp4.Sig.DynAst.tag
val str_item_tag : Camlp4.Sig.Ast.str_item Camlp4.Sig.DynAst.tag
val class_type_tag : Camlp4.Sig.Ast.class_type Camlp4.Sig.DynAst.tag
val class_sig_item_tag :
Camlp4.Sig.Ast.class_sig_item Camlp4.Sig.DynAst.tag
val class_expr_tag : Camlp4.Sig.Ast.class_expr Camlp4.Sig.DynAst.tag
val class_str_item_tag :
Camlp4.Sig.Ast.class_str_item Camlp4.Sig.DynAst.tag
val match_case_tag : Camlp4.Sig.Ast.match_case Camlp4.Sig.DynAst.tag
val ident_tag : Camlp4.Sig.Ast.ident Camlp4.Sig.DynAst.tag
val binding_tag : Camlp4.Sig.Ast.binding Camlp4.Sig.DynAst.tag
val rec_binding_tag : Camlp4.Sig.Ast.rec_binding Camlp4.Sig.DynAst.tag
val module_binding_tag :
Camlp4.Sig.Ast.module_binding Camlp4.Sig.DynAst.tag
val string_of_tag : 'a Camlp4.Sig.DynAst.tag -> string
module Pack :
functor (X : sig type 'a t end) ->
sig
type pack
val pack :
'a Camlp4.Sig.DynAst.tag ->
'a X.t -> Camlp4.Sig.DynAst.Pack.pack
val unpack :
'a Camlp4.Sig.DynAst.tag ->
Camlp4.Sig.DynAst.Pack.pack -> 'a X.t
val print_tag :
Format.formatter -> Camlp4.Sig.DynAst.Pack.pack -> unit
end
end
type quotation = {
q_name : string;
q_loc : string;
q_shift : int;
q_contents : string;
}
module type Quotation =
sig
module Ast : Ast
module DynAst :
sig
module Ast :
sig
type loc = Ast.loc
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
type 'a tag
val ctyp_tag : Ast.ctyp tag
val patt_tag : Ast.patt tag
val expr_tag : Ast.expr tag
val module_type_tag : Ast.module_type tag
val sig_item_tag : Ast.sig_item tag
val with_constr_tag : Ast.with_constr tag
val module_expr_tag : Ast.module_expr tag
val str_item_tag : Ast.str_item tag
val class_type_tag : Ast.class_type tag
val class_sig_item_tag : Ast.class_sig_item tag
val class_expr_tag : Ast.class_expr tag
val class_str_item_tag : Ast.class_str_item tag
val match_case_tag : Ast.match_case tag
val ident_tag : Ast.ident tag
val binding_tag : Ast.binding tag
val rec_binding_tag : Ast.rec_binding tag
val module_binding_tag : Ast.module_binding tag
val string_of_tag : 'a tag -> string
module Pack :
functor (X : sig type 'a t end) ->
sig
type pack
val pack : 'a tag -> 'a X.t -> pack
val unpack : 'a tag -> pack -> 'a X.t
val print_tag : Format.formatter -> pack -> unit
end
end
type 'a expand_fun =
Camlp4.Sig.Ast.loc -> string option -> string -> 'a
val add :
string ->
'a Camlp4.Sig.Quotation.DynAst.tag ->
'a Camlp4.Sig.Quotation.expand_fun -> unit
val find :
string ->
'a Camlp4.Sig.Quotation.DynAst.tag ->
'a Camlp4.Sig.Quotation.expand_fun
val default : string Pervasives.ref
val parse_quotation_result :
(Camlp4.Sig.Ast.loc -> string -> 'a) ->
Camlp4.Sig.Ast.loc -> Camlp4.Sig.quotation -> string -> string -> 'a
val translate : (string -> string) Pervasives.ref
val expand :
Camlp4.Sig.Ast.loc ->
Camlp4.Sig.quotation -> 'a Camlp4.Sig.Quotation.DynAst.tag -> 'a
val dump_file : string option Pervasives.ref
module Error : Error
end
module type Token =
sig
module Loc : Loc
type t
val to_string : Camlp4.Sig.Token.t -> string
val print : Format.formatter -> Camlp4.Sig.Token.t -> unit
val match_keyword : string -> Camlp4.Sig.Token.t -> bool
val extract_string : Camlp4.Sig.Token.t -> string
module Filter :
sig
type token_filter =
(Camlp4.Sig.Token.t, Camlp4.Sig.Loc.t) Camlp4.Sig.stream_filter
type t
val mk : (string -> bool) -> Camlp4.Sig.Token.Filter.t
val define_filter :
Camlp4.Sig.Token.Filter.t ->
(Camlp4.Sig.Token.Filter.token_filter ->
Camlp4.Sig.Token.Filter.token_filter) ->
unit
val filter :
Camlp4.Sig.Token.Filter.t -> Camlp4.Sig.Token.Filter.token_filter
val keyword_added :
Camlp4.Sig.Token.Filter.t -> string -> bool -> unit
val keyword_removed : Camlp4.Sig.Token.Filter.t -> string -> unit
end
module Error : Error
end
type camlp4_token =
KEYWORD of string
| SYMBOL of string
| LIDENT of string
| UIDENT of string
| ESCAPED_IDENT of string
| INT of int * string
| INT32 of int32 * string
| INT64 of int64 * string
| NATIVEINT of nativeint * string
| FLOAT of float * string
| CHAR of char * string
| STRING of string * string
| LABEL of string
| OPTLABEL of string
| QUOTATION of Camlp4.Sig.quotation
| ANTIQUOT of string * string
| COMMENT of string
| BLANKS of string
| NEWLINE
| LINE_DIRECTIVE of int * string option
| EOI
module type Camlp4Token =
sig
module Loc : Loc
type t = 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) stream_filter
type 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 : Error
end
module type DynLoader =
sig
type t
exception Error of string * string
val mk :
?ocaml_stdlib:bool ->
?camlp4_stdlib:bool -> unit -> Camlp4.Sig.DynLoader.t
val fold_load_path :
Camlp4.Sig.DynLoader.t -> (string -> 'a -> 'a) -> 'a -> 'a
val load : Camlp4.Sig.DynLoader.t -> string -> unit
val include_dir : Camlp4.Sig.DynLoader.t -> string -> unit
val find_in_path : Camlp4.Sig.DynLoader.t -> string -> string
val is_native : bool
end
module Grammar :
sig
module type Action =
sig
type t
val mk : 'a -> Camlp4.Sig.Grammar.Action.t
val get : Camlp4.Sig.Grammar.Action.t -> 'a
val getf : Camlp4.Sig.Grammar.Action.t -> 'a -> 'b
val getf2 : Camlp4.Sig.Grammar.Action.t -> 'a -> 'b -> 'c
end
type assoc = NonA | RightA | LeftA
type position =
First
| Last
| Before of string
| After of string
| Level of string
module type Structure =
sig
module Loc : Loc
module Action : Action
module Token :
sig
module Loc :
sig
type t = 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
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) stream_filter
type 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 : Error
end
type gram
type internal_entry
type tree
type token_pattern =
(Camlp4.Sig.Grammar.Structure.Token.t -> bool) * string
type token_info
type token_stream =
(Camlp4.Sig.Grammar.Structure.Token.t *
Camlp4.Sig.Grammar.Structure.token_info)
Stream.t
val token_location :
Camlp4.Sig.Grammar.Structure.token_info -> Camlp4.Sig.Loc.t
type symbol =
Smeta of string * Camlp4.Sig.Grammar.Structure.symbol list *
Camlp4.Sig.Grammar.Action.t
| Snterm of Camlp4.Sig.Grammar.Structure.internal_entry
| Snterml of Camlp4.Sig.Grammar.Structure.internal_entry * string
| Slist0 of Camlp4.Sig.Grammar.Structure.symbol
| Slist0sep of Camlp4.Sig.Grammar.Structure.symbol *
Camlp4.Sig.Grammar.Structure.symbol
| Slist1 of Camlp4.Sig.Grammar.Structure.symbol
| Slist1sep of Camlp4.Sig.Grammar.Structure.symbol *
Camlp4.Sig.Grammar.Structure.symbol
| Sopt of Camlp4.Sig.Grammar.Structure.symbol
| Stry of Camlp4.Sig.Grammar.Structure.symbol
| Sself
| Snext
| Stoken of Camlp4.Sig.Grammar.Structure.token_pattern
| Skeyword of string
| Stree of Camlp4.Sig.Grammar.Structure.tree
type production_rule =
Camlp4.Sig.Grammar.Structure.symbol list *
Camlp4.Sig.Grammar.Action.t
type single_extend_statment =
string option * Camlp4.Sig.Grammar.assoc option *
Camlp4.Sig.Grammar.Structure.production_rule list
type extend_statment =
Camlp4.Sig.Grammar.position option *
Camlp4.Sig.Grammar.Structure.single_extend_statment list
type delete_statment = Camlp4.Sig.Grammar.Structure.symbol list
type ('a, 'b, 'c) fold =
Camlp4.Sig.Grammar.Structure.internal_entry ->
Camlp4.Sig.Grammar.Structure.symbol list ->
('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
Camlp4.Sig.Grammar.Structure.internal_entry ->
Camlp4.Sig.Grammar.Structure.symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
end
module type Dynamic =
sig
module Loc : Loc
module Action : Action
module Token :
sig
module Loc :
sig
type t = 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
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) stream_filter
type 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 : Error
end
type gram
type internal_entry
type tree
type token_pattern = (Token.t -> bool) * string
type token_info
type token_stream = (Token.t * token_info) Stream.t
val token_location : token_info -> Loc.t
type symbol =
Smeta of string * symbol list * Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Action.t
type single_extend_statment =
string option * assoc option * production_rule list
type extend_statment =
position option * single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold =
internal_entry ->
symbol list -> ('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
internal_entry ->
symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
val mk : unit -> gram
module Entry :
sig
type 'a t
val mk :
gram -> string -> 'a Camlp4.Sig.Grammar.Dynamic.Entry.t
val of_parser :
gram ->
string ->
(token_stream -> 'a) -> 'a Camlp4.Sig.Grammar.Dynamic.Entry.t
val setup_parser :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t ->
(token_stream -> 'a) -> unit
val name : 'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> string
val print :
Format.formatter ->
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> unit
val dump :
Format.formatter ->
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> unit
val obj :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> internal_entry
val clear : 'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> unit
end
val get_filter : gram -> Camlp4.Sig.Token.Filter.t
type 'a not_filtered
val extend :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> extend_statment -> unit
val delete_rule :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> delete_statment -> unit
val srules :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t ->
(symbol list * Camlp4.Sig.Grammar.Action.t) list -> symbol
val sfold0 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold1 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold0sep : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) foldsep
val lex :
gram ->
Camlp4.Sig.Loc.t ->
char Stream.t ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Dynamic.not_filtered
val lex_string :
gram ->
Camlp4.Sig.Loc.t ->
string ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Dynamic.not_filtered
val filter :
gram ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Dynamic.not_filtered -> token_stream
val parse :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t ->
Camlp4.Sig.Loc.t -> char Stream.t -> 'a
val parse_string :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t ->
Camlp4.Sig.Loc.t -> string -> 'a
val parse_tokens_before_filter :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Dynamic.not_filtered -> 'a
val parse_tokens_after_filter :
'a Camlp4.Sig.Grammar.Dynamic.Entry.t -> token_stream -> 'a
end
module type Static =
sig
module Loc : Loc
module Action : Action
module Token :
sig
module Loc :
sig
type t = 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
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) stream_filter
type 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 : Error
end
type gram
type internal_entry
type tree
type token_pattern = (Token.t -> bool) * string
type token_info
type token_stream = (Token.t * token_info) Stream.t
val token_location : token_info -> Loc.t
type symbol =
Smeta of string * symbol list * Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Action.t
type single_extend_statment =
string option * assoc option * production_rule list
type extend_statment =
position option * single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold =
internal_entry ->
symbol list -> ('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
internal_entry ->
symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
module Entry :
sig
type 'a t
val mk : string -> 'a Camlp4.Sig.Grammar.Static.Entry.t
val of_parser :
string ->
(token_stream -> 'a) -> 'a Camlp4.Sig.Grammar.Static.Entry.t
val setup_parser :
'a Camlp4.Sig.Grammar.Static.Entry.t ->
(token_stream -> 'a) -> unit
val name : 'a Camlp4.Sig.Grammar.Static.Entry.t -> string
val print :
Format.formatter ->
'a Camlp4.Sig.Grammar.Static.Entry.t -> unit
val dump :
Format.formatter ->
'a Camlp4.Sig.Grammar.Static.Entry.t -> unit
val obj :
'a Camlp4.Sig.Grammar.Static.Entry.t -> internal_entry
val clear : 'a Camlp4.Sig.Grammar.Static.Entry.t -> unit
end
val get_filter : unit -> Camlp4.Sig.Token.Filter.t
type 'a not_filtered
val extend :
'a Camlp4.Sig.Grammar.Static.Entry.t -> extend_statment -> unit
val delete_rule :
'a Camlp4.Sig.Grammar.Static.Entry.t -> delete_statment -> unit
val srules :
'a Camlp4.Sig.Grammar.Static.Entry.t ->
(symbol list * Camlp4.Sig.Grammar.Action.t) list -> symbol
val sfold0 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold1 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold0sep : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) foldsep
val lex :
Camlp4.Sig.Loc.t ->
char Stream.t ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Static.not_filtered
val lex_string :
Camlp4.Sig.Loc.t ->
string ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Static.not_filtered
val filter :
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Static.not_filtered -> token_stream
val parse :
'a Camlp4.Sig.Grammar.Static.Entry.t ->
Camlp4.Sig.Loc.t -> char Stream.t -> 'a
val parse_string :
'a Camlp4.Sig.Grammar.Static.Entry.t ->
Camlp4.Sig.Loc.t -> string -> 'a
val parse_tokens_before_filter :
'a Camlp4.Sig.Grammar.Static.Entry.t ->
(Camlp4.Sig.Token.t * Camlp4.Sig.Loc.t) Stream.t
Camlp4.Sig.Grammar.Static.not_filtered -> 'a
val parse_tokens_after_filter :
'a Camlp4.Sig.Grammar.Static.Entry.t -> token_stream -> 'a
end
end
module type Lexer =
sig
module Loc : Loc
module Token :
sig
module Loc :
sig
type t = 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
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) stream_filter
type 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 : Error
end
module Error : Error
val mk :
unit ->
Camlp4.Sig.Loc.t ->
char Stream.t ->
(Camlp4.Sig.Lexer.Token.t * Camlp4.Sig.Loc.t) Stream.t
end
module Parser :
functor (Ast : Ast) ->
sig
module type SIMPLE =
sig
val parse_expr :
Camlp4.Sig.Ast.loc -> string -> Camlp4.Sig.Ast.expr
val parse_patt :
Camlp4.Sig.Ast.loc -> string -> Camlp4.Sig.Ast.patt
end
module type S =
sig
val parse_implem :
?directive_handler:(Camlp4.Sig.Ast.str_item ->
Camlp4.Sig.Ast.str_item option) ->
Camlp4.Sig.Ast.loc -> char Stream.t -> Camlp4.Sig.Ast.str_item
val parse_interf :
?directive_handler:(Camlp4.Sig.Ast.sig_item ->
Camlp4.Sig.Ast.sig_item option) ->
Camlp4.Sig.Ast.loc -> char Stream.t -> Camlp4.Sig.Ast.sig_item
end
end
module Printer :
functor (Ast : Ast) ->
sig
module type S =
sig
val print_interf :
?input_file:string ->
?output_file:string -> Camlp4.Sig.Ast.sig_item -> unit
val print_implem :
?input_file:string ->
?output_file:string -> Camlp4.Sig.Ast.str_item -> unit
end
end
module type Syntax =
sig
module Loc : Loc
module Ast :
sig
type loc = Loc.t
type meta_bool
type 'a meta_option
type 'a meta_list
type ctyp
type patt
type expr
type module_type
type sig_item
type with_constr
type module_expr
type str_item
type class_type
type class_sig_item
type class_expr
type class_str_item
type match_case
type ident
type binding
type rec_binding
type module_binding
type rec_flag
type direction_flag
type mutable_flag
type private_flag
type virtual_flag
type row_var_flag
type override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option : ('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module Token :
sig
module Loc :
sig
type t = 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
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) stream_filter
type 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 : Error
end
module Gram :
sig
module Loc :
sig
type t = 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 Action : Grammar.Action
module Token :
sig
module Loc :
sig
type t = 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 = Token.t
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) 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
type gram
type internal_entry
type tree
type token_pattern = (Token.t -> bool) * string
type token_info
type token_stream = (Token.t * token_info) Stream.t
val token_location : token_info -> Loc.t
type symbol =
Smeta of string * symbol list * Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Action.t
type single_extend_statment =
string option * Grammar.assoc option * production_rule list
type extend_statment =
Grammar.position option * single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold =
internal_entry ->
symbol list -> ('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
internal_entry ->
symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
module Entry :
sig
type 'a t
val mk : string -> 'a t
val of_parser : string -> (token_stream -> 'a) -> 'a t
val setup_parser : 'a t -> (token_stream -> 'a) -> unit
val name : 'a t -> string
val print : Format.formatter -> 'a t -> unit
val dump : Format.formatter -> 'a t -> unit
val obj : 'a t -> internal_entry
val clear : 'a t -> unit
end
val get_filter : unit -> Token.Filter.t
type 'a not_filtered
val extend : 'a Entry.t -> extend_statment -> unit
val delete_rule : 'a Entry.t -> delete_statment -> unit
val srules : 'a Entry.t -> (symbol list * Action.t) list -> symbol
val sfold0 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold1 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold0sep : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) foldsep
val lex :
Loc.t -> char Stream.t -> (Token.t * Loc.t) Stream.t not_filtered
val lex_string :
Loc.t -> string -> (Token.t * Loc.t) Stream.t not_filtered
val filter :
(Token.t * Loc.t) Stream.t not_filtered -> token_stream
val parse : 'a Entry.t -> Loc.t -> char Stream.t -> 'a
val parse_string : 'a Entry.t -> Loc.t -> string -> 'a
val parse_tokens_before_filter :
'a Entry.t -> (Token.t * Loc.t) Stream.t not_filtered -> 'a
val parse_tokens_after_filter : 'a Entry.t -> token_stream -> 'a
end
module Quotation :
sig
module Ast :
sig
type loc = Loc.t
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module DynAst :
sig
module Ast :
sig
type loc = Ast.loc
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item :
class_sig_item -> class_sig_item
method class_str_item :
class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag :
direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding :
module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list :
('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
type 'a tag
val ctyp_tag : Ast.ctyp tag
val patt_tag : Ast.patt tag
val expr_tag : Ast.expr tag
val module_type_tag : Ast.module_type tag
val sig_item_tag : Ast.sig_item tag
val with_constr_tag : Ast.with_constr tag
val module_expr_tag : Ast.module_expr tag
val str_item_tag : Ast.str_item tag
val class_type_tag : Ast.class_type tag
val class_sig_item_tag : Ast.class_sig_item tag
val class_expr_tag : Ast.class_expr tag
val class_str_item_tag : Ast.class_str_item tag
val match_case_tag : Ast.match_case tag
val ident_tag : Ast.ident tag
val binding_tag : Ast.binding tag
val rec_binding_tag : Ast.rec_binding tag
val module_binding_tag : Ast.module_binding tag
val string_of_tag : 'a tag -> string
module Pack :
functor (X : sig type 'a t end) ->
sig
type pack
val pack : 'a tag -> 'a X.t -> pack
val unpack : 'a tag -> pack -> 'a X.t
val print_tag : Format.formatter -> pack -> unit
end
end
type 'a expand_fun = Ast.loc -> string option -> string -> 'a
val add : string -> 'a DynAst.tag -> 'a expand_fun -> unit
val find : string -> 'a DynAst.tag -> 'a expand_fun
val default : string ref
val parse_quotation_result :
(Ast.loc -> string -> 'a) ->
Ast.loc -> quotation -> string -> string -> 'a
val translate : (string -> string) ref
val expand : Ast.loc -> quotation -> 'a DynAst.tag -> 'a
val dump_file : string option ref
module Error : Error
end
module AntiquotSyntax : Parser(Ast).SIMPLE
type warning = Loc.t -> string -> unit
val default_warning : warning
val current_warning : warning ref
val print_warning : warning
val parse_implem :
?directive_handler:(Ast.str_item -> Ast.str_item option) ->
Ast.loc -> char Stream.t -> Ast.str_item
val parse_interf :
?directive_handler:(Ast.sig_item -> Ast.sig_item option) ->
Ast.loc -> char Stream.t -> Ast.sig_item
val print_interf :
?input_file:string -> ?output_file:string -> Ast.sig_item -> unit
val print_implem :
?input_file:string -> ?output_file:string -> Ast.str_item -> unit
end
module type Camlp4Syntax =
sig
module Loc : Loc
module Ast :
sig
module Loc :
sig
type t = 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 loc = Loc.t
and meta_bool = BTrue | BFalse | BAnt of string
and rec_flag = ReRecursive | ReNil | ReAnt of string
and direction_flag = DiTo | DiDownto | DiAnt of string
and mutable_flag = MuMutable | MuNil | MuAnt of string
and private_flag = PrPrivate | PrNil | PrAnt of string
and virtual_flag = ViVirtual | ViNil | ViAnt of string
and override_flag = OvOverride | OvNil | OvAnt of string
and row_var_flag = RvRowVar | RvNil | RvAnt of string
and 'a meta_option = ONone | OSome of 'a | OAnt of string
and 'a meta_list =
LNil
| LCons of 'a * 'a meta_list
| LAnt of string
and ident =
IdAcc of loc * ident * ident
| IdApp of loc * ident * ident
| IdLid of loc * string
| IdUid of loc * string
| IdAnt of loc * string
and ctyp =
TyNil of loc
| TyAli of loc * ctyp * ctyp
| TyAny of loc
| TyApp of loc * ctyp * ctyp
| TyArr of loc * ctyp * ctyp
| TyCls of loc * ident
| TyLab of loc * string * ctyp
| TyId of loc * ident
| TyMan of loc * ctyp * ctyp
| TyDcl of loc * string * ctyp list * ctyp * (ctyp * ctyp) list
| TyObj of loc * ctyp * row_var_flag
| TyOlb of loc * string * ctyp
| TyPol of loc * ctyp * ctyp
| TyQuo of loc * string
| TyQuP of loc * string
| TyQuM of loc * string
| TyVrn of loc * string
| TyRec of loc * ctyp
| TyCol of loc * ctyp * ctyp
| TySem of loc * ctyp * ctyp
| TyCom of loc * ctyp * ctyp
| TySum of loc * ctyp
| TyOf of loc * ctyp * ctyp
| TyAnd of loc * ctyp * ctyp
| TyOr of loc * ctyp * ctyp
| TyPrv of loc * ctyp
| TyMut of loc * ctyp
| TyTup of loc * ctyp
| TySta of loc * ctyp * ctyp
| TyVrnEq of loc * ctyp
| TyVrnSup of loc * ctyp
| TyVrnInf of loc * ctyp
| TyVrnInfSup of loc * ctyp * ctyp
| TyAmp of loc * ctyp * ctyp
| TyOfAmp of loc * ctyp * ctyp
| TyPkg of loc * module_type
| TyAnt of loc * string
and patt =
PaNil of loc
| PaId of loc * ident
| PaAli of loc * patt * patt
| PaAnt of loc * string
| PaAny of loc
| PaApp of loc * patt * patt
| PaArr of loc * patt
| PaCom of loc * patt * patt
| PaSem of loc * patt * patt
| PaChr of loc * string
| PaInt of loc * string
| PaInt32 of loc * string
| PaInt64 of loc * string
| PaNativeInt of loc * string
| PaFlo of loc * string
| PaLab of loc * string * patt
| PaOlb of loc * string * patt
| PaOlbi of loc * string * patt * expr
| PaOrp of loc * patt * patt
| PaRng of loc * patt * patt
| PaRec of loc * patt
| PaEq of loc * ident * patt
| PaStr of loc * string
| PaTup of loc * patt
| PaTyc of loc * patt * ctyp
| PaTyp of loc * ident
| PaVrn of loc * string
| PaLaz of loc * patt
and expr =
ExNil of loc
| ExId of loc * ident
| ExAcc of loc * expr * expr
| ExAnt of loc * string
| ExApp of loc * expr * expr
| ExAre of loc * expr * expr
| ExArr of loc * expr
| ExSem of loc * expr * expr
| ExAsf of loc
| ExAsr of loc * expr
| ExAss of loc * expr * expr
| ExChr of loc * string
| ExCoe of loc * expr * ctyp * ctyp
| ExFlo of loc * string
| ExFor of loc * string * expr * expr * direction_flag * expr
| ExFun of loc * match_case
| ExIfe of loc * expr * expr * expr
| ExInt of loc * string
| ExInt32 of loc * string
| ExInt64 of loc * string
| ExNativeInt of loc * string
| ExLab of loc * string * expr
| ExLaz of loc * expr
| ExLet of loc * rec_flag * binding * expr
| ExLmd of loc * string * module_expr * expr
| ExMat of loc * expr * match_case
| ExNew of loc * ident
| ExObj of loc * patt * class_str_item
| ExOlb of loc * string * expr
| ExOvr of loc * rec_binding
| ExRec of loc * rec_binding * expr
| ExSeq of loc * expr
| ExSnd of loc * expr * string
| ExSte of loc * expr * expr
| ExStr of loc * string
| ExTry of loc * expr * match_case
| ExTup of loc * expr
| ExCom of loc * expr * expr
| ExTyc of loc * expr * ctyp
| ExVrn of loc * string
| ExWhi of loc * expr * expr
| ExOpI of loc * ident * expr
| ExFUN of loc * string * expr
| ExPkg of loc * module_expr
and module_type =
MtNil of loc
| MtId of loc * ident
| MtFun of loc * string * module_type * module_type
| MtQuo of loc * string
| MtSig of loc * sig_item
| MtWit of loc * module_type * with_constr
| MtAnt of loc * string
and sig_item =
SgNil of loc
| SgCls of loc * class_type
| SgClt of loc * class_type
| SgSem of loc * sig_item * sig_item
| SgDir of loc * string * expr
| SgExc of loc * ctyp
| SgExt of loc * string * ctyp * string meta_list
| SgInc of loc * module_type
| SgMod of loc * string * module_type
| SgRecMod of loc * module_binding
| SgMty of loc * string * module_type
| SgOpn of loc * ident
| SgTyp of loc * ctyp
| SgVal of loc * string * ctyp
| SgAnt of loc * string
and with_constr =
WcNil of loc
| WcTyp of loc * ctyp * ctyp
| WcMod of loc * ident * ident
| WcTyS of loc * ctyp * ctyp
| WcMoS of loc * ident * ident
| WcAnd of loc * with_constr * with_constr
| WcAnt of loc * string
and binding =
BiNil of loc
| BiAnd of loc * binding * binding
| BiEq of loc * patt * expr
| BiAnt of loc * string
and rec_binding =
RbNil of loc
| RbSem of loc * rec_binding * rec_binding
| RbEq of loc * ident * expr
| RbAnt of loc * string
and module_binding =
MbNil of loc
| MbAnd of loc * module_binding * module_binding
| MbColEq of loc * string * module_type * module_expr
| MbCol of loc * string * module_type
| MbAnt of loc * string
and match_case =
McNil of loc
| McOr of loc * match_case * match_case
| McArr of loc * patt * expr * expr
| McAnt of loc * string
and module_expr =
MeNil of loc
| MeId of loc * ident
| MeApp of loc * module_expr * module_expr
| MeFun of loc * string * module_type * module_expr
| MeStr of loc * str_item
| MeTyc of loc * module_expr * module_type
| MePkg of loc * expr
| MeAnt of loc * string
and str_item =
StNil of loc
| StCls of loc * class_expr
| StClt of loc * class_type
| StSem of loc * str_item * str_item
| StDir of loc * string * expr
| StExc of loc * ctyp * ident meta_option
| StExp of loc * expr
| StExt of loc * string * ctyp * string meta_list
| StInc of loc * module_expr
| StMod of loc * string * module_expr
| StRecMod of loc * module_binding
| StMty of loc * string * module_type
| StOpn of loc * ident
| StTyp of loc * ctyp
| StVal of loc * rec_flag * binding
| StAnt of loc * string
and class_type =
CtNil of loc
| CtCon of loc * virtual_flag * ident * ctyp
| CtFun of loc * ctyp * class_type
| CtSig of loc * ctyp * class_sig_item
| CtAnd of loc * class_type * class_type
| CtCol of loc * class_type * class_type
| CtEq of loc * class_type * class_type
| CtAnt of loc * string
and class_sig_item =
CgNil of loc
| CgCtr of loc * ctyp * ctyp
| CgSem of loc * class_sig_item * class_sig_item
| CgInh of loc * class_type
| CgMth of loc * string * private_flag * ctyp
| CgVal of loc * string * mutable_flag * virtual_flag * ctyp
| CgVir of loc * string * private_flag * ctyp
| CgAnt of loc * string
and class_expr =
CeNil of loc
| CeApp of loc * class_expr * expr
| CeCon of loc * virtual_flag * ident * ctyp
| CeFun of loc * patt * class_expr
| CeLet of loc * rec_flag * binding * class_expr
| CeStr of loc * patt * class_str_item
| CeTyc of loc * class_expr * class_type
| CeAnd of loc * class_expr * class_expr
| CeEq of loc * class_expr * class_expr
| CeAnt of loc * string
and class_str_item =
CrNil of loc
| CrSem of loc * class_str_item * class_str_item
| CrCtr of loc * ctyp * ctyp
| CrInh of loc * override_flag * class_expr * string
| CrIni of loc * expr
| CrMth of loc * string * override_flag * private_flag *
expr * ctyp
| CrVal of loc * string * override_flag * mutable_flag * expr
| CrVir of loc * string * private_flag * ctyp
| CrVvr of loc * string * mutable_flag * ctyp
| CrAnt of loc * string
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
module Meta :
sig
module type META_LOC =
sig
val meta_loc_patt : loc -> loc -> patt
val meta_loc_expr : loc -> loc -> expr
end
module MetaLoc :
sig
val meta_loc_patt : loc -> loc -> patt
val meta_loc_expr : loc -> loc -> expr
end
module MetaGhostLoc :
sig
val meta_loc_patt : loc -> 'a -> patt
val meta_loc_expr : loc -> 'a -> expr
end
module MetaLocVar :
sig
val meta_loc_patt : loc -> 'a -> patt
val meta_loc_expr : loc -> 'a -> expr
end
module Make :
functor (MetaLoc : META_LOC) ->
sig
module Expr :
sig
val meta_string : loc -> string -> expr
val meta_int : loc -> string -> expr
val meta_float : loc -> string -> expr
val meta_char : loc -> string -> expr
val meta_bool : loc -> bool -> expr
val meta_list :
(loc -> 'a -> expr) -> loc -> 'a list -> expr
val meta_binding : loc -> binding -> expr
val meta_rec_binding : loc -> rec_binding -> expr
val meta_class_expr : loc -> class_expr -> expr
val meta_class_sig_item :
loc -> class_sig_item -> expr
val meta_class_str_item :
loc -> class_str_item -> expr
val meta_class_type : loc -> class_type -> expr
val meta_ctyp : loc -> ctyp -> expr
val meta_expr : loc -> expr -> expr
val meta_ident : loc -> ident -> expr
val meta_match_case : loc -> match_case -> expr
val meta_module_binding :
loc -> module_binding -> expr
val meta_module_expr : loc -> module_expr -> expr
val meta_module_type : loc -> module_type -> expr
val meta_patt : loc -> patt -> expr
val meta_sig_item : loc -> sig_item -> expr
val meta_str_item : loc -> str_item -> expr
val meta_with_constr : loc -> with_constr -> expr
val meta_rec_flag : loc -> rec_flag -> expr
val meta_mutable_flag : loc -> mutable_flag -> expr
val meta_virtual_flag : loc -> virtual_flag -> expr
val meta_private_flag : loc -> private_flag -> expr
val meta_row_var_flag : loc -> row_var_flag -> expr
val meta_override_flag : loc -> override_flag -> expr
val meta_direction_flag :
loc -> direction_flag -> expr
end
module Patt :
sig
val meta_string : loc -> string -> patt
val meta_int : loc -> string -> patt
val meta_float : loc -> string -> patt
val meta_char : loc -> string -> patt
val meta_bool : loc -> bool -> patt
val meta_list :
(loc -> 'a -> patt) -> loc -> 'a list -> patt
val meta_binding : loc -> binding -> patt
val meta_rec_binding : loc -> rec_binding -> patt
val meta_class_expr : loc -> class_expr -> patt
val meta_class_sig_item :
loc -> class_sig_item -> patt
val meta_class_str_item :
loc -> class_str_item -> patt
val meta_class_type : loc -> class_type -> patt
val meta_ctyp : loc -> ctyp -> patt
val meta_expr : loc -> expr -> patt
val meta_ident : loc -> ident -> patt
val meta_match_case : loc -> match_case -> patt
val meta_module_binding :
loc -> module_binding -> patt
val meta_module_expr : loc -> module_expr -> patt
val meta_module_type : loc -> module_type -> patt
val meta_patt : loc -> patt -> patt
val meta_sig_item : loc -> sig_item -> patt
val meta_str_item : loc -> str_item -> patt
val meta_with_constr : loc -> with_constr -> patt
val meta_rec_flag : loc -> rec_flag -> patt
val meta_mutable_flag : loc -> mutable_flag -> patt
val meta_virtual_flag : loc -> virtual_flag -> patt
val meta_private_flag : loc -> private_flag -> patt
val meta_row_var_flag : loc -> row_var_flag -> patt
val meta_override_flag : loc -> override_flag -> patt
val meta_direction_flag :
loc -> direction_flag -> patt
end
end
end
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option : ('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
val map_expr : (expr -> expr) -> map
val map_patt : (patt -> patt) -> map
val map_ctyp : (ctyp -> ctyp) -> map
val map_str_item : (str_item -> str_item) -> map
val map_sig_item : (sig_item -> sig_item) -> map
val map_loc : (loc -> loc) -> map
val ident_of_expr : expr -> ident
val ident_of_patt : patt -> ident
val ident_of_ctyp : ctyp -> ident
val biAnd_of_list : binding list -> binding
val rbSem_of_list : rec_binding list -> rec_binding
val paSem_of_list : patt list -> patt
val paCom_of_list : patt list -> patt
val tyOr_of_list : ctyp list -> ctyp
val tyAnd_of_list : ctyp list -> ctyp
val tyAmp_of_list : ctyp list -> ctyp
val tySem_of_list : ctyp list -> ctyp
val tyCom_of_list : ctyp list -> ctyp
val tySta_of_list : ctyp list -> ctyp
val stSem_of_list : str_item list -> str_item
val sgSem_of_list : sig_item list -> sig_item
val crSem_of_list : class_str_item list -> class_str_item
val cgSem_of_list : class_sig_item list -> class_sig_item
val ctAnd_of_list : class_type list -> class_type
val ceAnd_of_list : class_expr list -> class_expr
val wcAnd_of_list : with_constr list -> with_constr
val meApp_of_list : module_expr list -> module_expr
val mbAnd_of_list : module_binding list -> module_binding
val mcOr_of_list : match_case list -> match_case
val idAcc_of_list : ident list -> ident
val idApp_of_list : ident list -> ident
val exSem_of_list : expr list -> expr
val exCom_of_list : expr list -> expr
val list_of_ctyp : ctyp -> ctyp list -> ctyp list
val list_of_binding : binding -> binding list -> binding list
val list_of_rec_binding :
rec_binding -> rec_binding list -> rec_binding list
val list_of_with_constr :
with_constr -> with_constr list -> with_constr list
val list_of_patt : patt -> patt list -> patt list
val list_of_expr : expr -> expr list -> expr list
val list_of_str_item : str_item -> str_item list -> str_item list
val list_of_sig_item : sig_item -> sig_item list -> sig_item list
val list_of_class_sig_item :
class_sig_item -> class_sig_item list -> class_sig_item list
val list_of_class_str_item :
class_str_item -> class_str_item list -> class_str_item list
val list_of_class_type :
class_type -> class_type list -> class_type list
val list_of_class_expr :
class_expr -> class_expr list -> class_expr list
val list_of_module_expr :
module_expr -> module_expr list -> module_expr list
val list_of_module_binding :
module_binding -> module_binding list -> module_binding list
val list_of_match_case :
match_case -> match_case list -> match_case list
val list_of_ident : ident -> ident list -> ident list
val safe_string_escaped : string -> string
val is_irrefut_patt : patt -> bool
val is_constructor : ident -> bool
val is_patt_constructor : patt -> bool
val is_expr_constructor : expr -> bool
val ty_of_stl : Loc.t * string * ctyp list -> ctyp
val ty_of_sbt : Loc.t * string * bool * ctyp -> ctyp
val bi_of_pe : patt * expr -> binding
val pel_of_binding : binding -> (patt * expr) list
val binding_of_pel : (patt * expr) list -> binding
val sum_type_of_list : (Loc.t * string * ctyp list) list -> ctyp
val record_type_of_list :
(Loc.t * string * bool * ctyp) list -> ctyp
end
module Token :
sig
module Loc :
sig
type t = 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 = 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) stream_filter
type 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 : Error
end
module Gram :
sig
module Loc :
sig
type t = 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 Action : Grammar.Action
module Token :
sig
module Loc :
sig
type t = 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 = 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) 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
type gram
type internal_entry
type tree
type token_pattern = (Token.t -> bool) * string
type token_info
type token_stream = (Token.t * token_info) Stream.t
val token_location : token_info -> Loc.t
type symbol =
Smeta of string * symbol list * Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Action.t
type single_extend_statment =
string option * Grammar.assoc option * production_rule list
type extend_statment =
Grammar.position option * single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold =
internal_entry ->
symbol list -> ('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
internal_entry ->
symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
module Entry :
sig
type 'a t
val mk : string -> 'a t
val of_parser : string -> (token_stream -> 'a) -> 'a t
val setup_parser : 'a t -> (token_stream -> 'a) -> unit
val name : 'a t -> string
val print : Format.formatter -> 'a t -> unit
val dump : Format.formatter -> 'a t -> unit
val obj : 'a t -> internal_entry
val clear : 'a t -> unit
end
val get_filter : unit -> Token.Filter.t
type 'a not_filtered
val extend : 'a Entry.t -> extend_statment -> unit
val delete_rule : 'a Entry.t -> delete_statment -> unit
val srules : 'a Entry.t -> (symbol list * Action.t) list -> symbol
val sfold0 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold1 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold0sep : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) foldsep
val lex :
Loc.t -> char Stream.t -> (Token.t * Loc.t) Stream.t not_filtered
val lex_string :
Loc.t -> string -> (Token.t * Loc.t) Stream.t not_filtered
val filter :
(Token.t * Loc.t) Stream.t not_filtered -> token_stream
val parse : 'a Entry.t -> Loc.t -> char Stream.t -> 'a
val parse_string : 'a Entry.t -> Loc.t -> string -> 'a
val parse_tokens_before_filter :
'a Entry.t -> (Token.t * Loc.t) Stream.t not_filtered -> 'a
val parse_tokens_after_filter : 'a Entry.t -> token_stream -> 'a
end
module Quotation :
sig
module Ast :
sig
type loc = Ast.loc
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module DynAst :
sig
module Ast :
sig
type loc = Ast.loc
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item :
class_sig_item -> class_sig_item
method class_str_item :
class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag :
direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding :
module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list :
('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
type 'a tag
val ctyp_tag : Ast.ctyp tag
val patt_tag : Ast.patt tag
val expr_tag : Ast.expr tag
val module_type_tag : Ast.module_type tag
val sig_item_tag : Ast.sig_item tag
val with_constr_tag : Ast.with_constr tag
val module_expr_tag : Ast.module_expr tag
val str_item_tag : Ast.str_item tag
val class_type_tag : Ast.class_type tag
val class_sig_item_tag : Ast.class_sig_item tag
val class_expr_tag : Ast.class_expr tag
val class_str_item_tag : Ast.class_str_item tag
val match_case_tag : Ast.match_case tag
val ident_tag : Ast.ident tag
val binding_tag : Ast.binding tag
val rec_binding_tag : Ast.rec_binding tag
val module_binding_tag : Ast.module_binding tag
val string_of_tag : 'a tag -> string
module Pack :
functor (X : sig type 'a t end) ->
sig
type pack
val pack : 'a tag -> 'a X.t -> pack
val unpack : 'a tag -> pack -> 'a X.t
val print_tag : Format.formatter -> pack -> unit
end
end
type 'a expand_fun = Ast.loc -> string option -> string -> 'a
val add : string -> 'a DynAst.tag -> 'a expand_fun -> unit
val find : string -> 'a DynAst.tag -> 'a expand_fun
val default : string ref
val parse_quotation_result :
(Ast.loc -> string -> 'a) ->
Ast.loc -> quotation -> string -> string -> 'a
val translate : (string -> string) ref
val expand : Ast.loc -> quotation -> 'a DynAst.tag -> 'a
val dump_file : string option ref
module Error : Error
end
module AntiquotSyntax : Parser(Ast).SIMPLE
type warning = Loc.t -> string -> unit
val default_warning : warning
val current_warning : warning ref
val print_warning : warning
val parse_implem :
?directive_handler:(Ast.str_item -> Ast.str_item option) ->
Ast.loc -> char Stream.t -> Ast.str_item
val parse_interf :
?directive_handler:(Ast.sig_item -> Ast.sig_item option) ->
Ast.loc -> char Stream.t -> Ast.sig_item
val print_interf :
?input_file:string -> ?output_file:string -> Ast.sig_item -> unit
val print_implem :
?input_file:string -> ?output_file:string -> Ast.str_item -> unit
val interf :
(Camlp4.Sig.Camlp4Syntax.Ast.sig_item list * Camlp4.Sig.Loc.t option)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val implem :
(Camlp4.Sig.Camlp4Syntax.Ast.str_item list * Camlp4.Sig.Loc.t option)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val top_phrase :
Camlp4.Sig.Camlp4Syntax.Ast.str_item option
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val use_file :
(Camlp4.Sig.Camlp4Syntax.Ast.str_item list * Camlp4.Sig.Loc.t option)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_CHAR : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_FLOAT : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_INT : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_INT32 : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_INT64 : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_LABEL : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_LIDENT : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_NATIVEINT : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_OPTLABEL : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_STRING : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_UIDENT : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val a_ident : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val amp_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val and_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val match_case :
Camlp4.Sig.Camlp4Syntax.Ast.match_case
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val match_case0 :
Camlp4.Sig.Camlp4Syntax.Ast.match_case
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val match_case_quot :
Camlp4.Sig.Camlp4Syntax.Ast.match_case
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val binding :
Camlp4.Sig.Camlp4Syntax.Ast.binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val binding_quot :
Camlp4.Sig.Camlp4Syntax.Ast.binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val rec_binding_quot :
Camlp4.Sig.Camlp4Syntax.Ast.rec_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_description :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_expr :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_expr_quot :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_fun_binding :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_fun_def :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_info_for_class_expr :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_info_for_class_type :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_longident_and_param :
Camlp4.Sig.Camlp4Syntax.Ast.class_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_name_and_param :
(string * Camlp4.Sig.Camlp4Syntax.Ast.ctyp)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_sig_item :
Camlp4.Sig.Camlp4Syntax.Ast.class_sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_sig_item_quot :
Camlp4.Sig.Camlp4Syntax.Ast.class_sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_signature :
Camlp4.Sig.Camlp4Syntax.Ast.class_sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_str_item :
Camlp4.Sig.Camlp4Syntax.Ast.class_str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_str_item_quot :
Camlp4.Sig.Camlp4Syntax.Ast.class_str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_structure :
Camlp4.Sig.Camlp4Syntax.Ast.class_str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type_longident_and_param :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type_plus :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val class_type_quot :
Camlp4.Sig.Camlp4Syntax.Ast.class_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val comma_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val comma_expr :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val comma_ipatt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val comma_patt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val comma_type_parameter :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val constrain :
(Camlp4.Sig.Camlp4Syntax.Ast.ctyp * Camlp4.Sig.Camlp4Syntax.Ast.ctyp)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val constructor_arg_list :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val constructor_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val constructor_declarations :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ctyp_quot :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val cvalue_binding :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val direction_flag :
Camlp4.Sig.Camlp4Syntax.Ast.direction_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val direction_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.direction_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val dummy : unit Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val eq_expr :
(string ->
Camlp4.Sig.Camlp4Syntax.Ast.patt -> Camlp4.Sig.Camlp4Syntax.Ast.patt)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val expr :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val expr_eoi :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val expr_quot :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val field_expr :
Camlp4.Sig.Camlp4Syntax.Ast.rec_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val field_expr_list :
Camlp4.Sig.Camlp4Syntax.Ast.rec_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val fun_binding :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val fun_def :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ident_quot :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ipatt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val ipatt_tcon :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_declaration_list :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_expr :
Camlp4.Sig.Camlp4Syntax.Ast.rec_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_expr_list :
Camlp4.Sig.Camlp4Syntax.Ast.rec_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_ipatt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_ipatt_list :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_patt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val label_patt_list :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val labeled_ipatt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val let_binding :
Camlp4.Sig.Camlp4Syntax.Ast.binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val meth_list :
(Camlp4.Sig.Camlp4Syntax.Ast.ctyp *
Camlp4.Sig.Camlp4Syntax.Ast.row_var_flag)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val meth_decl :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_binding :
Camlp4.Sig.Camlp4Syntax.Ast.module_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_binding0 :
Camlp4.Sig.Camlp4Syntax.Ast.module_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_binding_quot :
Camlp4.Sig.Camlp4Syntax.Ast.module_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.module_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_expr :
Camlp4.Sig.Camlp4Syntax.Ast.module_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_expr_quot :
Camlp4.Sig.Camlp4Syntax.Ast.module_expr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_longident_with_app :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_rec_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.module_binding
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_type :
Camlp4.Sig.Camlp4Syntax.Ast.module_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val package_type :
Camlp4.Sig.Camlp4Syntax.Ast.module_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val module_type_quot :
Camlp4.Sig.Camlp4Syntax.Ast.module_type
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val more_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val name_tags :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_as_lident : string Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_class_self_patt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_class_self_type :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_comma_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_dot_dot :
Camlp4.Sig.Camlp4Syntax.Ast.row_var_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val row_var_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.row_var_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_eq_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_expr :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_meth_list :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_mutable :
Camlp4.Sig.Camlp4Syntax.Ast.mutable_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val mutable_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.mutable_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_override :
Camlp4.Sig.Camlp4Syntax.Ast.override_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val override_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.override_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_polyt :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_private :
Camlp4.Sig.Camlp4Syntax.Ast.private_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val private_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.private_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_rec :
Camlp4.Sig.Camlp4Syntax.Ast.rec_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val rec_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.rec_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_virtual :
Camlp4.Sig.Camlp4Syntax.Ast.virtual_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val virtual_flag_quot :
Camlp4.Sig.Camlp4Syntax.Ast.virtual_flag
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val opt_when_expr :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val patt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val patt_as_patt_opt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val patt_eoi :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val patt_quot :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val patt_tcon :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val phrase :
Camlp4.Sig.Camlp4Syntax.Ast.str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val poly_type :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val row_field :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sem_expr :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sem_expr_for_list :
(Camlp4.Sig.Camlp4Syntax.Ast.expr -> Camlp4.Sig.Camlp4Syntax.Ast.expr)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sem_patt :
Camlp4.Sig.Camlp4Syntax.Ast.patt Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sem_patt_for_list :
(Camlp4.Sig.Camlp4Syntax.Ast.patt -> Camlp4.Sig.Camlp4Syntax.Ast.patt)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val semi : unit Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sequence :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val do_sequence :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sig_item :
Camlp4.Sig.Camlp4Syntax.Ast.sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sig_item_quot :
Camlp4.Sig.Camlp4Syntax.Ast.sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val sig_items :
Camlp4.Sig.Camlp4Syntax.Ast.sig_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val star_ctyp :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val str_item :
Camlp4.Sig.Camlp4Syntax.Ast.str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val str_item_quot :
Camlp4.Sig.Camlp4Syntax.Ast.str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val str_items :
Camlp4.Sig.Camlp4Syntax.Ast.str_item
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_constraint : unit Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_declaration :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_ident_and_parameters :
(string * Camlp4.Sig.Camlp4Syntax.Ast.ctyp list)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_kind :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_longident_and_parameters :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_parameter :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val type_parameters :
(Camlp4.Sig.Camlp4Syntax.Ast.ctyp -> Camlp4.Sig.Camlp4Syntax.Ast.ctyp)
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val typevars :
Camlp4.Sig.Camlp4Syntax.Ast.ctyp Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val val_longident :
Camlp4.Sig.Camlp4Syntax.Ast.ident
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val value_let : unit Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val value_val : unit Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val with_constr :
Camlp4.Sig.Camlp4Syntax.Ast.with_constr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val with_constr_quot :
Camlp4.Sig.Camlp4Syntax.Ast.with_constr
Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val prefixop :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val infixop0 :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val infixop1 :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val infixop2 :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val infixop3 :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
val infixop4 :
Camlp4.Sig.Camlp4Syntax.Ast.expr Camlp4.Sig.Camlp4Syntax.Gram.Entry.t
end
module type SyntaxExtension =
functor (Syn : Syntax) ->
sig
module Loc :
sig
type t = Syn.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 Ast :
sig
type loc = Syn.Loc.t
type meta_bool = Syn.Ast.meta_bool
type 'a meta_option = 'a Syn.Ast.meta_option
type 'a meta_list = 'a Syn.Ast.meta_list
type ctyp = Syn.Ast.ctyp
type patt = Syn.Ast.patt
type expr = Syn.Ast.expr
type module_type = Syn.Ast.module_type
type sig_item = Syn.Ast.sig_item
type with_constr = Syn.Ast.with_constr
type module_expr = Syn.Ast.module_expr
type str_item = Syn.Ast.str_item
type class_type = Syn.Ast.class_type
type class_sig_item = Syn.Ast.class_sig_item
type class_expr = Syn.Ast.class_expr
type class_str_item = Syn.Ast.class_str_item
type match_case = Syn.Ast.match_case
type ident = Syn.Ast.ident
type binding = Syn.Ast.binding
type rec_binding = Syn.Ast.rec_binding
type module_binding = Syn.Ast.module_binding
type rec_flag = Syn.Ast.rec_flag
type direction_flag = Syn.Ast.direction_flag
type mutable_flag = Syn.Ast.mutable_flag
type private_flag = Syn.Ast.private_flag
type virtual_flag = Syn.Ast.virtual_flag
type row_var_flag = Syn.Ast.row_var_flag
type override_flag = Syn.Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option : ('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module Token :
sig
module Loc :
sig
type t = Syn.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 = Syn.Token.t
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) stream_filter
type t = Syn.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 = Syn.Token.Error.t
exception E of t
val to_string : t -> string
val print : Format.formatter -> t -> unit
end
end
module Gram :
sig
module Loc :
sig
type t = Syn.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 Action :
sig
type t = Syn.Gram.Action.t
val mk : 'a -> t
val get : t -> 'a
val getf : t -> 'a -> 'b
val getf2 : t -> 'a -> 'b -> 'c
end
module Token :
sig
module Loc :
sig
type t = Syn.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 = Syn.Token.t
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) stream_filter
type t = Syn.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 = Syn.Token.Error.t
exception E of t
val to_string : t -> string
val print : Format.formatter -> t -> unit
end
end
type gram = Syn.Gram.gram
type internal_entry = Syn.Gram.internal_entry
type tree = Syn.Gram.tree
type token_pattern = (Token.t -> bool) * string
type token_info = Syn.Gram.token_info
type token_stream = (Token.t * token_info) Stream.t
val token_location : token_info -> Loc.t
type symbol =
Syn.Gram.symbol =
Smeta of string * symbol list * Action.t
| Snterm of internal_entry
| Snterml of internal_entry * string
| Slist0 of symbol
| Slist0sep of symbol * symbol
| Slist1 of symbol
| Slist1sep of symbol * symbol
| Sopt of symbol
| Stry of symbol
| Sself
| Snext
| Stoken of token_pattern
| Skeyword of string
| Stree of tree
type production_rule = symbol list * Action.t
type single_extend_statment =
string option * Grammar.assoc option * production_rule list
type extend_statment =
Grammar.position option * single_extend_statment list
type delete_statment = symbol list
type ('a, 'b, 'c) fold =
internal_entry ->
symbol list -> ('a Stream.t -> 'b) -> 'a Stream.t -> 'c
type ('a, 'b, 'c) foldsep =
internal_entry ->
symbol list ->
('a Stream.t -> 'b) ->
('a Stream.t -> unit) -> 'a Stream.t -> 'c
module Entry :
sig
type 'a t = 'a Syn.Gram.Entry.t
val mk : string -> 'a t
val of_parser : string -> (token_stream -> 'a) -> 'a t
val setup_parser : 'a t -> (token_stream -> 'a) -> unit
val name : 'a t -> string
val print : Format.formatter -> 'a t -> unit
val dump : Format.formatter -> 'a t -> unit
val obj : 'a t -> internal_entry
val clear : 'a t -> unit
end
val get_filter : unit -> Token.Filter.t
type 'a not_filtered = 'a Syn.Gram.not_filtered
val extend : 'a Entry.t -> extend_statment -> unit
val delete_rule : 'a Entry.t -> delete_statment -> unit
val srules :
'a Entry.t -> (symbol list * Action.t) list -> symbol
val sfold0 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold1 : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) fold
val sfold0sep : ('a -> 'b -> 'b) -> 'b -> ('c, 'a, 'b) foldsep
val lex :
Loc.t ->
char Stream.t -> (Token.t * Loc.t) Stream.t not_filtered
val lex_string :
Loc.t -> string -> (Token.t * Loc.t) Stream.t not_filtered
val filter :
(Token.t * Loc.t) Stream.t not_filtered -> token_stream
val parse : 'a Entry.t -> Loc.t -> char Stream.t -> 'a
val parse_string : 'a Entry.t -> Loc.t -> string -> 'a
val parse_tokens_before_filter :
'a Entry.t -> (Token.t * Loc.t) Stream.t not_filtered -> 'a
val parse_tokens_after_filter : 'a Entry.t -> token_stream -> 'a
end
module Quotation :
sig
module Ast :
sig
type loc = Syn.Loc.t
type meta_bool = Syn.Ast.meta_bool
type 'a meta_option = 'a Syn.Ast.meta_option
type 'a meta_list = 'a Syn.Ast.meta_list
type ctyp = Syn.Ast.ctyp
type patt = Syn.Ast.patt
type expr = Syn.Ast.expr
type module_type = Syn.Ast.module_type
type sig_item = Syn.Ast.sig_item
type with_constr = Syn.Ast.with_constr
type module_expr = Syn.Ast.module_expr
type str_item = Syn.Ast.str_item
type class_type = Syn.Ast.class_type
type class_sig_item = Syn.Ast.class_sig_item
type class_expr = Syn.Ast.class_expr
type class_str_item = Syn.Ast.class_str_item
type match_case = Syn.Ast.match_case
type ident = Syn.Ast.ident
type binding = Syn.Ast.binding
type rec_binding = Syn.Ast.rec_binding
type module_binding = Syn.Ast.module_binding
type rec_flag = Syn.Ast.rec_flag
type direction_flag = Syn.Ast.direction_flag
type mutable_flag = Syn.Ast.mutable_flag
type private_flag = Syn.Ast.private_flag
type virtual_flag = Syn.Ast.virtual_flag
type row_var_flag = Syn.Ast.row_var_flag
type override_flag = Syn.Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item : class_sig_item -> class_sig_item
method class_str_item : class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag : direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) -> 'f meta_option -> 'g meta_option
method module_binding : module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list : ('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
module DynAst :
sig
module Ast :
sig
type loc = Ast.loc
type meta_bool = Ast.meta_bool
type 'a meta_option = 'a Ast.meta_option
type 'a meta_list = 'a Ast.meta_list
type ctyp = Ast.ctyp
type patt = Ast.patt
type expr = Ast.expr
type module_type = Ast.module_type
type sig_item = Ast.sig_item
type with_constr = Ast.with_constr
type module_expr = Ast.module_expr
type str_item = Ast.str_item
type class_type = Ast.class_type
type class_sig_item = Ast.class_sig_item
type class_expr = Ast.class_expr
type class_str_item = Ast.class_str_item
type match_case = Ast.match_case
type ident = Ast.ident
type binding = Ast.binding
type rec_binding = Ast.rec_binding
type module_binding = Ast.module_binding
type rec_flag = Ast.rec_flag
type direction_flag = Ast.direction_flag
type mutable_flag = Ast.mutable_flag
type private_flag = Ast.private_flag
type virtual_flag = Ast.virtual_flag
type row_var_flag = Ast.row_var_flag
type override_flag = Ast.override_flag
val loc_of_ctyp : ctyp -> loc
val loc_of_patt : patt -> loc
val loc_of_expr : expr -> loc
val loc_of_module_type : module_type -> loc
val loc_of_module_expr : module_expr -> loc
val loc_of_sig_item : sig_item -> loc
val loc_of_str_item : str_item -> loc
val loc_of_class_type : class_type -> loc
val loc_of_class_sig_item : class_sig_item -> loc
val loc_of_class_expr : class_expr -> loc
val loc_of_class_str_item : class_str_item -> loc
val loc_of_with_constr : with_constr -> loc
val loc_of_binding : binding -> loc
val loc_of_rec_binding : rec_binding -> loc
val loc_of_module_binding : module_binding -> loc
val loc_of_match_case : match_case -> loc
val loc_of_ident : ident -> loc
class map :
object ('a)
method binding : binding -> binding
method class_expr : class_expr -> class_expr
method class_sig_item :
class_sig_item -> class_sig_item
method class_str_item :
class_str_item -> class_str_item
method class_type : class_type -> class_type
method ctyp : ctyp -> ctyp
method direction_flag :
direction_flag -> direction_flag
method expr : expr -> expr
method ident : ident -> ident
method list : ('a -> 'b -> 'c) -> 'b list -> 'c list
method loc : loc -> loc
method match_case : match_case -> match_case
method meta_bool : meta_bool -> meta_bool
method meta_list :
('a -> 'd -> 'e) -> 'd meta_list -> 'e meta_list
method meta_option :
('a -> 'f -> 'g) ->
'f meta_option -> 'g meta_option
method module_binding :
module_binding -> module_binding
method module_expr : module_expr -> module_expr
method module_type : module_type -> module_type
method mutable_flag : mutable_flag -> mutable_flag
method override_flag : override_flag -> override_flag
method patt : patt -> patt
method private_flag : private_flag -> private_flag
method rec_binding : rec_binding -> rec_binding
method rec_flag : rec_flag -> rec_flag
method row_var_flag : row_var_flag -> row_var_flag
method sig_item : sig_item -> sig_item
method str_item : str_item -> str_item
method string : string -> string
method unknown : 'h -> 'h
method virtual_flag : virtual_flag -> virtual_flag
method with_constr : with_constr -> with_constr
end
class fold :
object ('a)
method binding : binding -> 'a
method class_expr : class_expr -> 'a
method class_sig_item : class_sig_item -> 'a
method class_str_item : class_str_item -> 'a
method class_type : class_type -> 'a
method ctyp : ctyp -> 'a
method direction_flag : direction_flag -> 'a
method expr : expr -> 'a
method ident : ident -> 'a
method list : ('a -> 'b -> 'a) -> 'b list -> 'a
method loc : loc -> 'a
method match_case : match_case -> 'a
method meta_bool : meta_bool -> 'a
method meta_list :
('a -> 'c -> 'a) -> 'c meta_list -> 'a
method meta_option :
('a -> 'd -> 'a) -> 'd meta_option -> 'a
method module_binding : module_binding -> 'a
method module_expr : module_expr -> 'a
method module_type : module_type -> 'a
method mutable_flag : mutable_flag -> 'a
method override_flag : override_flag -> 'a
method patt : patt -> 'a
method private_flag : private_flag -> 'a
method rec_binding : rec_binding -> 'a
method rec_flag : rec_flag -> 'a
method row_var_flag : row_var_flag -> 'a
method sig_item : sig_item -> 'a
method str_item : str_item -> 'a
method string : string -> 'a
method unknown : 'e -> 'a
method virtual_flag : virtual_flag -> 'a
method with_constr : with_constr -> 'a
end
end
type 'a tag = 'a Syn.Quotation.DynAst.tag
val ctyp_tag : Ast.ctyp tag
val patt_tag : Ast.patt tag
val expr_tag : Ast.expr tag
val module_type_tag : Ast.module_type tag
val sig_item_tag : Ast.sig_item tag
val with_constr_tag : Ast.with_constr tag
val module_expr_tag : Ast.module_expr tag
val str_item_tag : Ast.str_item tag
val class_type_tag : Ast.class_type tag
val class_sig_item_tag : Ast.class_sig_item tag
val class_expr_tag : Ast.class_expr tag
val class_str_item_tag : Ast.class_str_item tag
val match_case_tag : Ast.match_case tag
val ident_tag : Ast.ident tag
val binding_tag : Ast.binding tag
val rec_binding_tag : Ast.rec_binding tag
val module_binding_tag : Ast.module_binding tag
val string_of_tag : 'a tag -> string
module Pack :
functor (X : sig type 'a t end) ->
sig
type pack = Syn.Quotation.DynAst.Pack(X).pack
val pack : 'a tag -> 'a X.t -> pack
val unpack : 'a tag -> pack -> 'a X.t
val print_tag : Format.formatter -> pack -> unit
end
end
type 'a expand_fun = Ast.loc -> string option -> string -> 'a
val add : string -> 'a DynAst.tag -> 'a expand_fun -> unit
val find : string -> 'a DynAst.tag -> 'a expand_fun
val default : string ref
val parse_quotation_result :
(Ast.loc -> string -> 'a) ->
Ast.loc -> quotation -> string -> string -> 'a
val translate : (string -> string) ref
val expand : Ast.loc -> quotation -> 'a DynAst.tag -> 'a
val dump_file : string option ref
module Error :
sig
type t = Syn.Quotation.Error.t
exception E of t
val to_string : t -> string
val print : Format.formatter -> t -> unit
end
end
module AntiquotSyntax : Parser(Ast).SIMPLE
type warning = Loc.t -> string -> unit
val default_warning : warning
val current_warning : warning ref
val print_warning : warning
val parse_implem :
?directive_handler:(Ast.str_item -> Ast.str_item option) ->
Ast.loc -> char Stream.t -> Ast.str_item
val parse_interf :
?directive_handler:(Ast.sig_item -> Ast.sig_item option) ->
Ast.loc -> char Stream.t -> Ast.sig_item
val print_interf :
?input_file:string -> ?output_file:string -> Ast.sig_item -> unit
val print_implem :
?input_file:string -> ?output_file:string -> Ast.str_item -> unit
end
end