module Internal: sig
.. end
Internal types
exception ConverterFailure of string * string
type ('a, 'b)
conv = {
|
to_ : 'a -> 'b option ; |
|
from_ : 'b -> 'a ; |
}
type 'a
raw =
| |
Regexp : Re.t * Re.re Lazy.t -> string raw |
| |
Conv : string * 'a0 raw * ('a0, 'b) conv -> 'b raw |
| |
Opt : 'a1 raw -> 'a1 option raw |
| |
Alt : 'a2 raw * 'b0 raw -> [ `Left of 'a2 | `Right of 'b0 ] raw |
| |
Seq : 'a3 raw * 'b1 raw -> ('a3 * 'b1) raw |
| |
Prefix : 'b2 raw * 'b2 * 'a4 raw -> 'a4 raw |
| |
Suffix : 'a5 raw * 'b3 * 'b3 raw -> 'a5 raw |
| |
Rep : 'a6 raw -> 'a6 Tyre.gen raw |
| |
Mod : (Re.t -> Re.t) * 'a7 raw -> 'a7 raw |
val from_t : 'a Tyre.t -> 'a raw
val to_t : 'a raw -> 'a Tyre.t
type '_
wit =
| |
Regexp : Re.t -> string wit |
| |
Conv : string * 'a wit * ('a, 'b) conv -> 'b wit |
| |
Opt : Re.markid * int * 'a0 wit -> 'a0 option wit |
| |
Alt : Re.markid * int * 'a1 wit * Re.markid * 'b0 wit -> [ `Left of 'a1 | `Right of 'b0 ] wit |
| |
Seq : 'a2 wit * 'b1 wit -> ('a2 * 'b1) wit |
| |
Rep : 'a3 wit * Re.re -> 'a3 Tyre.gen wit |
val build : 'a raw -> int * 'a wit * Re.t
: 'a wit -> int -> Re.substrings -> int * 'a