mte/unikernel/duniverse/ocaml-re/lib/compile.mli
2025-11-11 02:07:51 +01:00

59 lines
1.1 KiB
OCaml

type re
module Stream : sig
type t
type 'a feed =
| Ok of 'a
| No_match
val create : re -> t
val feed : t -> string -> pos:int -> len:int -> t feed
val finalize : t -> string -> pos:int -> len:int -> bool
module Group : sig
type stream := t
type t
module Match : sig
type t
val get : t -> int -> string option
val test_mark : t -> Pmark.t -> bool
end
val create : stream -> t
val feed : t -> string -> pos:int -> len:int -> t feed
val finalize : t -> string -> pos:int -> len:int -> Match.t feed
val no_match_starts_before : t -> int
end
end
type match_info =
| Match of Group.t
| Failed
| Running of { no_match_starts_before : int }
val match_str_no_bounds
: groups:bool
-> partial:bool
-> re
-> string
-> pos:int
-> len:int
-> match_info
val match_str
: groups:bool
-> partial:bool
-> re
-> string
-> pos:int
-> len:int
-> match_info
val match_str_p : re -> string -> pos:int -> len:int -> bool
val compile : Ast.t -> re
val group_count : re -> int
val group_names : re -> (string * int) list
val pp_re : re Fmt.t