Module Earley_core.Regexp

type regexp =
| Chr of char
| Set of Charset.t
| Seq of regexp list
| Alt of regexp list
| Opt of regexp
| Str of regexp
| Pls of regexp
| Sav of regexp * string Stdlib.ref

Type of a regular expression.

exception Regexp_error of Input.buffer * int

Exception that is raised when a regexp cannot be read.

val print_regexp : Stdlib.out_channel -> regexp -> unit
val accept_empty : regexp -> bool
val accepted_first_chars : regexp -> Charset.t
val regexp_from_string : string -> regexp * string Stdlib.ref array
val read_regexp : regexp -> Input.buffer -> int -> Input.buffer * int

read_regexp re buf pos attempts to parse using the buffer buf at position pos using the regular expression re. The return value is a triple of the parsed string, the buffer after parsing and the position after parsing. The exception Regexp_error(err_buf, err_pos is raised in case of failure at the given position.