X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationUtil.mli;h=ad16a2eb6ca459d095db0a0fd1b23d27320e4b01;hb=97c2d258a5c524eb5c4b85208899d80751a2c82f;hp=1a7d7d6f4e4d5c0cc7527acae5dc573f86016f1c;hpb=5d5e328a05ed70fcf565aef8f92b7ec87b2740f2;p=helm.git diff --git a/helm/ocaml/cic_notation/cicNotationUtil.mli b/helm/ocaml/cic_notation/cicNotationUtil.mli index 1a7d7d6f4..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,15 +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 +