X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fnetstring_str.ml;fp=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fnetstring_str.ml;h=0000000000000000000000000000000000000000;hp=7353719dcc7c1dc036996692ca87b8378ed9ee33;hb=3ef089a4c58fbe429dd539af6215991ecbe11ee2;hpb=1c7fb836e2af4f2f3d18afd0396701f2094265ff diff --git a/helm/DEVEL/pxp/netstring/netstring_str.ml b/helm/DEVEL/pxp/netstring/netstring_str.ml deleted file mode 100644 index 7353719dc..000000000 --- a/helm/DEVEL/pxp/netstring/netstring_str.ml +++ /dev/null @@ -1,241 +0,0 @@ -(* $Id$ - * ---------------------------------------------------------------------- - * - *) - -let lock = ref (fun () -> ());; -let unlock = ref (fun () -> ());; - -let init_mt new_lock new_unlock = - lock := new_lock; - unlock := new_unlock -;; - -let protect f = - !lock(); - try - let r = f() in - !unlock(); - r - with - x -> - !unlock(); - raise x -;; - -type regexp = Str.regexp;; -type split_result = Str.split_result = Text of string | Delim of string;; - -type result = - { pos : int; - match_beg : int; - match_end : int; - group_beg : int array; - group_end : int array; - } -;; - -let regexp s = - protect - (fun () -> Str.regexp s) -;; - -let regexp_case_fold s = - protect - (fun () -> Str.regexp_case_fold s) -;; - -let quote s = - protect - (fun () -> Str.quote s) -;; - -let regexp_string s = - protect - (fun () -> Str.regexp_string s) -;; - -let regexp_string_case_fold s = - protect - (fun () -> Str.regexp_string_case_fold s) -;; - -let return_result pos n_groups = - let r = - { pos = pos; - match_beg = (try Str.match_beginning() with Not_found -> -1); - match_end = (try Str.match_end() with Not_found -> -1); - group_beg = Array.create n_groups (-1); - group_end = Array.create n_groups (-1); - } - in - for g = 0 to n_groups - 1 do - r.group_beg.(g) <- (try Str.group_beginning (g+1) with Not_found -> -1); - r.group_end.(g) <- (try Str.group_end (g+1) with Not_found -> -1); - done; - r -;; - -let string_match ?(groups = 9) ~pat s ~pos = - protect - (fun () -> - if Str.string_match pat s pos then - Some (return_result pos groups) - else - None - ) -;; - -let string_partial_match ?(groups = 9) ~pat s ~pos = - protect - (fun () -> - if Str.string_partial_match pat s pos then - Some (return_result pos groups) - else - None - ) -;; - -let search_forward ?(groups = 9) ~pat s ~pos = - protect - (fun () -> - let i = Str.search_forward pat s pos in - i, return_result pos groups - ) -;; - -let search_backward ?(groups = 9) ~pat s ~pos = - protect - (fun () -> - let i = Str.search_backward pat s pos in - i, return_result pos groups - ) -;; - -let matched_string result s = - if result.match_beg < 0 or result.match_end < 0 then raise Not_found; - String.sub s result.match_beg (result.match_end - result.match_beg) -;; - -let match_beginning result = - if result.match_beg < 0 then raise Not_found; - result.match_beg -;; - -let match_end result = - if result.match_end < 0 then raise Not_found; - result.match_end -;; - -let matched_group result n s = - if n < 0 || n >= Array.length result.group_beg then raise Not_found; - let gbeg = result.group_beg.(n-1) in - let gend = result.group_end.(n-1) in - if gbeg < 0 or gend < 0 then raise Not_found; - String.sub s gbeg (gend - gbeg) -;; - -let group_beginning result n = - if n < 0 || n >= Array.length result.group_beg then raise Not_found; - let gbeg = result.group_beg.(n-1) in - if gbeg < 0 then raise Not_found else - gbeg -;; - -let group_end result n = - if n < 0 || n >= Array.length result.group_end then raise Not_found; - let gend = result.group_end.(n-1) in - if gend < 0 then raise Not_found else - gend -;; - -let global_replace ~pat ~templ s = - protect - (fun () -> - Str.global_replace pat templ s) -;; - -let replace_first ~pat ~templ s = - protect - (fun () -> - Str.replace_first pat templ s) -;; - -let global_substitute ?(groups = 9) ~pat ~subst s = - protect - (fun () -> - let xsubst s = - let r = return_result 0 groups in - subst r s - in - Str.global_substitute pat xsubst s) -;; - -let substitute_first ?(groups = 9) ~pat ~subst s = - protect - (fun () -> - let xsubst s = - let r = return_result 0 groups in - subst r s - in - Str.substitute_first pat xsubst s) -;; - -(* replace_matched: n/a *) - -let split ~sep s = - protect - (fun () -> - Str.split sep s) -;; - -let bounded_split ~sep s ~max = - protect - (fun () -> - Str.bounded_split sep s max) -;; - -let split_delim ~sep s = - protect - (fun () -> - Str.split_delim sep s) -;; - -let bounded_split_delim ~sep s ~max = - protect - (fun () -> - Str.bounded_split_delim sep s max) -;; - -let full_split ~sep s = - protect - (fun () -> - Str.full_split sep s) -;; - -let bounded_full_split ~sep s ~max = - protect - (fun () -> - Str.bounded_full_split sep s max) -;; - -let string_before = Str.string_before;; -let string_after = Str.string_after;; -let first_chars = Str.first_chars;; -let last_chars = Str.last_chars;; - -(* ====================================================================== - * History: - * - * $Log$ - * Revision 1.1 2000/11/17 09:57:28 lpadovan - * Initial revision - * - * Revision 1.2 2000/06/25 21:15:48 gerd - * Checked thread-safety. - * - * Revision 1.1 2000/06/25 20:48:19 gerd - * Initial revision. - * - * - *)