Class Make :: StateTuple
A state (q1, q2, q3)
in the product automaton, that is reachable from (pivot, pivot, pumpEnd)
.
We lazily only construct those states that we are actually
going to need.
Either a start state (pivot, pivot, pumpEnd)
, or a state
where there exists a transition from an already existing state.
The exponential variant of this query (js/redos
) uses an optimization
trick where q1 <= q2
. This trick cannot be used here as the order
of the elements matter.
Import path
import codeql.regex.nfa.SuperlinearBackTracking
Direct supertypes
Predicates
getFirst |
Gets the first state of the tuple. |
getPivot |
Gets the pivot state. |
getPumpEnd |
Gets the pumpEnd state. |
getSecond |
Gets the second state of the tuple. |
getThird |
Gets the third state of the tuple. |
hasLocationInfo |
Holds if the pivot state has the specified location. This location has been chosen arbitrarily, and is only useful for debugging. |
isTuple |
Holds if this tuple is |
toString |
Gest a string representation of this tuple. |