]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_notation/cicNotationRew.mli
Better handling of idref propagation, no more Href hack, multiple idrefs are
[helm.git] / helm / ocaml / cic_notation / cicNotationRew.mli
index 7c2415a733a52fddbd5bec6562af032c22a900f1..a70b3cbe152bba2d7adb4f6ffb29443aac6da532 100644 (file)
@@ -29,25 +29,33 @@ val ast_of_acic:
   Cic.annterm ->                                    (* acic *)
     CicNotationPt.term                              (* ast *)
     * (Cic.id, string) Hashtbl.t                    (* id -> uri *)
+    (* TODO change the type of id->uri table to (Cic.id, UriManager.uri) tbl *)
 
   (** level 2 -> level 1 *)
 val pp_ast: CicNotationPt.term -> CicNotationPt.term
 
-(** level 1 -> level 0: see CicNotationPres.render *)
+  (** for level 1 -> level 0: see CicNotationPres.render *)
 
 type interpretation_id
 type pretty_printer_id
 
 val add_interpretation:
-  string * GrafiteAst.argument_pattern list ->   (* level 2 pattern *)
-  GrafiteAst.cic_appl_pattern ->                 (* level 3 pattern *)
+  string ->                                       (* id / description *)
+  string * CicNotationPt.argument_pattern list -> (* symbol, level 2 pattern *)
+  CicNotationPt.cic_appl_pattern ->               (* level 3 pattern *)
     interpretation_id
 
+  (** @raise Interpretation_not_found *)
+val lookup_interpretations:
+  string -> (* symbol *)
+    (string * CicNotationPt.argument_pattern list *
+      CicNotationPt.cic_appl_pattern) list
+
 val add_pretty_printer:
-  ?precedence:int ->
-  ?associativity:Gramext.g_assoc ->
-  CicNotationPt.term ->                             (* level 2 pattern *)
-  CicNotationPt.term ->                             (* level 1 pattern *)
+  precedence:int ->
+  associativity:Gramext.g_assoc ->
+  CicNotationPt.term ->             (* level 2 pattern *)
+  CicNotationPt.term ->             (* level 1 pattern *)
     pretty_printer_id
 
 exception Interpretation_not_found