Projects / State Machine Compiler

State Machine Compiler

SMC takes a state machine stored in an .sm file and generates the state pattern classes in fourteen programming languages. Its features include default transitions, transition arguments, transition guards, push/pop transitions, and Entry/Exit actions. It requires Java SE 1.6 or better.

Tags
Licenses
Operating Systems
Implementation

RSS Recent releases

  •  18 Dec 2009 22:56

Release Notes: This release contains minor feature improvements and bugfixes. It adds %access and %fsmclass keywords, improves reflection to include states list, adds -g0 and -g1 debug output, and support for .Net generic collections.

Release Notes: This release requires Java 1.6. The source code has been rearranged to create 3 underlying Java packages: parser, model, and generator, allowing developers to use SMC technology in their own application. Javadoc documentation is provided for each package. Internal and external loopback features are completed. Several bugs have been fixed.

  •  20 May 2008 20:28

Release Notes: This release adds PHP and Scala support. It adds a new Jump transition. There are various bugfixes.

  •  14 Jan 2008 13:49

Release Notes: Release 5.0.1 was missing files. This release corrects that oversight.

  •  04 Jan 2008 13:46

Release Notes: This release adds Groovy code generation. It adds Java state change notification based on Java Beans. 7 bugs have been corrected.

RSS Recent comments

13 Jun 2005 03:44 Avatar cwrapp Thumbs up

Re: very entertaining sales pitch

> nice compiler too :-) How hard do you

> think it would be to target more

> declarative languages, eg: BXML

> (backbase.com)?

I am not familiar with BXML so I do not know what the

generated output should look like. But as for adding a new

language to SMC, it is a matter of adding

SmcBXMLGenerator class which extends the

SmcCodeGenerator class. SMC uses the visitor pattern to

emit the target language output.

Of course, after writing SmcBXMLGenerator there is writing

the documenation.

09 Jun 2005 05:49 erroneousBollock

very entertaining sales pitch
nice compiler too :-) How hard do you think it would be to target more declarative languages, eg: BXML (backbase.com)?

Screenshot

Project Spotlight

Hovitaga OpenSQL Editor

A powerful SQL editor tool for SAP consultants and ABAP developers.

Screenshot

Project Spotlight

EmfEngine

Enables Qt-based applications to export graphics to the Enhanced Metafile format.