summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/camlp4/Camlp4/Register.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/camlp4/Camlp4/Register.mli')
-rw-r--r--ocaml-binary-annot/camlp4/Camlp4/Register.mli93
1 files changed, 93 insertions, 0 deletions
diff --git a/ocaml-binary-annot/camlp4/Camlp4/Register.mli b/ocaml-binary-annot/camlp4/Camlp4/Register.mli
new file mode 100644
index 0000000000..5131143977
--- /dev/null
+++ b/ocaml-binary-annot/camlp4/Camlp4/Register.mli
@@ -0,0 +1,93 @@
+(****************************************************************************)
+(* *)
+(* Objective Caml *)
+(* *)
+(* INRIA Rocquencourt *)
+(* *)
+(* Copyright 2006 Institut National de Recherche en Informatique et *)
+(* en Automatique. All rights reserved. This file is distributed under *)
+(* the terms of the GNU Library General Public License, with the special *)
+(* exception on linking described in LICENSE at the top of the Objective *)
+(* Caml source tree. *)
+(* *)
+(****************************************************************************)
+
+(* Authors:
+ * - Daniel de Rauglaudre: initial version
+ * - Nicolas Pouillard: refactoring
+ *)
+
+module Plugin
+ (Id : Sig.Id) (Plugin : functor (Unit : sig end) -> sig end) : sig end;
+
+module SyntaxPlugin
+ (Id : Sig.Id) (SyntaxPlugin : functor (Syn : Sig.Syntax) -> sig end) :
+ sig end;
+
+module SyntaxExtension
+ (Id : Sig.Id) (SyntaxExtension : Sig.SyntaxExtension) : sig end;
+
+module OCamlSyntaxExtension
+ (Id : Sig.Id)
+ (SyntaxExtension : functor (Syntax : Sig.Camlp4Syntax) -> Sig.Camlp4Syntax)
+ : sig end;
+
+(** {6 Registering Parsers} *)
+
+type parser_fun 'a =
+ ?directive_handler:('a -> option 'a) -> PreCast.Loc.t -> Stream.t char -> 'a;
+
+value register_str_item_parser : parser_fun PreCast.Ast.str_item -> unit;
+value register_sig_item_parser : parser_fun PreCast.Ast.sig_item -> unit;
+value register_parser : parser_fun PreCast.Ast.str_item -> parser_fun PreCast.Ast.sig_item -> unit;
+
+module Parser
+ (Id : Sig.Id) (Maker : functor (Ast : Sig.Ast) -> (Sig.Parser Ast).S) : sig end;
+
+module OCamlParser
+ (Id : Sig.Id) (Maker : functor (Ast : Sig.Camlp4Ast) -> (Sig.Parser Ast).S) : sig end;
+
+module OCamlPreCastParser
+ (Id : Sig.Id) (Parser : (Sig.Parser PreCast.Ast).S) : sig end;
+
+(** {6 Registering Printers} *)
+
+type printer_fun 'a =
+ ?input_file:string -> ?output_file:string -> 'a -> unit;
+
+value register_str_item_printer : printer_fun PreCast.Ast.str_item -> unit;
+value register_sig_item_printer : printer_fun PreCast.Ast.sig_item -> unit;
+value register_printer : printer_fun PreCast.Ast.str_item -> printer_fun PreCast.Ast.sig_item -> unit;
+
+module Printer
+ (Id : Sig.Id)
+ (Maker : functor (Syn : Sig.Syntax) -> (Sig.Printer Syn.Ast).S) :
+ sig end;
+
+module OCamlPrinter
+ (Id : Sig.Id)
+ (Maker : functor (Syn : Sig.Camlp4Syntax) -> (Sig.Printer Syn.Ast).S) :
+ sig end;
+
+module OCamlPreCastPrinter
+ (Id : Sig.Id) (Printer : (Sig.Printer PreCast.Ast).S) :
+ sig end;
+
+(** {6 Registering Filters} *)
+
+module AstFilter
+ (Id : Sig.Id) (Maker : functor (F : Sig.AstFilters) -> sig end) : sig end;
+
+value declare_dyn_module : string -> (unit -> unit) -> unit;
+value iter_and_take_callbacks : ((string * (unit -> unit)) -> unit) -> unit;
+value loaded_modules : ref (list string);
+
+module CurrentParser : (Sig.Parser PreCast.Ast).S;
+module CurrentPrinter : (Sig.Printer PreCast.Ast).S;
+
+value enable_ocaml_printer : unit -> unit;
+value enable_ocamlr_printer : unit -> unit;
+(* value enable_ocamlrr_printer : unit -> unit; *)
+value enable_null_printer : unit -> unit;
+value enable_dump_ocaml_ast_printer : unit -> unit;
+value enable_dump_camlp4_ast_printer : unit -> unit;