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: