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 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 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 report_error : exn -> unit
  val quotation_dump_file : string option Pervasives.ref
  val version : string
  val add_option : string -> Arg.spec -> string -> unit
  val no_constructors_arity : bool Pervasives.ref
  val sync : (char Stream.t -> unit) Pervasives.ref
  val handle_expr_quotation : MLast.loc -> string * string -> MLast.expr
  val handle_expr_locate : MLast.loc -> int * string -> MLast.expr
  val handle_patt_quotation : MLast.loc -> string * string -> MLast.patt
  val handle_patt_locate : MLast.loc -> int * string -> MLast.patt
  val expr_reloc :
    (MLast.loc -> MLast.loc) -> int -> MLast.expr -> MLast.expr
  val patt_reloc :
    (MLast.loc -> MLast.loc) -> int -> MLast.patt -> MLast.patt
  val rename_id : (string -> string) Pervasives.ref
  type err_ctx =
      Finding
    | Expanding
    | ParsingResult of (int * int) * string
    | Locating
  exception Qerror of string * Pcaml.err_ctx * exn
  val print_interf :
    ((MLast.sig_item * MLast.loc) list -> unit) Pervasives.ref
  val print_implem :
    ((MLast.str_item * MLast.loc) list -> unit) Pervasives.ref
  type 'a printer_t = {
    mutable pr_fun : string -> '-> string -> Pcaml.kont -> Spretty.pretty;
    mutable pr_levels : 'Pcaml.pr_level list;
  }
  and 'a pr_level = {
    pr_label : string;
    pr_box : '-> Spretty.pretty Stream.t -> Spretty.pretty;
    mutable pr_rules : 'Pcaml.pr_rule;
  }
  and 'a pr_rule =
    ('a,
     'Pcaml.curr ->
     'Pcaml.next -> string -> Pcaml.kont -> Spretty.pretty Stream.t)
    Extfun.t
  and 'a curr = '-> string -> Pcaml.kont -> Spretty.pretty Stream.t
  and 'a next = '-> string -> Pcaml.kont -> Spretty.pretty
  and kont = Spretty.pretty Stream.t
  val pr_sig_item : MLast.sig_item Pcaml.printer_t
  val pr_str_item : MLast.str_item Pcaml.printer_t
  val pr_module_type : MLast.module_type Pcaml.printer_t
  val pr_module_expr : MLast.module_expr Pcaml.printer_t
  val pr_expr : MLast.expr Pcaml.printer_t
  val pr_patt : MLast.patt Pcaml.printer_t
  val pr_ctyp : MLast.ctyp Pcaml.printer_t
  val pr_class_sig_item : MLast.class_sig_item Pcaml.printer_t
  val pr_class_str_item : MLast.class_str_item Pcaml.printer_t
  val pr_class_type : MLast.class_type Pcaml.printer_t
  val pr_class_expr : MLast.class_expr Pcaml.printer_t
  val pr_expr_fun_args :
    (MLast.expr, MLast.patt list * MLast.expr) Extfun.t Pervasives.ref
  val find_pr_level : string -> 'Pcaml.pr_level list -> 'Pcaml.pr_level
  val top_printer : 'Pcaml.printer_t -> '-> unit
  val string_of : 'Pcaml.printer_t -> '-> string
  val inter_phrases : string option Pervasives.ref
end