The program offers a basic tools for working with finite automata such as basic algorithms for finite automata, export of transition table to the LaTeX format and simulation of work of finite automata with possiblity to export the steps of simulation in the VauCanSon-G format.
There were designed an interface to external dynamically loaded modules, so that any algorithm can be added to extend the editor's functionality.
For checkout current revision use:
svn co https://automataeditor.svn.sourceforge.net/svnroot/automataeditor/trunk automataeditor
If don't wish to have GraphViz positioner, comment gvwrapper in Automata_editor.pro:
SUBDIRS += gvwrapper
Widows: GraphViz version 2.26.3 Linux systems: GraphViz version 2.20.2-8 (for other version modification of gvwrapper could be needed)
GraphViz version is checked in runtime and can be set globally in sources.pro:
DEFINES += GRAPHVIZ_VERSION=\\\"2.26.3\\\"
GRAPHVIZ_VERSION "2.26.3"
For other versions of some modifications in gvwrapper will be probably needed, because GraphViz interface was changed somewhere between 2.20.x and 2.26.x
It's possible to change GraphViz supported libraries in constants.h:
GRAPHVIZ_VERSION "2.26.3" // this is version which is required in runtime
Possible to use QtCreator and load existing project Automata_editor.pro
Qt Eclipse Integration available - http://doc.qt.nokia.com/qt-eclipse-1.5/index.html
Qt Visual Studio Add-in available - http://doc.qt.nokia.com/vs-add-in-1.0/index.html
Simple project which shows how to implement custom algorithm as external dynamically loaded plugin. For build this project allow it in Automata_editor.pro:
SUBDIRS += plugin_howto
If don't wish SVG support, comment usage of Qt SVG Module in core project sources.pro
QT += svg
It's possible to experimentally turn on OpenGL drawing by allowing it in sources.pro
QT += opengl