Features & Screenshots
Like others tools of the domain, the tool provides a means to input automata by drawing them with mouse and keyboard in a hopefully intuitive way.
However, for repetitive tasks or big automata, it may be more convenient to write automata instead of drawing it. As a consequence, the tool also allows to input automata by writing them in a concise language.
To help writing documents about automata, the tool provides a way to export images or DOT codes of automata produced by the user or the tool. DOT documents can then be translated into TiKZ format in order to include automata in a LaTeX document.
The tool comes with some basic algorithms such as:
- epsilon removal,
- product between automata,
- equivalence between automata,
- empty and infinite language tests,
- regular expression to automaton.
In addition, users can write their own algorithms using the same dedicated language as the one used for writing embedded algorithms.
Algorithms can take several automata as parameters. The user will be asked to choose which automata are to send to the algorithm when running it.
The tool features word execution on automata. Special care was taken to make it pleasant and easy to follow by showing the execution progressively taking place, the word proressively being “eaten”, with smooth transitions.
With the tool, you can write or run custom quizzes featuring:
- mere multiple choice questions, with zero, one or more answers, with any number of possible answers (stay reasonable however!);
- questions that ask the user to draw an automaton corresponding to a set of words;
- questions that ask the user to draw an automaton corresponding to a language defined by an automaton or a regular expression in the quiz file.
LaTeX can be used to write mathematics in the quiz, thanks to MathJax.
It is almost always easier to learn something non-trivial in one's native language. While the tool is still only available in English and in French, it was conceived to make internationalization as easy as possible. Some work is still needed to make this happen, but not so much: in addition to a couple of lines of code, what is essentially needed is contributions from people who can speak well English and another language in which the tool is still not translated.
Please contact us if you are interested in translating the tool to your language.