X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationUtil.mli;h=ad16a2eb6ca459d095db0a0fd1b23d27320e4b01;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=760d95ae923410a1bb70302e49cadccfbb866ea6;hpb=f7759f86b755f4f7dc2b23edd52ed4d2e5c028fe;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationUtil.mli b/helm/ocaml/cic_notation/cicNotationUtil.mli index 760d95ae9..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,10 +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 +