module MakeGlushkovType: functor (
Letter
:
Set.OrderedType
) ->
GlushkovType
with type Regexp.letter = Letter.t
and type NFA.letter = Letter.t
and type NFA.Alphabet.elt = Letter.t
and type NFA.StateToTransitionMap.key = int
and type NFA.TransitionMap.key = Letter.t
and type NFA.StateSet.elt = int
and type DFA.letter = Letter.t
and type DFA.Alphabet.elt = Letter.t
and type DFA.StateToTransitionMap.key = int
and type DFA.TransitionMap.key = Letter.t
and type DFA.StateSet.elt = int
and type NFAPair.letter = Letter.t
and type NFAPair.Alphabet.elt = Letter.t
and type NFAPair.StateToTransitionMap.key = int * int
and type NFAPair.TransitionMap.key = Letter.t
and type NFAPair.StateSet.elt = int * int
module Regexp: Regexp.RegexpType
module NFA: Nfa.NFA
module DFA: Dfa.DFA
module NFAPair: Nfa.NFA
val build_glushkov : Regexp.regexp -> NFA.nfa
val build_dtm_glushkov : Regexp.regexp -> DFA.dfa
val negates_in_alphabet_space : DFA.dfa -> DFA.Alphabet.t -> DFA.dfa
val intersects : NFA.nfa -> NFA.nfa -> NFAPair.nfa
val intersects_dtm : NFA.nfa -> DFA.dfa -> NFAPair.nfa
val print_intersection : (NFAPair.Alphabet.elt -> unit) ->
(NFAPair.StateSet.elt -> unit) -> NFAPair.nfa -> unit