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,58 @@
(** A view of the top-level of a regex. This type is unstable and may change *)
module Cset : sig
type t = Cset.t
module Range : sig
type t
val first : t -> Char.t
val last : t -> Char.t
end
val view : t -> Range.t list
end
module Sem : sig
type t =
[ `Longest
| `Shortest
| `First
]
end
module Rep_kind : sig
type t =
[ `Greedy
| `Non_greedy
]
end
type t =
| Set of Cset.t
| Sequence of Ast.t list
| Alternative of Ast.t list
| Repeat of Ast.t * 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
| Sem of Sem.t * Ast.t
| Sem_greedy of Rep_kind.t * Ast.t
| Group of string option * Ast.t
| No_group of Ast.t
| Nest of Ast.t
| Case of Ast.t
| No_case of Ast.t
| Intersection of Ast.t list
| Complement of Ast.t list
| Difference of Ast.t * Ast.t
| Pmark of Pmark.t * Ast.t
val view : Ast.t -> t