This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,84 @@
(*
RE - A regular expression library
Copyright (C) 2001 Jerome Vouillon
email: Jerome.Vouillon@pps.jussieu.fr
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation, with
linking exception; either version 2.1 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*)
(* Character sets, represented as sorted list of intervals *)
type c [@@immediate]
val equal_c : c -> c -> bool
val to_int : c -> int
val of_int : int -> c
val to_char : c -> char
val of_char : char -> c
type t
(** special characters which isn't present in any set (not even in [cany]) *)
val null_char : c
val equal : t -> t -> bool
val iter : t -> f:(c -> c -> unit) -> unit
val union : t -> t -> t
val union_all : t list -> t
val intersect_all : t list -> t
val inter : t -> t -> t
val diff : t -> t -> t
val empty : t
val single : c -> t
val add : c -> t -> t
val mem : c -> t -> bool
val case_insens : t -> t
val cdigit : t
val calpha : t
val cword : t
val notnl : t
val ascii : t
val nl : t
val cseq : char -> char -> t
val set : string -> t
val blank : t
val space : t
val xdigit : t
val lower : t
val upper : t
val alpha : t
val alnum : t
val wordc : t
val cntrl : t
val graph : t
val print : t
val punct : t
val pp : t Fmt.t
val one_char : t -> c option
val fold_right : t -> init:'acc -> f:(c -> c -> 'acc -> 'acc) -> 'acc
val hash : t -> int
val compare : t -> t -> int
module CSetMap : Map.S with type key = int * t
val cany : t
val csingle : char -> t
val is_empty : t -> bool
val prepend : t -> 'a list -> (t * 'a list) list -> (t * 'a list) list
val pick : t -> c
val offset : int -> t -> t
val to_dyn : t -> Dyn.t