Module Glob.NFA


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