Reload
Description
This is little application to visualize regular expressions
using a deterministic finite state automaton.
It was developed for a seminar by Karin Haenelt --
"Endliche Automaten für die Sprachverarbeitung"
in summer term 2010. It is written in pure JavaScript (plus some SVG and underlying HTML) using the
Raphaël and jQuery libraries. The corresponding
presentation can be downloaded here (in German).
The project includes a parser for basic regular expressions, a simulator for testing if a given word is included in the
language defined by the regular expression and additional a relatively fancy simulator for checking includance graphically step
by step. These parts are based on several standard algorithms which can be found in the following literature:
- Recursive descent parser, Thompson's algorithm:
Algorithmen in Java (Hans Werner Lang);
Regular expression search algorithm (K. Thompson);
Compilers. Principles, Techniques & Tools. (Aho et al)
- Epsilon closure: The treatment of epsilon moves in subset construction. (Gertjan van Noord)
The user interface should be self explanatory and fail safe but you can obtain help for each step by hovering over The
corresponding ? symbol. If there's a problem just click Reload.
Browser compatibility:
- Firefox (3): full functionality
- Opera (10): full functionality
- WebKit (Safari/Chrome): backspace in graphical simulation does not work
- Internet Explorer: unknown, probably none
To hide this text click Description again.