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 -> '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 -> 'a -> 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