CSTC Banner

 CSTC home --> browse resources --> cover page

CSTC Resource Cover Page


JFLAP 3.1 - Formal Languages and Automata Package


JFLAP is a package of graphical tools which can be used as an aid in learning the basic concepts of Formal Languages and Automata Theory.

Using JFLAP, one should be able to design and simulate several variations of finite automata (FA), pushdown automata (PDA), one-tape Turing machines (TM) and two-tape Turing machines (TTM). The user draws the transition diagram of the desired automaton and, once the picture is complete, the user enters an input string and then "runs" the automaton, being able to view all the generated configurations.

New features in JFLAP 3.1 include several conversions from one representation to another. The conversions are nondeterministic finite automaton (NFA) to deterministic finite automaton (DFA), DFA to minimum state DFA, NFA to regular grammar, regular grammar to NFA, nondeterministic pushdown automaton (NPDA) to context-free grammar (CFG), NFA to regular expressions, regular expressions to NFA and three algorithms for CFG to NPDA. Two of the CFG to NPDA conversions are useful in studying LL and LR parsing. In addition, you can now slide the labels along the arcs and stretch the loops (grab the dot on top) for more room.


Susan Rodger
Duke University

platform requirements

JFLAP 3.1 is written in Java 1.2. It is an application, not an applet.

Previous versions of JFLAP are still available in Java 1.1.3


Please go to the JFLAP Home Page for more information and to download the source code