Compiles the given pattern into a NFAFactory. The NFA factory can be used to
create multiple NFAs.
This method creates an alternative state that is target for TAKE transition from
an optional State.
Creates the dummy Final State of the NFA graph.
Creates the given state as a looping one. Looping state is one with TAKE edge to
itself and PROCEED
Creates all the states between Start and Final state.
Creates a simple single state. For an OPTIONAL state it also consists of a
similar state without the
Creates the Start State of the resulting NFA graph.