module NFA: sig
.. end
type
transition =
| |
QCLASS of character_class |
| |
QEPSILON |
module IS: My_std.Set.Make
(
sig
type
t = int
val compare : 'a -> 'a -> int
val print : Format.formatter -> int -> unit
end
)
module ISM: Map.Make
(
sig
type
t = Glob.NFA.IS.t
val compare : Glob.NFA.IS.t -> Glob.NFA.IS.t -> int
val print : Format.formatter -> Glob.NFA.IS.t -> unit
end
)
type
machine = {
|
mc_qi : IS.t ; |
|
mc_table : (character_class * IS.t) list array ; |
|
mc_qf : int ; |
|
mc_power_table : (char, IS.t ISM.t) Hashtbl.t ; |
}
val build' : pattern -> IS.t array * IS.t array * machine
val build : pattern -> machine
val run : ?trace:bool -> machine -> string -> bool