X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_notation%2FcicNotationUtil.mli;h=80e36524225339c3ab6f2fe05e7bd3d23d17f2c6;hb=564d4fe0793c625b9c6be05fa05d5fbb50c61703;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..80e365242 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,6 +42,16 @@ 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 (** generalization of List.combine to n lists *) @@ -46,10 +59,30 @@ 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 +