DFA created by subset construction from regex patterns. More...
Classes | |
struct | MetaEdgesClosure |
struct | State |
Public Types | |
typedef std::list< State * > | List |
Public Member Functions | |
DFA () | |
~DFA () | |
void | clear () |
delete DFA and reset to initial state. More... | |
State * | state () |
new DFA state. More... | |
State * | state (Positions &pos) |
new DFA state with positions, destroys pos. More... | |
State * | state (State *tnode) |
new DFA state with optional tree DFA node and positions, destroys pos. More... | |
State * | state (State *tnode, Positions &pos) |
new DFA state with optional tree DFA node and positions, destroys pos. More... | |
State * | root () |
root of the DFA is the first state created or NULL. More... | |
State * | start () |
start state the DFA is the first state created. More... | |
Public Attributes | |
List | list |
block allocation list More... | |
uint16_t | next |
block allocation, next available slot in last block More... | |
Static Public Attributes | |
static const uint16_t | ALLOC = 1024 |
allocate 1024 DFA states at a time, to improve performance More... | |
static const uint16_t | MAX_DEPTH = 256 |
analyze DFA up to states this deep to improve predict match More... | |
static const Index | MAX_STATES = Const::GMAX |
maximum number of states More... | |
static const Index | DEAD_PATH = 1 |
state marker "path always and only reaches backedges" (a dead end) More... | |
static const Index | KEEP_PATH = MAX_DEPTH |
state marker "required path" (from a newline edge) More... | |
static const Index | LOOP_PATH = MAX_DEPTH + 1 |
state marker "path reaches a backedge" (collect lookback chars) More... | |
DFA created by subset construction from regex patterns.
typedef std::list<State*> reflex::Pattern::DFA::List |
|
inline |
|
inline |
|
inline |
delete DFA and reset to initial state.
new DFA state with positions, destroys pos.
|
static |
allocate 1024 DFA states at a time, to improve performance
|
static |
state marker "path always and only reaches backedges" (a dead end)
state marker "required path" (from a newline edge)
List reflex::Pattern::DFA::list |
block allocation list
state marker "path reaches a backedge" (collect lookback chars)
|
static |
analyze DFA up to states this deep to improve predict match
|
static |
maximum number of states
uint16_t reflex::Pattern::DFA::next |
block allocation, next available slot in last block