Copyright © 1999-2001 University Of Saarland, Germany
The GaniFA applet visualizes and animates the following algorithms:
- Generation of a non-deterministic finite automaton (NFA) from a
regular expression RE.
- Removal of
-transitions of a NFA.
- Transformation of a deterministic finite automaton (DFA) from a NFA
without
-transitions.
- Minimization of a deterministic finite automaton (minDFA).
- For each of the above automata generated above, the applet can
visualize the computation of the automaton on an input word.
GaniFA is customizable through a large set of parameters.
In particular, it is possible to visualize only some of the
algorithms and to pass a finite automaton or a regular
expression as well as an input word to the applet.
Customizing GaniFA
GaniFA can be customized through a large set of different
parameters. The applet is included in a Web page with the
<EMBED>
tag as shown in the following program fragment. This
example illuminates the use of the parameters too, which
are defined in the following paragraphs. Test this example here.
...
<EMBED
TYPE = "application/x-java-applet;version=1.2"
CODE = ganimal.applications.ganifa.VisualApplet.class
ARCHIVE = ganifa.jar
WIDTH = 600
HEIGHT = 35
RegEdit = "on"
RegExp = "(a|b)"
Language = "E"
StepNFAVis = "on"
StepCheck1 = "off"
StepEEpVis = "off"
StepCheck2 = "off"
StepDEAVis = "off"
StepCheck3 = "off"
StepMinVis = "off"
StepCheck4 = "off">
...
This is a working example for the Netscape Navigator. In case of Internet Explorer, the applet
has to be included with the <OBJECT>
tag. A
HTML specification of using
Java Plug-in is given on SUN's Java Plug-in Homepage. The GaniFA JAR-file can be
downloaded for free.
General Parameters
These parameters determine general aspects, which are important
for embedding the applet into own HTML pages.
- BgColor
- determines the background color of the applet
using the RGB color model.
- Language
- determines the language of all textual output
in the visualization (
"G"
- German, "E"
- English).
- Foresight
- determines whether foresighted layout (see below) is
used for drawing the transition graph of an automaton.