0% found this document useful (0 votes)
69 views10 pages

Aim - Theory - What Is JFLAP ?

JFLAP is interactive educational software written in Java that allows users to experiment with topics in formal languages and automata theory. It was developed at Duke University with NSF support since 1993. JFLAP allows users to create and simulate structures like finite state machines and experiment with proofs. It covers topics on regular languages, context-free languages, and recursively enumerable languages. JFLAP has been widely used by thousands of students at universities around the world to learn concepts in formal languages and automata theory.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views10 pages

Aim - Theory - What Is JFLAP ?

JFLAP is interactive educational software written in Java that allows users to experiment with topics in formal languages and automata theory. It was developed at Duke University with NSF support since 1993. JFLAP allows users to create and simulate structures like finite state machines and experiment with proofs. It covers topics on regular languages, context-free languages, and recursively enumerable languages. JFLAP has been widely used by thousands of students at universities around the world to learn concepts in formal languages and automata theory.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Aim – To study 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.

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.
Regular languages - create

 DFA
 NFA
 regular grammar
 regular expression

Regular languages - conversions

 NFA -> DFA -> Minimal


DFA
 NFA <-> regular expression
 NFA <-> regular grammar

Context-free languages - create

 push-down automaton
 context-free grammar
Context-free languages -
transform

 PDA -> CFG


 CFG -> PDA (LL parser)
 CFG -> PDA (SLR parser)
 CFG -> CNF
 CFG -> LL parse table and
parser
 CFG -> SLR parse table and
parser
 CFG -> Brute force parser

Recursively Enumerable
languages

 Turing machine (1-tape)


 Turing machine (multi-tape)
 Turing machine (building
blocks)
 unrestricted grammar
 unrestricted gramamr ->
brute force parser

L-Systems

 Create L-systems
Topics covered in JFLAP
Topics on regular language include:

 finite state machine


 regular grammar
 regular expression
 Proof on nondeterministic finite automaton to deterministic finite
automaton
 Proof on deterministic finite automaton to regular grammar
 Proof on deterministic finite automaton to regular expression
 pumping lemma for regular languages
Topics on context-free 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 :-

Now, go to the official site of JFLAP and click on JFLAP software

Now click on JFLAP1.jar


Step 3 :-

Now click on JFLAP 7.1

And now you are free to use JFLAP


Conclusion: Hence, we have studied JFLAP.
References:

1.  Susan H. Rodger. "JFLAP 7.0 LICENSE". Retrieved 2


October 2016.
2. ^ D. Caugherty; S. H. Rodger (1992). "NPDA: A Tool for
Visualizing and Simulating Nondeterministic Pushdown
Automata". DIMACS Workshop March 12–14, 1992: 365–
377.
3. ^ Nathaniel Dean and Gregory E. Shannon, Editors
(1994). DIMACS Series in Discrete Mathematics and
Theoretical Computer Science: Computational Support for
Discrete Mathematics, DIMACS Workshop, March 12-14,
1992. Vol. 15. United States of America: American
Mathematical Society. ISBN 0821866052. {{cite
book}}: |author= has generic name (help)
4. ^ M. LoSacco; S. H. Rodger (1993). "FLAP: A Tool for
Drawing and Simulating Automata". EDMEDIA '93, World
Conference on Educational Multimedia and Hypermedia:
310–317.
5. ^ M. Procopiuc, O. Procopiuc; S. Rodger (1996).
"Visualization and Interaction in the Computer Science
Formal Languages Course with JFLAP". 1996 Frontiers in
Education Conference: 121–125.
6. ^ E. Gramond; S. H. Rodger (1999). "Using JFLAP to
Interact with Theorems in Automata Theory". Thirtieth
SIGCSE Technical Symposium on Computer Science
Education: 336–
340. doi:10.1145/299649.299800. ISBN 1581130856. S2CI
D 15210587.
7. ^ Susan H. Rodger; Eric Wiebe; Kyung Min Lee; Chris
Morgan; Kareem Omar; Jonathan Su (2009). "Increasing
Engagement in Automata Theory with JFLAP". Fortieth
SIGCSE Technical Symposium on Computer Science
Education: 403–407.
8. ^ P. Chakraborty; P.C. Saxena; C. P. Katti (2011). "Fifty
years of automata simulation: a review". ACM Inroads. 2 (4):
59–70. doi:10.1145/2038876.2038893. S2CID 6446749.
9. ^ NEEDS Premier press
release: http://www.jflap.org/Premier2007_pressrelease_v2.
pdf
10. ^ ACM
announcement: http://awards.acm.org/award_winners/rodge
r_2853521.cfm
11. ^ Susan Rodger; Thomas Finley (2006). JFLAP: An
Interactive Formal Languages and Automata Package.
Sudbury, MA: Jones and Bartlett. ISBN 0-7637-3834-4.
12. ^ G. L. Gopalakrishnan (2006). Computation
Engineering: Applied Automata Theory and Logic. Springer
Science+Business Media LLC. ISBN 978-0387244181.
13. ^ Mordachai Ben-Ari (2008). Principles of the Spin
Model Checker. Springer-Verlag London Limited. ISBN 978-
1846287695.
14. ^ Maxim Mozgovoy (2010). Algorithms, Languages,
Automata, and Compilers. Jones and Bartlett. ISBN 978-
0763776275.

You might also like