X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationRew.mli;h=f587291aa5452e006dfc25c54c216eeba0e09c31;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=fbd0ea16657c44e86116e2f9bcb08698c1905b91;hpb=7f72a2bf9a6f79c58048c594dc390265365face8;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationRew.mli b/helm/ocaml/cic_notation/cicNotationRew.mli index fbd0ea166..f587291aa 100644 --- a/helm/ocaml/cic_notation/cicNotationRew.mli +++ b/helm/ocaml/cic_notation/cicNotationRew.mli @@ -23,21 +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 * CicNotationPt.argument_pattern list -> (* level 2 pattern *) - CicNotationPt.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 *) + 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 +