92 lines
2.2 KiB
OCaml
92 lines
2.2 KiB
OCaml
|
|
type ('a, _) ast = private
|
||
|
|
| Alternative : 'a list -> ('a, [> `Uncased ]) ast
|
||
|
|
| No_case : 'a -> ('a, [> `Cased ]) ast
|
||
|
|
| Case : 'a -> ('a, [> `Cased ]) ast
|
||
|
|
|
||
|
|
type cset = private
|
||
|
|
| Cset of Cset.t
|
||
|
|
| Intersection of cset list
|
||
|
|
| Complement of cset list
|
||
|
|
| Difference of cset * cset
|
||
|
|
| Cast of (cset, [ `Cased | `Uncased ]) ast
|
||
|
|
|
||
|
|
type ('a, 'case) gen = private
|
||
|
|
| Set of 'a
|
||
|
|
| Ast of (('a, 'case) gen, 'case) ast
|
||
|
|
| Sequence of ('a, 'case) gen list
|
||
|
|
| Repeat of ('a, 'case) gen * int * int option
|
||
|
|
| Beg_of_line
|
||
|
|
| End_of_line
|
||
|
|
| Beg_of_word
|
||
|
|
| End_of_word
|
||
|
|
| Not_bound
|
||
|
|
| Beg_of_str
|
||
|
|
| End_of_str
|
||
|
|
| Last_end_of_line
|
||
|
|
| Start
|
||
|
|
| Stop
|
||
|
|
| Group of string option * ('a, 'case) gen
|
||
|
|
| No_group of ('a, 'case) gen
|
||
|
|
| Nest of ('a, 'case) gen
|
||
|
|
| Pmark of Pmark.t * ('a, 'case) gen
|
||
|
|
| Sem of Automata.Sem.t * ('a, 'case) gen
|
||
|
|
| Sem_greedy of Automata.Rep_kind.t * ('a, 'case) gen
|
||
|
|
|
||
|
|
type t = (cset, [ `Cased | `Uncased ]) gen
|
||
|
|
type no_case = (Cset.t, [ `Uncased ]) gen
|
||
|
|
|
||
|
|
val to_dyn : t -> Dyn.t
|
||
|
|
val pp : t Fmt.t
|
||
|
|
val merge_sequences : (Cset.t, [ `Uncased ]) gen list -> (Cset.t, [ `Uncased ]) gen list
|
||
|
|
val handle_case : bool -> t -> (Cset.t, [ `Uncased ]) gen
|
||
|
|
val anchored : t -> bool
|
||
|
|
val colorize : Color_map.t -> (Cset.t, [ `Uncased ]) gen -> bool
|
||
|
|
|
||
|
|
module Export : sig
|
||
|
|
type nonrec t = t
|
||
|
|
|
||
|
|
val empty : t
|
||
|
|
val epsilon : t
|
||
|
|
val str : string -> t
|
||
|
|
val no_case : t -> t
|
||
|
|
val case : t -> t
|
||
|
|
val diff : t -> t -> t
|
||
|
|
val compl : t list -> t
|
||
|
|
val repn : t -> int -> int option -> t
|
||
|
|
val inter : t list -> t
|
||
|
|
val char : char -> t
|
||
|
|
val any : t
|
||
|
|
val set : string -> t
|
||
|
|
val mark : t -> Pmark.t * t
|
||
|
|
val nest : t -> t
|
||
|
|
val no_group : t -> t
|
||
|
|
val whole_string : t -> t
|
||
|
|
val leol : t
|
||
|
|
val longest : t -> t
|
||
|
|
val greedy : t -> t
|
||
|
|
val non_greedy : t -> t
|
||
|
|
val stop : t
|
||
|
|
val not_boundary : t
|
||
|
|
val group : ?name:string -> t -> t
|
||
|
|
val word : t -> t
|
||
|
|
val first : t -> t
|
||
|
|
val bos : t
|
||
|
|
val bow : t
|
||
|
|
val eow : t
|
||
|
|
val eos : t
|
||
|
|
val bol : t
|
||
|
|
val start : t
|
||
|
|
val eol : t
|
||
|
|
val opt : t -> t
|
||
|
|
val rep : t -> t
|
||
|
|
val rep1 : t -> t
|
||
|
|
val alt : t list -> t
|
||
|
|
val shortest : t -> t
|
||
|
|
val seq : t list -> t
|
||
|
|
val pp : t Fmt.t
|
||
|
|
val witness : t -> string
|
||
|
|
end
|
||
|
|
|
||
|
|
val cset : Cset.t -> t
|
||
|
|
val t_of_cset : cset -> t
|