X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fcomponents%2Furimanager%2FuriManager.ml;h=2d099a4e9748bf64cae26ef76bf6361ce9986821;hb=11b2157bacf59cfc561c2ef6f92ee41ee2c1a006;hp=eb0388cc297a80e0e6a29f7f5fe3ef31af864102;hpb=ee3f8d6fa92b051394a2ff7c71c03ac33a05182b;p=helm.git diff --git a/helm/software/components/urimanager/uriManager.ml b/helm/software/components/urimanager/uriManager.ml index eb0388cc2..2d099a4e9 100644 --- a/helm/software/components/urimanager/uriManager.ml +++ b/helm/software/components/urimanager/uriManager.ml @@ -191,6 +191,25 @@ let bodyuri_of_uri (uri, _) = None ;; +let ind_uri_split ((s, _) as uri) = + let noxp = strip_xpointer uri in + try + (let arg_index = String.rindex s '(' in + try + (let ty_index = String.index_from s arg_index '/' in + try + (let k_index = String.index_from s (ty_index+1) '/' in + let tyno = int_of_string (String.sub s (ty_index + 1) (k_index - ty_index - 1)) in + let kno = int_of_string (String.sub s (k_index + 1) (String.length s - k_index - 2)) in + noxp, Some tyno, Some kno) + with Not_found -> + let tyno = int_of_string (String.sub s (ty_index + 1) (String.length s - ty_index - 2)) in + noxp, Some tyno, None) + with Not_found -> noxp, None, None + ) + with Not_found -> noxp, None, None +;; + (* these are bugged! * we should remove _types, _univ, _ann all toghether *) let innertypesuri_of_uri (uri, _) = @@ -220,6 +239,19 @@ end module UriSet = Set.Make (OrderedUri) +(* +module OrderedUriPair = +struct + type t = uri * uri + let compare (u11, u12) (u21, u22) = + match compare u11 u21 with + | 0 -> compare u12 u22 + | x -> x +end + +module UriPairSet = Set.Make (OrderedUriPair) +*) + module HashedUri = struct type t = uri