Automata editor is vector editor for drawing finite automata according to VauCanSon-G format (a LaTeX package). The editor supports export to several vector formats (e.g. EPS, SVG, VauCanSon-G, GraphML, ...) as well as bitmap formats (e.g. BMP, JPEG, ...).

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 automataeditor


Step 1: Install Qt 4.6.3 (supported and tested version)

Step 2: Check and the other subproject files (*.pro)

Step 3: Run qmake in application directory (contains

Step 4: Run make (nmake) in application directory

GraphViz wrapper

If don't wish to have GraphViz positioner, comment gvwrapper in

 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

 DEFINES += GRAPHVIZ_VERSION=\\\"2.26.3\\\" 
escaping \ and " is required for make define's value a string or it's possible to change GraphViz supported libraries in constants.h:
 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 

Developement IDE

Possible to use QtCreator and load existing project


Qt Eclipse Integration available -

Visual Studio project

Qt Visual Studio Add-in available -

Known issues

Plugin HOWTO subproject

Simple project which shows how to implement custom algorithm as external dynamically loaded plugin. For build this project allow it in

 SUBDIRS += plugin_howto 

Features settings

SVG support

If don't wish SVG support, comment usage of Qt SVG Module in core project

 QT += svg 

OpenGL support

It's possible to experimentally turn on OpenGL drawing by allowing it in

 QT += opengl