regex-tdfa-1.1.1: Replaces/Enhances Text.RegexContentsIndex
Text.Regex.TDFA.TDFA
Description
Text.Regex.TDFA.TDFA converts the QNFA from TNFA into the DFA. A DFA state corresponds to a Set of QNFA states, repesented as list of Index which are used to lookup the DFA state in a lazy Trie which holds all possible subsets of QNFA states.
Synopsis
patternToRegex :: (Pattern, (GroupIndex, DoPa)) -> CompOption -> ExecOption -> Regex
data DFA = DFA {
d_id :: SetIndex
d_dt :: DT
}
data DT
= Simple' {
dt_win :: IntMap Instructions
dt_trans :: CharMap Transition
dt_other :: Transition
}
| Testing' {
dt_test :: WhichTest
dt_dopas :: EnumSet DoPa
dt_a :: DT
dt_b :: DT
}
examineDFA :: Regex -> String
nfaToDFA :: ((Index, Array Index QNFA), Array Tag OP, Array GroupIndex [GroupInfo]) -> CompOption -> ExecOption -> Regex
dfaMap :: DFA -> Map SetIndex DFA
Documentation
patternToRegex :: (Pattern, (GroupIndex, DoPa)) -> CompOption -> ExecOption -> Regex
data DFA
Internal DFA node, identified by the Set of indices of the QNFA nodes it represents.
Constructors
DFA
d_id :: SetIndex
d_dt :: DT
show/hide Instances
data DT
Internal to the DFA node
Constructors
Simple'
dt_win :: IntMap InstructionsActions to perform to win
dt_trans :: CharMap TransitionTransition to accept Char
dt_other :: Transitiondefault accepting transition
Testing'
dt_test :: WhichTestThe test to perform
dt_dopas :: EnumSet DoPalocation(s) of the anchor(s) in the original regexp
dt_a :: DTuse dt_a if test is True else use dt_b
dt_b :: DTuse dt_a if test is True else use dt_b
show/hide Instances
examineDFA :: Regex -> String
nfaToDFA :: ((Index, Array Index QNFA), Array Tag OP, Array GroupIndex [GroupInfo]) -> CompOption -> ExecOption -> Regex
dfaMap :: DFA -> Map SetIndex DFA
Produced by Haddock version 2.3.0