sig
  module Plugin :
    functor (Id : Sig.Id->
      functor (Plugin : functor (Unit : sig  end-> sig  end-> sig  end
  module SyntaxPlugin :
    functor (Id : Sig.Id->
      functor (SyntaxPlugin : functor (Syn : Sig.Syntax-> sig  end->
        sig  end
  module SyntaxExtension :
    functor (Id : Sig.Id->
      functor (SyntaxExtension : Sig.SyntaxExtension-> sig  end
  module OCamlSyntaxExtension :
    functor (Id : Sig.Id->
      functor
        (SyntaxExtension : functor (Syntax : Sig.Camlp4Syntax->
                             Sig.Camlp4Syntax->
        sig  end
  type 'a parser_fun =
      ?directive_handler:('-> 'a option) ->
      PreCast.Loc.t -> char Stream.t -> 'a
  val register_str_item_parser :
    Camlp4.PreCast.Ast.str_item Camlp4.??.parser_fun -> unit
  val register_sig_item_parser :
    Camlp4.PreCast.Ast.sig_item Camlp4.??.parser_fun -> unit
  val register_parser :
    Camlp4.PreCast.Ast.str_item Camlp4.??.parser_fun ->
    Camlp4.PreCast.Ast.sig_item Camlp4.??.parser_fun -> unit
  module Parser :
    functor (Id : Sig.Id->
      functor (Maker : functor (Ast : Sig.Ast-> Sig.Parser(Ast).S->
        sig  end
  module OCamlParser :
    functor (Id : Sig.Id->
      functor (Maker : functor (Ast : Sig.Camlp4Ast-> Sig.Parser(Ast).S->
        sig  end
  module OCamlPreCastParser :
    functor (Id : Sig.Id->
      functor (Parser : Sig.Parser(PreCast.Ast).S-> sig  end
  type 'a printer_fun =
      ?input_file:string -> ?output_file:string -> '-> unit
  val register_str_item_printer :
    Camlp4.PreCast.Ast.str_item Camlp4.??.printer_fun -> unit
  val register_sig_item_printer :
    Camlp4.PreCast.Ast.sig_item Camlp4.??.printer_fun -> unit
  val register_printer :
    Camlp4.PreCast.Ast.str_item Camlp4.??.printer_fun ->
    Camlp4.PreCast.Ast.sig_item Camlp4.??.printer_fun -> unit
  module Printer :
    functor (Id : Sig.Id->
      functor
        (Maker : functor (Syn : Sig.Syntax-> Sig.Printer(Syn.Ast).S->
        sig  end
  module OCamlPrinter :
    functor (Id : Sig.Id->
      functor
        (Maker : functor (Syn : Sig.Camlp4Syntax-> Sig.Printer(Syn.Ast).S->
        sig  end
  module OCamlPreCastPrinter :
    functor (Id : Sig.Id->
      functor (Printer : Sig.Printer(PreCast.Ast).S-> sig  end
  module AstFilter :
    functor (Id : Sig.Id->
      functor (Maker : functor (F : Sig.AstFilters-> sig  end-> sig  end
  val declare_dyn_module : string -> (unit -> unit) -> unit
  val iter_and_take_callbacks : (string * (unit -> unit) -> unit) -> unit
  val loaded_modules : string list Pervasives.ref
  module CurrentParser : Sig.Parser(PreCast.Ast).S
  module CurrentPrinter : Sig.Printer(PreCast.Ast).S
  val enable_ocaml_printer : unit -> unit
  val enable_ocamlr_printer : unit -> unit
  val enable_null_printer : unit -> unit
  val enable_dump_ocaml_ast_printer : unit -> unit
  val enable_dump_camlp4_ast_printer : unit -> unit
end