]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/urimanager/uriManager.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / urimanager / uriManager.mli
index 0f4f15ea2822ce998847a7312759a7352dfb397f..8250cc83963dc058a0672c3d35d208617a0d920e 100644 (file)
@@ -28,24 +28,28 @@ exception IllFormedUri of string;;
 type uri
 
 val eq : uri -> uri -> bool
+val compare : uri -> uri -> int
 
 val uri_of_string : string -> uri
 
 val string_of_uri : uri -> string  (* complete uri *)
 val name_of_uri   : uri -> string  (* name only (without extension)*)
-val buri_of_uri   : uri -> string  (* base uri only *)
-val depth_of_uri  : uri -> int     (* length of the path *)
+val buri_of_uri   : uri -> string  (* base uri only, without trailing '/' *)
 
 (* given an uri, returns the uri of the corresponding cic file, *)
 (* i.e. removes the [.types][.ann] suffix                       *)
 val cicuri_of_uri : uri -> uri
 
+val strip_xpointer: uri -> uri      (* remove trailing #xpointer..., if any *)
+
 (* given an uri, returns the uri of the corresponding annotation file, *)
 (* i.e. adds the .ann suffix if not already present                    *)
 val annuri_of_uri : uri -> uri
 
-(* given an uri, tells if it refers to an annotation *)
 val uri_is_annuri : uri -> bool
+val uri_is_var : uri -> bool
+val uri_is_con : uri -> bool
+val uri_is_ind : uri -> bool
 
 (* given an uri of a constant, it gives back the uri of its body             *)
 (* it gives back None if the uri refers to a Variable or MutualInductiveType *)
@@ -53,3 +57,15 @@ val bodyuri_of_uri : uri -> uri option
 
 (* given an uri, it gives back the uri of its inner types             *)
 val innertypesuri_of_uri : uri -> uri
+(* given an uri, it gives back the uri of its univgraph             *)
+val univgraphuri_of_uri : uri -> uri
+
+(* builder for MutInd and MutConstruct URIs
+ * [uri] -> [typeno] -> [consno option]
+ *)
+val uri_of_uriref :  uri -> int -> int option -> uri
+
+module UriSet: Set.S with type elt = uri
+
+module UriHashtbl : Hashtbl.S with type key = uri
+