sig
  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
  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
  val input_file : string Pervasives.ref
  val output_file : string option Pervasives.ref
  val quotation_dump_file : string option Pervasives.ref
  val quotation_location : unit -> Ploc.t
  val version : string
  val add_option : string -> Arg.spec -> string -> unit
  val no_constructors_arity : bool Pervasives.ref
  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
  val pr_expr_fun_args :
    (MLast.expr, MLast.patt list * MLast.expr) Extfun.t Pervasives.ref
  val inter_phrases : string option Pervasives.ref
  type directive_fun = MLast.expr option -> unit
  val add_directive : string -> Pcaml.directive_fun -> unit
  val find_directive : string -> Pcaml.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
  val vala_map : ('-> 'b) -> '-> 'b
  val vala_mapa : ('-> 'b) -> (string -> 'b) -> '-> 'b
  val warning : (Ploc.t -> string -> unit) Pervasives.ref
  val expr_eoi : MLast.expr Grammar.Entry.e
  val patt_eoi : MLast.patt Grammar.Entry.e
  val arg_spec_list : unit -> (string * Arg.spec * string) list
  val report_error : exn -> unit
  val sync : (char Stream.t -> unit) Pervasives.ref
  val patt_reloc :
    (MLast.loc -> MLast.loc) -> int -> MLast.patt -> MLast.patt
  val expr_reloc :
    (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr
  val rename_id : (string -> string) Pervasives.ref
  val flag_equilibrate_cases : bool Pervasives.ref
end