Aim - Theory - What Is JFLAP ?
Aim - Theory - What Is JFLAP ?
Theory –
What Is JFLAP ?
JFLAP (Java Formal Languages and Automata Package)
is interactive educational software written in Java for experimenting
with topics in the computer science area of formal
languages and automata theory, primarily intended for use at the
undergraduate level or as an advanced topic for high school. JFLAP
allows one to create and simulate structures, such as programming a
finite state machine, and experiment with proofs, such as converting
a nondeterministic finite automaton (NFA) to a deterministic finite
automaton (DFA).
JFLAP is developed and maintained at Duke University, with support
from the National Science Foundation since 1993. It is freeware and the
source code of the most recent version is available, but under some
restrictions. JFLAP runs as a Java application.
DFA
NFA
regular grammar
regular expression
push-down automaton
context-free grammar
Context-free languages -
transform
Recursively Enumerable
languages
L-Systems
Create L-systems
Topics covered in JFLAP
Topics on regular language include:
pushdown automata
context-free grammar
proof on wikt:nondeterministic pushdown automaton to context-free
grammar
proof on context-free grammar to pushdown automaton
pumping lemma for context-free language
CYK parser
LL parser
SLR parser
Topics on recursively enumerable language:
Turing machine
unrestricted grammar
Other related topics:
Moore machine
Mealy machine
L-system
History about JFLAP
Before JFLAP, there were several software tools related to automata
theory developed by Susan H. Rodger and her students starting around
1990 in the Computer Science Department at Rensselaer Polytechnic
Institute. In 1992, the first published paper at a DIMACS 2012
workshop described a related tool called NPDA (the paper was
published later in 1994 in a DIMACS series). NPDA then evolved into
FLAP, including also finite state machines and Turing machines. In
1993, a paper on Formal Languages and Automata Package (FLAP) was
published . At that time, the tool was written in C++ and X Window.
Around 1994, Rodger moved to Duke University and continued tool
development. Around 1996, FLAP was converted to Java and the first
paper mentioned JFLAP was published in 1996 Along the way, other
tools were developed as stand alone tools and then later integrated into
JFLAP. For example, a paper in 1999 described how JFLAP now
allowed one to experiment with construction type proofs, such as
converting an NFA to a DFA to a minimal state DFA, and as another
example, converting NPDA to CFG and vice versa. In 2002 JFLAP was
converted to Swing. In 2005-2007 a study was run with fourteen
institutions using JFLAP. A paper on this study in 2009 showed that
students using JFLAP thought JFLAP made them feel more engaged in
the class, and made learning the concepts easier.
The history of JFLAP is covered on the jflap.org site, and includes over
35 students from Rensselaer Polytechnic Institute and Duke
University who have worked on JFLAP and related tools since 1990.
A paper by Chakraborty, Saxena and Katti entitled "Fifty years of
automata simulation: a review" in ACM Inroads magazine in December
2011 stated the following about JFLAP: "The effort put into developing
this tool is unparalleled in the field of simulation of automata. As a
result, today it is the most sophisticated tool for simulating automata. It
now covers a large number of topics on automata and related fields. The
tool is also the best documented among the tools for simulation of
automata." and "The tool uses state of the art graphics and is one of the
easiest to use. The tool is undoubtedly the most widely used tool for
simulation of automata developed to date. Thousands of students have
used it at numerous universities in more than a hundred countries."
Installing JFLAP :
Step 1 :-
Go to their official site to download latest version of Java for your
system ,
(https://download.oracle.com/java/17/archive/jdk-17.0.2_windows-
x64_bin.exe) and install it.
STEP 2 :-