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.refval parse_interf : (char Stream.t -> (MLast.sig_item * MLast.loc) list * bool) Pervasives.refval parse_implem : (char Stream.t -> (MLast.str_item * MLast.loc) list * bool) Pervasives.refimplem and interf
defined below.val gram : Grammar.gval interf : ((MLast.sig_item * MLast.loc) list * bool) Grammar.Entry.eval implem : ((MLast.str_item * MLast.loc) list * bool) Grammar.Entry.eval top_phrase : MLast.str_item option Grammar.Entry.eval use_file : (MLast.str_item list * bool) Grammar.Entry.eval module_type : MLast.module_type Grammar.Entry.eval module_expr : MLast.module_expr Grammar.Entry.eval sig_item : MLast.sig_item Grammar.Entry.eval str_item : MLast.str_item Grammar.Entry.eval expr : MLast.expr Grammar.Entry.eval patt : MLast.patt Grammar.Entry.eval ipatt : MLast.patt Grammar.Entry.eval ctyp : MLast.ctyp Grammar.Entry.eval let_binding : (MLast.patt * MLast.expr) Grammar.Entry.eval type_declaration : MLast.type_decl Grammar.Entry.eval match_case : (MLast.patt * MLast.expr option MLast.v * MLast.expr) Grammar.Entry.eval constructor_declaration : (MLast.loc * string MLast.v * MLast.ctyp list MLast.v) Grammar.Entry.eval with_constr : MLast.with_constr Grammar.Entry.eval poly_variant : MLast.poly_variant Grammar.Entry.eval class_sig_item : MLast.class_sig_item Grammar.Entry.eval class_str_item : MLast.class_str_item Grammar.Entry.eval class_expr : MLast.class_expr Grammar.Entry.eval class_type : MLast.class_type Grammar.Entry.epa_o.cmo and pa_r.cmo.val input_file : string Pervasives.refval output_file : string option Pervasives.refval quotation_dump_file : string option Pervasives.refquotation_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.tFailure if not in the context of a quotation expander.val version : stringval add_option : string -> Arg.spec -> string -> unitval no_constructors_arity : bool Pervasives.refTrue: dont generate constructor arity.val handle_expr_quotation : MLast.loc -> string * string -> MLast.exprval handle_patt_quotation : MLast.loc -> string * string -> MLast.pattval print_interf : ((MLast.sig_item * MLast.loc) list -> unit) Pervasives.refval print_implem : ((MLast.str_item * MLast.loc) list -> unit) Pervasives.refval pr_expr : MLast.expr Eprinter.tval pr_patt : MLast.patt Eprinter.tval pr_ctyp : MLast.ctyp Eprinter.tval pr_str_item : MLast.str_item Eprinter.tval pr_sig_item : MLast.sig_item Eprinter.tval pr_module_expr : MLast.module_expr Eprinter.tval pr_module_type : MLast.module_type Eprinter.tval pr_class_sig_item : MLast.class_sig_item Eprinter.tval pr_class_str_item : MLast.class_str_item Eprinter.tval pr_class_type : MLast.class_type Eprinter.tval pr_class_expr : MLast.class_expr Eprinter.tpr_dump.cmo, pr_o.cmo and pr_r.cmo.val pr_expr_fun_args : (MLast.expr, MLast.patt list * MLast.expr) Extfun.t Pervasives.refval inter_phrases : string option Pervasives.refNone, the
string is taken in the sources between these phrases. Default = Nonetypedirective_fun =MLast.expr option -> unit
val add_directive : string -> directive_fun -> unitval find_directive : string -> directive_funval eq_expr : MLast.expr -> MLast.expr -> boolval eq_patt : MLast.patt -> MLast.patt -> boolval eq_ctyp : MLast.ctyp -> MLast.ctyp -> boolval eq_str_item : MLast.str_item -> MLast.str_item -> boolval eq_sig_item : MLast.sig_item -> MLast.sig_item -> boolval eq_module_expr : MLast.module_expr -> MLast.module_expr -> boolval eq_module_type : MLast.module_type -> MLast.module_type -> boolval eq_class_sig_item : MLast.class_sig_item -> MLast.class_sig_item -> boolval eq_class_str_item : MLast.class_str_item -> MLast.class_str_item -> boolval eq_class_type : MLast.class_type -> MLast.class_type -> boolval eq_class_expr : MLast.class_expr -> MLast.class_expr -> boolval strict_mode : bool Pervasives.refval unvala : 'a -> 'aval vala_map : ('a -> 'b) -> 'a -> 'bval vala_mapa : ('a -> 'b) -> (string -> 'b) -> 'a -> 'b