SMC - The State Machine Compiler v. 4.3.0
Requires: Java 1.4.1 SE (Standard Edition) or better. Download: http://sourceforge.net/projects/smc Home Page: http://smc.sourceforge.net ================================================================= What's New? ================================================================= + Added -reflect option for Java, C#, VB.Net and Tcl code generation. When used, allows applications to query a state about its supported transitions. Returns a list of transition names. This feature is useful to GUI developers who want to enable/disable features based on the current state. See Programmer's Manual section 11: On Reflection for more information. + Updated LICENSE.txt with a missing final paragraph which allows MPL 1.1 covered code to work with the GNU GPL. + Added a Maven plug-in and an ant task to a new tools directory. Added Eiten Suez's SMC tutorial (in PDF) to a new docs directory. ================================================================= Bug fixes ================================================================= + (GraphViz) DOT file generation did not properly escape double quotes appearing in transition guards. This has been corrected. + A note: the SMC FAQ incorrectly stated that C/C++ generated code is thread safe. This is wrong. C/C++ generated is certainly *not* thread safe. Multi-threaded C/C++ applications are required to synchronize access to the FSM to allow for correct performance. + (Java) The generated getState() method is now public. ================================================================= What is SMC? ================================================================= SMC takes a state machine description (stored in a .sm file) and generates State pattern classes in a target language (C, C++, C#, Java, Perl, Python, Ruby, Tcl and VB.Net are currently supported). SMC is a console-based app written in Java which means SMC can run anywhere Java (1.4.1 or better) can run. The download package includes a document and example directory showing how SMC can used with C, C++, C#, Java, Perl, Python, Ruby, Tcl (requires [incr Tcl] package) and VB.Net. The examples range from trivial to GUI apps. ================================================================= How can I learn more? ================================================================= At http://smc.sourceforge.net. You can access the SMC Programmer's Manual there as well. While you're there, check out the SMC demo applet at http://smc.sourceforge.net/SmcDemo.htm. ================================================================= Where can I get it? ================================================================= SMC and the Programmer's Manual can be downloaded from http://sourceforge.net/projects/smc. You can also use this website to: + Ask questions (via the Public Forum's Help discussion) + Submit a bug. + Join a mailing list. + Access SMC documentation. + Access SMC's source code in the CVS repository. (Note: in order to make full use of SourceForge capabilities, you must be a SourceForge member. If you are not a member, head over to http://sourceforge.net/account/register.php and sign up. SourceForge membership is free - no money, no requirements and NO SPAM! Membership has its benefits.) If you have any problems, surf over to http://sourceforge.net/forum/forum.php?forum_id=27865 and report the problem. I will try and answer you via the Help forum as quickly as I can. Enjoy! Charles Rapp -- http://mail.python.org/mailman/listinfo/python-list