Tool created for the "Übersetzerbau" class of my Master "Internet-Sicherheit" at the Westfälische Hochschule Gelsenkirchen.
The tool is able to transform a given regular Expression into a minimized DFA. The algorithms used are described in Compilers: Principles, Techniques, and Tools, Chapter 3.
Usage:
java -jar <OutputFileName> "<RegExpression>" [<TestCases>]*
OutputFilename is the name of the files (.dot, .png, .log) which will be created
RegExpression can be any Regular Expression composed of the following Syntax:
- Concatination (ab)
- Alternative (a|b)
- Iteration (a*)
- empty word (ε)
TestCases are strings used to test if the result of the steps (NFA to DFA, minimazation DFA, RegEx to DFA) are correct.
The tools creates .dot files, which are rendered into .png using graphviz