Transforming Automata

JFLAP also assists the user in performing some tasks on FSA's and PDA's. A nondeterministic FSA (NFA) can be transformed into the corresponding deterministic FSA (DFA) using the NFA to DFA option. A DFA can also be minimized, that is transformed into the equivalent DFA with the least number of states possible. During the transformation JFLAP allows the user to simply build the transformed automaton himself, and then check if the result is correct, or show the final result, or even just expand one state. Also, the user is allowed to convert to an NFA or a PDA to a grammar using the Convert to Grammar option. Using the Convert to Regular Expression option, JFLAP can convert an NFA to a Regular Expression . All the work is done in a new window, allowing the user to check the original automaton and compare the differences with the final result.

Most of the JFLAP conversions are within regular languages: NFA, DFA, Minimal DFA, Regular Expression, Regular Grammar. Below is a flow diagram showing the possible conversions in JFLAP. Any Regular Language can be converted to any other Regular Language through this flow diagram.

Conversions within the Context Free Languages involve the grammar conversions from and to a PDA. The conversion from a Context Free Grammar (CFG) to a PDA can occur in two ways: one modeling LL(1) parsing and a second modeling LR(1) parsing.