C
Charles Rapp
SMC - The State Machine Compiler v. 3.0.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?
=================================================================
+ SMC now generates VB.Net code using the -vb command line
option. The generated VB.Net code was tested against Microsoft
DevStudio 7.0.
This is a beta feature. Use accordingly.
+ There are ant build.xml files for the Java examples. Because
ant uses a different directory layout than the make-based
examples, you will find the ant-based Java examples in
examples/Ant/EX[1-7].
+ (-c++) SMC places in the *_sm.h forward declarations for the
generated State classes. This simplifies including the *_sm.h
header file.
+ (-c++) Added -nostreams command line option. If specified, then
application must provide the subroutine:
void TRACE(const string& s, ...)
which outputs s along with 0 or more optional arguments. TRACE
is similar to printf.
=================================================================
Bug fixes
=================================================================
+ (-table) SMC reports an error when parsing a .sm file with a
%include construct and a -table target. The error states that
%include can only be used with a -c++ target. This is not true.
It can also be used with -table.
+ (-java) The default transition mechanism was operating properly
due to the generated code calling the super class' method
directly using the super class' name. This has been corrected
by substituting the super class' name with the "super" keyword.
=================================================================
What is SMC?
=================================================================
SMC takes a state machine description (stored in a .sm file) and
generates State pattern classes in a target language (C++, Java,
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 an example
directory showing how SMC can used with C++, Java, 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
mailto:[email protected]
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?
=================================================================
+ SMC now generates VB.Net code using the -vb command line
option. The generated VB.Net code was tested against Microsoft
DevStudio 7.0.
This is a beta feature. Use accordingly.
+ There are ant build.xml files for the Java examples. Because
ant uses a different directory layout than the make-based
examples, you will find the ant-based Java examples in
examples/Ant/EX[1-7].
+ (-c++) SMC places in the *_sm.h forward declarations for the
generated State classes. This simplifies including the *_sm.h
header file.
+ (-c++) Added -nostreams command line option. If specified, then
application must provide the subroutine:
void TRACE(const string& s, ...)
which outputs s along with 0 or more optional arguments. TRACE
is similar to printf.
=================================================================
Bug fixes
=================================================================
+ (-table) SMC reports an error when parsing a .sm file with a
%include construct and a -table target. The error states that
%include can only be used with a -c++ target. This is not true.
It can also be used with -table.
+ (-java) The default transition mechanism was operating properly
due to the generated code calling the super class' method
directly using the super class' name. This has been corrected
by substituting the super class' name with the "super" keyword.
=================================================================
What is SMC?
=================================================================
SMC takes a state machine description (stored in a .sm file) and
generates State pattern classes in a target language (C++, Java,
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 an example
directory showing how SMC can used with C++, Java, 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
mailto:[email protected]