aboutsummaryrefslogtreecommitdiff
path: root/parsing/esyntax.mli
diff options
context:
space:
mode:
authorfilliatr1999-11-26 08:35:40 +0000
committerfilliatr1999-11-26 08:35:40 +0000
commit1fb4e6c2c9a9aae5cda23cd37b3e564e4c1399a0 (patch)
treedcd7d0db45fe5d10cd476c61707ff9a90eb20f36 /parsing/esyntax.mli
parent2d9db473fbcc3e2f9394b102975e41374035baa3 (diff)
module Esyntax
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@143 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/esyntax.mli')
-rw-r--r--parsing/esyntax.mli41
1 files changed, 41 insertions, 0 deletions
diff --git a/parsing/esyntax.mli b/parsing/esyntax.mli
new file mode 100644
index 0000000000..075500c950
--- /dev/null
+++ b/parsing/esyntax.mli
@@ -0,0 +1,41 @@
+
+(* $Id$ *)
+
+(*i*)
+open Pp
+open Extend
+(*i*)
+
+(* Syntax entry tables. *)
+
+type frozen_t
+
+(* pretty-printer summary operations *)
+val init : unit -> unit
+val freeze : unit -> frozen_t
+val unfreeze : frozen_t -> unit
+
+(* Search and add a PP rule for an ast in the summary *)
+val find_syntax_entry :
+ string -> Coqast.t -> (syntax_entry * Ast.env) option
+val add_rule : string -> syntax_entry -> unit
+val add_ppobject : (string * syntax_entry list) -> unit
+
+(* Pretty-printing *)
+
+type std_printer = Coqast.t -> std_ppcmds
+type unparsing_subfunction =
+ ((string * precedence) * parenRelation) option -> std_printer
+
+(* Module of primitive printers *)
+module Ppprim :
+ sig
+ type t = std_printer -> std_printer
+ val add : string * t -> unit
+ end
+
+(* Generic printing functions *)
+val token_printer: std_printer -> std_printer
+val print_syntax_entry :
+ unparsing_subfunction -> Ast.env -> syntax_entry -> std_ppcmds
+val genprint : string -> std_printer -> unparsing_subfunction