The NFA to DFA option
The NFA to DFA option lets you take any Nondeterministic Finite
Automaton (NFA) and convert it into an equivalent Deterministic
Finite Automaton (DFA). The NFA to DFA button is located in the
Options menu. Once an NFA is built, select the "Convert to
DFA" option in the menubar. A new window will appear in
which you can start building the DFA.
Algorithm:
The first state in the DFA includes the start state from the NFA.
The closure of this state is taken, and any additional states
reachable by epsilon rules are included in the start state for
the NFA.
In the DFA, an arc from state X to state Y must be labeled with a
terminal. The label of state Y includes all states from the NFA
reachable on that terminal from a state in the label in X. In
addition, the closure of state Y is taken to include additional
states reachable on epsilon transitions.
Labels:
In the NFA, each state has a name label (rectangular box on top
of the state). The name is the list of the numbers of the
corresponding states separated by commas. For example a state in
the NFA corresponding to the states q0, q2 and q3 in the DFA
should be labeled "0,2,3". To enter the name of a
state, first select the state by clicking on the label. You can
switch between the different fields in the label by using tab and
shift-tab like in a normal transition label. Labels can also be
hidden if they take too much space, by toggling the "Show
Name Labels" in the "NFA to DFA" section of the
Options menubar.
The following options are available in the solve menu while
building the DFA: