X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fnetstring_str.mli;fp=helm%2FDEVEL%2Fpxp%2Fnetstring%2Fnetstring_str.mli;h=86d684099ee080ffd16d38f11f4715956c0577d9;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/netstring/netstring_str.mli b/helm/DEVEL/pxp/netstring/netstring_str.mli new file mode 100644 index 000000000..86d684099 --- /dev/null +++ b/helm/DEVEL/pxp/netstring/netstring_str.mli @@ -0,0 +1,82 @@ +(* $Id$ + * ---------------------------------------------------------------------- + * + *) + +(* This module is a version of Str with a thread-safe interface *) + +type regexp = Str.regexp;; +type split_result = Str.split_result = Text of string | Delim of string;; + +type result;; + (* The type of matching results *) + +val regexp: string -> regexp +val regexp_case_fold: string -> regexp +val quote: string -> string +val regexp_string: string -> regexp +val regexp_string_case_fold: string -> regexp + +val string_match: + ?groups:int -> pat:regexp -> string -> pos:int -> result option +val search_forward: + ?groups:int -> pat:regexp -> string -> pos:int -> (int * result) +val search_backward: + ?groups:int -> pat:regexp -> string -> pos:int -> (int * result) +val string_partial_match: + ?groups:int -> pat:regexp -> string -> pos:int -> result option + +(* The ~groups option specifies how many groups will be stored into + * 'result'. Default: 9 + *) + +val matched_string : result -> string -> string +val match_beginning : result -> int +val match_end : result -> int +val matched_group : result -> int -> string -> string +val group_beginning : result -> int -> int +val group_end : result -> int -> int + +val global_replace: pat:regexp -> templ:string -> string -> string +val replace_first: pat:regexp -> templ:string -> string -> string +val global_substitute: + ?groups:int -> + pat:regexp -> subst:(result -> string -> string) -> string -> string +val substitute_first: + ?groups:int -> + pat:regexp -> subst:(result -> string -> string) -> string -> string + +(* replace_matched: not available *) + +val split: sep:regexp -> string -> string list +val bounded_split: sep:regexp -> string -> max:int -> string list +val split_delim: sep:regexp -> string -> string list +val bounded_split_delim: sep:regexp -> string -> max:int -> string list +val full_split: sep:regexp -> string -> split_result list +val bounded_full_split: sep:regexp -> string -> max:int -> split_result list + +val string_before: string -> int -> string +val string_after: string -> int -> string +val first_chars: string -> len:int -> string +val last_chars: string -> len:int -> string + +(* Private: *) + +val init_mt : (unit -> unit) -> (unit -> unit) -> unit + + +(* ====================================================================== + * 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. + * + * + *)