module Pcaml:Language grammar, entries and printers.sig
..end
Hold variables to be set by language syntax extensions. Some of them
are provided for quotations management.
val syntax_name : string Pervasives.ref
val parse_interf : (char Stream.t -> (MLast.sig_item * MLast.loc) list * bool) Pervasives.ref
val parse_implem : (char Stream.t -> (MLast.str_item * MLast.loc) list * bool) Pervasives.ref
implem
and interf
defined below.val gram : Grammar.g
val interf : ((MLast.sig_item * MLast.loc) list * bool) Grammar.Entry.e
val implem : ((MLast.str_item * MLast.loc) list * bool) Grammar.Entry.e
val top_phrase : MLast.str_item option Grammar.Entry.e
val use_file : (MLast.str_item list * bool) Grammar.Entry.e
val module_type : MLast.module_type Grammar.Entry.e
val module_expr : MLast.module_expr Grammar.Entry.e
val sig_item : MLast.sig_item Grammar.Entry.e
val str_item : MLast.str_item Grammar.Entry.e
val expr : MLast.expr Grammar.Entry.e
val patt : MLast.patt Grammar.Entry.e
val ipatt : MLast.patt Grammar.Entry.e
val ctyp : MLast.ctyp Grammar.Entry.e
val let_binding : (MLast.patt * MLast.expr) Grammar.Entry.e
val type_declaration : MLast.type_decl Grammar.Entry.e
val match_case : (MLast.patt * MLast.expr option MLast.v * MLast.expr) Grammar.Entry.e
val constructor_declaration : (MLast.loc * string MLast.v * MLast.ctyp list MLast.v) Grammar.Entry.e
val with_constr : MLast.with_constr Grammar.Entry.e
val poly_variant : MLast.poly_variant Grammar.Entry.e
val class_sig_item : MLast.class_sig_item Grammar.Entry.e
val class_str_item : MLast.class_str_item Grammar.Entry.e
val class_expr : MLast.class_expr Grammar.Entry.e
val class_type : MLast.class_type Grammar.Entry.e
pa_o.cmo
and pa_r.cmo
.val input_file : string Pervasives.ref
val output_file : string option Pervasives.ref
val quotation_dump_file : string option Pervasives.ref
quotation_dump_file
optionally tells the compiler to dump the
result of an expander (of kind "generating a string") if this
result is syntactically incorrect.
If None
(default), this result is not dumped. If Some fname
, the
result is dumped in the file fname
.val quotation_location : unit -> Ploc.t
Failure
if not in the context of a quotation expander.val version : string
val add_option : string -> Arg.spec -> string -> unit
val no_constructors_arity : bool Pervasives.ref
True
: dont generate constructor arity.val handle_expr_quotation : MLast.loc -> string * string -> MLast.expr
val handle_patt_quotation : MLast.loc -> string * string -> MLast.patt
val print_interf : ((MLast.sig_item * MLast.loc) list -> unit) Pervasives.ref
val print_implem : ((MLast.str_item * MLast.loc) list -> unit) Pervasives.ref
val pr_expr : MLast.expr Eprinter.t
val pr_patt : MLast.patt Eprinter.t
val pr_ctyp : MLast.ctyp Eprinter.t
val pr_str_item : MLast.str_item Eprinter.t
val pr_sig_item : MLast.sig_item Eprinter.t
val pr_module_expr : MLast.module_expr Eprinter.t
val pr_module_type : MLast.module_type Eprinter.t
val pr_class_sig_item : MLast.class_sig_item Eprinter.t
val pr_class_str_item : MLast.class_str_item Eprinter.t
val pr_class_type : MLast.class_type Eprinter.t
val pr_class_expr : MLast.class_expr Eprinter.t
pr_dump.cmo
, pr_o.cmo
and pr_r.cmo
.val pr_expr_fun_args : (MLast.expr, MLast.patt list * MLast.expr) Extfun.t Pervasives.ref
val inter_phrases : string option Pervasives.ref
None
, the
string is taken in the sources between these phrases. Default = Nonetypedirective_fun =
MLast.expr option -> unit
val add_directive : string -> directive_fun -> unit
val find_directive : string -> directive_fun
val eq_expr : MLast.expr -> MLast.expr -> bool
val eq_patt : MLast.patt -> MLast.patt -> bool
val eq_ctyp : MLast.ctyp -> MLast.ctyp -> bool
val eq_str_item : MLast.str_item -> MLast.str_item -> bool
val eq_sig_item : MLast.sig_item -> MLast.sig_item -> bool
val eq_module_expr : MLast.module_expr -> MLast.module_expr -> bool
val eq_module_type : MLast.module_type -> MLast.module_type -> bool
val eq_class_sig_item : MLast.class_sig_item -> MLast.class_sig_item -> bool
val eq_class_str_item : MLast.class_str_item -> MLast.class_str_item -> bool
val eq_class_type : MLast.class_type -> MLast.class_type -> bool
val eq_class_expr : MLast.class_expr -> MLast.class_expr -> bool
val strict_mode : bool Pervasives.ref
val unvala : 'a -> 'a
val vala_map : ('a -> 'b) -> 'a -> 'b
val vala_mapa : ('a -> 'b) -> (string -> 'b) -> 'a -> 'b