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.

-1
Alphabet:
?
 0
Draw Graph:
?
 1
Regular Expression:
?
 2
Word:
?