Classes and predicates that create an NFA and various algorithms for working with it.
Gets a state the NFA may be in after matching
Holds if the NFA has a transition from
Holds if there is a state
Gets a state that has an epsilon transition to
Gets a state that
Gets a symbol that matches
Gets a char class that represents
Gets the root containing the given term, that is, the root of the literal, or a branch of the root disjunction.
Gets a string for the full location of
Gets a character that is represented by both
Gets a state that is about to match the regular expression
An abstract input symbol that represents a character class.
A lookahead/lookbehind that matches the empty string.
An abstract input symbol, representing a set of concrete characters.
A branch in a disjunction that is the root node in a literal, or a literal whose root node is not a disjunction.
A regexp term that is relevant for this ReDoS analysis.
A state in the NFA corresponding to a regular expression.
A state in the NFA.
Implements an algorithm for computing all possible strings from following a tree of nodes (as described in
Predicates for constructing a prefix string that leads to a given state.
A module for pruning candidate ReDoS states. The candidates are specified by the
A module that describes a tree where each node has one or more associated characters, also known as a trie. The root node has no associated character. This module is a signature used in