X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationUtil.mli;h=ad16a2eb6ca459d095db0a0fd1b23d27320e4b01;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=a03c415d2b5ee9f5b9f2c7e97171dd67521058ca;hpb=c27b932e5adcf89dc9de0e28f65e3370fe3e6b05;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationUtil.mli b/helm/ocaml/cic_notation/cicNotationUtil.mli index a03c415d2..ad16a2eb6 100644 --- a/helm/ocaml/cic_notation/cicNotationUtil.mli +++ b/helm/ocaml/cic_notation/cicNotationUtil.mli @@ -28,6 +28,9 @@ val fresh_name: unit -> string val variables_of_term: CicNotationPt.term -> CicNotationPt.pattern_variable list val names_of_term: CicNotationPt.term -> string list + (** extract all keywords (i.e. string literals) from a level 1 pattern *) +val keywords_of_term: CicNotationPt.term -> string list + val visit_ast: ?special_k:(CicNotationPt.term -> CicNotationPt.term) -> (CicNotationPt.term -> CicNotationPt.term) -> @@ -39,17 +42,50 @@ val visit_layout: CicNotationPt.layout_pattern -> CicNotationPt.layout_pattern +val visit_magic: + (CicNotationPt.term -> CicNotationPt.term) -> + CicNotationPt.magic_term -> + CicNotationPt.magic_term + +val visit_variable: + (CicNotationPt.term -> CicNotationPt.term) -> + CicNotationPt.pattern_variable -> + CicNotationPt.pattern_variable + val strip_attributes: CicNotationPt.term -> CicNotationPt.term + (** @return the list of proper (i.e. non recursive) IdRef of a term *) +val get_idrefs: CicNotationPt.term -> string list + (** generalization of List.combine to n lists *) val ncombine: 'a list list -> 'a list list val string_of_literal: CicNotationPt.literal -> string +val dress: sep:'a -> 'a list -> 'a list +val dressn: sep:'a list -> 'a list -> 'a list + val boxify: CicNotationPt.term list -> CicNotationPt.term +val group: CicNotationPt.term list -> CicNotationPt.term +val ungroup: CicNotationPt.term list -> CicNotationPt.term list val find_appl_pattern_uris: CicNotationPt.cic_appl_pattern -> UriManager.uri list val find_branch: CicNotationPt.term -> CicNotationPt.term + +val cic_name_of_name: CicNotationPt.term -> Cic.name +val name_of_cic_name: Cic.name -> CicNotationPt.term + + (** Symbol/Numbers instances *) + +val freshen_term: CicNotationPt.term -> CicNotationPt.term +val freshen_obj: GrafiteAst.obj -> GrafiteAst.obj + + (** Notation id handling *) + +type notation_id + +val fresh_id: unit -> notation_id +