-
- Description
- Enter a regular expression ('*', '|' and '()' supported). The usable alphabet is shown above the input box. Tick 'Make a Graph' to enable or disable graph generation. The generated graph is deterministic finite state automata. Once the (correct) expression is parsed, it is possible to simulate the automata by entering a accepted or non-accepted word in the lower input box.
-
-
+
+
+
+
+ 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.
+