SMC - The State Machine Compiler v. 4.3.1
New Features:
No new features in this release.
Minor changes
+ (Java) Added FSM constructor which takes two arguments:
the FSM owner and an initial state. Changed state singletons
from package-level statics to public-level static finals so
application code may access them. For example, the state
MyMap::Connected
is referenced as
AppClassContext.MyMap.Connected.
You can override the %start state using the constructor:
new AppClassContext(this, AppClassContext.MyMap.Connected)
Bug Fixes:
+ (C#) Corrected error in state Entry and Exit actions where the
context class was set to "null".
+ (C#) Added property debugStream which allows the debug output
TextWriter to be application-defined. By default the debug
stream is null and no output is written. Turning on debugging
in C# requires setting the Debug property to true and setting
the DebugStream property to a TextWriter object.
+ (C#, VB) Modified FSM serialization to follow .Net scheme.
Updated SMC Programmer's Manual, section 9 on Serialization.
The example code now conforms to the latest .net serialization
framework and shows how to restore the FSM context's
reference to your application class instance.
+ (C++) Corrected FSMContext destructor and setDebugFlag method
which delete the _transition pointer even though FSMContext did
not allocate the memory.
+ (C++) Replaced strcpy calls with strncpy. State and transition
names are now limited to 100 characters by default. However,
this limit can be changed by modifying the statemap.h file.
+ (Perl) Corrected error where $ctxt variable was not defined
when necessary.
+ (Python) Corrected code indentation. Incorrect indentation is
a syntax error in Python.
++++++++++++++++++++++++++++++++++++++++
If you have any questions or bugs, please surf
over to http://smc.sourceforge.net and check out
the discussion and bug forums. Note: you must be
a SourceForge member to add articles or bugs. You
do not have to be a member to read posted
articles or bugs.