X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationRew.mli;h=f587291aa5452e006dfc25c54c216eeba0e09c31;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=cac67cb21c923df9f35a8a84d8f44cb0bb1bdc01;hpb=724827ba7e5c1419229382487bed53f7dbb862db;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationRew.mli b/helm/ocaml/cic_notation/cicNotationRew.mli index cac67cb21..f587291aa 100644 --- a/helm/ocaml/cic_notation/cicNotationRew.mli +++ b/helm/ocaml/cic_notation/cicNotationRew.mli @@ -23,9 +23,52 @@ * http://helm.cs.unibo.it/ *) + (** level 3 -> level 2 *) val ast_of_acic: (Cic.id, CicNotationPt.sort_kind) Hashtbl.t -> (* id -> sort *) Cic.annterm -> (* acic *) CicNotationPt.term (* ast *) - * (Cic.id, string) Hashtbl.t (* id -> uri *) + * (Cic.id, UriManager.uri) Hashtbl.t (* id -> uri *) + + (** level 2 -> level 1 *) +val pp_ast: CicNotationPt.term -> CicNotationPt.term + + (** for level 1 -> level 0: see CicNotationPres.render *) + +type interpretation_id +type pretty_printer_id + +val add_interpretation: + 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 *) + pretty_printer_id + +exception Interpretation_not_found +exception Pretty_printer_not_found + + (** @raise Interpretation_not_found *) +val remove_interpretation: interpretation_id -> unit + + (** @raise Pretty_printer_not_found *) +val remove_pretty_printer: pretty_printer_id -> unit + +(** {2 Interpretations toggling} *) + +val get_all_interpretations: unit -> (interpretation_id * string) list +val get_active_interpretations: unit -> interpretation_id list +val set_active_interpretations: interpretation_id list -> unit