Module Pa_type_conv


module Pa_type_conv: sig .. end
Pa_type_conv: Preprocessing Module for Registering Type Conversions


Generator registration

val add_generator : ?is_exn:bool ->
string -> (Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.str_item) -> unit
add_generator ?is_exn name gen adds the code generator gen, which maps type or exception declarations to structure items, where is_exn specifies whether the declaration is an exception. Note that the original type/exception declarations get added automatically in any case.
is_exn : = false
val add_generator_with_arg : ?is_exn:bool ->
string ->
'a Camlp4.PreCast.Gram.Entry.t ->
(Camlp4.PreCast.Ast.ctyp -> 'a option -> Camlp4.PreCast.Ast.str_item) -> unit
add_generator_with_arg ?is_exn name entry generator same as add_generator, but the generator may accept an argument, which is parsed with entry.
val rm_generator : ?is_exn:bool -> string -> unit
rm_generator ?is_exn name removes the code generator named name.
val add_sig_generator : ?is_exn:bool ->
string -> (Camlp4.PreCast.Ast.ctyp -> Camlp4.PreCast.Ast.sig_item) -> unit
add_generator ?is_exn name gen adds the code generator gen, which maps type or exception declarations to signature items, where is_exn specifies whether the declaration is an exception. Note that the original type/exception declarations get added automatically in any case.
is_exn : = false
val set_conv_path_if_not_set : Camlp4.PreCast.Ast.Loc.t -> unit
val add_sig_generator_with_arg : ?is_exn:bool ->
string ->
'a Camlp4.PreCast.Gram.Entry.t ->
(Camlp4.PreCast.Ast.ctyp -> 'a option -> Camlp4.PreCast.Ast.sig_item) -> unit
add_sig_generator_with_arg ?is_exn name entry generator same as add_sig_generator, but the generator may accept an argument, which is parsed with entry.
val rm_sig_generator : ?is_exn:bool -> string -> unit
rm_sig_generator name removes the code signature generator named name.
val get_conv_path : unit -> string
get_conv_path ()
Returns the name to module containing a type as required for error messages.

Utility functions

val get_loc_err : Camlp4.PreCast.Ast.Loc.t -> string -> string
get_loc_err loc msg generates a compile-time error message.
val hash_variant : string -> int
hash_variant str
Returns the integer encoding a variant tag with name str.

General purpose code generation module

module Gen: sig .. end