A state in the NFA corresponding to a regular expression.
Each regular expression literal l has one accepting state
Accept(l), one state that accepts all suffixes AcceptAnySuffix(l),
and a state Match(t, i) for every subterm t,
which represents the state of the NFA before starting to
match t, or the ith character in t if t is a constant.
Import path
import codeql.regex.nfa.NfaUtils