Reload
Description
This is a little tool 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 another 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 something goes wrong 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
Click Description again to hide this text.