14 - Manju Ghatode - Practical - 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Name : Manju Ghatode Course Code : CT2335

Roll No : A_14 Course Name : LP_Lab

Reg. No : 19010276 Semester : 6th

PRACTICAL NO – 1

Aim: To study JFLAP .

Theory :

1. Introduction to JFLAP :

JFLAP is software for experimenting with formal languages topics including nondeterministic
finite automata, nondeterministic pushdown automata, multi-tape Turing machines, several
types of grammars, parsing, and L-systems. In addition to constructing and testing examples
for these, JFLAP allows one to experiment with construction proofs from one form to another,
such as converting an NFA to a DFA to a minimal state DFA to a regular expression or regular
grammar.2.

2. What Is JFLAP?

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

JFLAP allows users to create and operate on automata, grammars, L-systems, and regular
expressions; the term structure is used to refer to any single automaton, grammar, L-system,
or regular expression. JFLAP offers the following major groups of operations to apply to
structures:

• Explore the Language of Structures - JFLAP has the ability to simulate input strings on
nondeterministic automata, build parse tables and parse trees for grammars, and render
successive expansions of L-systems. The automata represented in JFLAP are finite
automata (FA), pushdown automata (PDA), and multitape Turing machines. The parsing
algorithms in JFLAP are brute-force parsing, LL(1) parsing, and SLR(1) parsing.

• Convert Between Equivalent Structures - A wide range of conversion abilities are


available, e.g., regular expression to FA, nondeterministic FA to deterministic FA (DFA),
PDA to grammar, grammar to PDA, DFA to minimized DFA, context-free grammar to
Chomsky Normal Form grammar, and others.
• Miscellaneous Analysis of Structures - JFLAP also offers a few sundry analysis tools to
display properties of structures, like highlighting lambda-transitions, highlighting
nondeterministic states, and determining the equivalence of two FAs.
JFLAP uses general definitions of its structures to allow it to fit with a range of textbooks. We
mention some of these definitions here. Instructors might prefer to require students to use a
subset of the JFLAP definition if that fits with their textbook.

• Finite automata allow users to enter strings of length zero or greater. Instead, an
instructor might want to require students to enter strings of length zero or one.
• Pushdown automata can pop zero or more symbols from the stack in each transition.
An instructor might want to require students to always pop one symbol.
• Turing machine movements for the tape head are Right, Left, and Stay. An instructor
might want to require students to use only Right and Left.

See the papers on JFLAP that describe many uses of JFLAP.

3. Downloding steps for JFLAP :

1. First before you download JFLAP you need to download jdk.

a) Downloding steps for jdk.

1. Open your browser and type there Java jdk.


2. Or click below link. You found window below like that. Double click on it.
Java Downloads | Oracle
https://www.oracle.com/java/technologies/downloads
3. Go to the resources and software downloads.

4. Scroll down and go to the java and select java(JDK)for developers


4 . select your PC type and choose according to that.

5. Double click on it your downloading will be start.

6. After downloading finished Go to the download and double click on jdk


17_windows-x64_bin
7. Click on install and your installing will start.

8. I agree and closed it.


b) Downloading steps for JFLAP 7.1 :

1. Go to the search bar and type jflap.


2. Or using below link: and double click on it.
3. https://www.jflap.org/jflaptmp
4. Double click on it. You got it window below like it. Select JFLAP 7.1

5. Now your downloading will be start.

6. Go to the download. Double click on JFLAG tool. And open with Java (TM ) platform SE
Binary
7. Click on finite automation.
8. You got it window below like it.

(S)State creator (T)Transition Creator (D)Delete

Undoer(r)-Click
anywhere in
the editor
pane after
clicking me.
(A)Attribute
editor User Interface to draw automation

(U)ndoer-Click
anywhere in the
editor pane after
clicking me

Conclusion : I have downloaded, studied JFLAP tool and its working properly.

You might also like