Skip to content
/ escxmlcc Public

FSM code generator for C++ with graphical chart editor

License

GPL-3.0, MIT licenses found

Licenses found

GPL-3.0
LICENSE
MIT
LICENCE_GEN_CODE
Notifications You must be signed in to change notification settings

aeore/escxmlcc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

escxmlcc

This editor and generator provide Mealy-Moore hierarchical state machine function, in particular:

  • init, state and group state nodes (plain and hierarchical FSM)
  • state handlers
  • conditions
  • data model with accessors and ability to use it in the conditions
  • triggers
  • multiple transition handlers
  • self-transitions
  • auto-transitions
  • ability to put any code to the generated source code (includes, types, etc.)

Generated code has no dependency on other libraries and is self-sufficient. Project is on the proof-of-concept stage.

The example of the FSM graph is provided on the picture below: alt text

License

Full information on the license for this software is available in the "LICENSE" file. Full information on the license for the generated code is available in "LICENCE_GEN_CODE" file.

Build Instructions for Linux

Dependencies

  • A C++11 enabled compiler is needed
  • escxmlcc uses CMake as buildsystem
  • escxmlcc uses Boost >= 1.45.0

On Ubuntu those dependencies can be installed with the following command:

sudo apt install cmake libboost-all-dev

Compilation

For compilation, call:

mkdir build
cd build
cmake ..
make
optional: sudo make install

Here are supported options:

Option Description
WITH_TESTS Build generator with unit tests
WITH_EXAMPLES Build generator with examples where you can find how to use produced headers

To build with options, use:

mkdir build
cd build
cmake -D<OPTION>=ON -D<OTHER OPTION>=ON ..
make
optional: sudo make install

To specify an installation directory (like --prefix= if you're used to autotools) call cmake like:

cmake -DCMAKE_INSTALL_PREFIX:PATH=$YOUR_PATH ..
make
make install

Software/Hardware

Developed and tested with Ubuntu Linux 64-bit / Intel PC

Contact

Yuriy Gurin ygurin@outlook.com