C
Charles Rapp
SMC - The State Machine Compiler v. 2.1.0
Requires: Java 1.2 SE (Standard Edition) or better.
Download: http://sourceforge.net/projects/smc
Home Page: http://smc.sourceforge.net
=================================================================
What's New?
=================================================================
+ Added "-table" command line option. SMC generates an HTML table
for the .sm file. The table header is:
State Entry Transition
Entry Exit (One subheader for each)
Each cell contains each guard, end state and action for the
state and transition. Remember: each state/transition pair
may have multiple guards and each guard may have a different
end state and actions.
The generated HTML table is rudimentary since my HTML skills
are rudimentary. This feature is alpha but I hope to receive
some pointers in how I can improve the table's implementation.
=================================================================
Bug fixes
=================================================================
+ I have also changed the source file download to include the bin
directory as well. Now if you download the source, you also
have the Smc.jar necessary to build the product.
+ The Java FSMContext class no longer automatically allocates the
state stack object. The state stack is only needed if your FSM
uses the push/pop transitions. The state stack is now allocated
when it is needed. In the C++ and Tcl version, the state stack
is implemented differently and this issue does not arise.
+ I have converted all files from the DOS file format to Unix.
This caused some problems especially for gmake 3.76.1 on Sun
Solaris 8.
+ Removed "using namespace std" from statemap.h. Placing
"using namespace ..." in a header file is bad C++. I also use
the new <cstdio>, etc. standard header files whereever
possible instead of the older <stdio.h>.
=================================================================
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
and Tcl are currently supported). SMC is a console-based app
written in Java which means SMC can run anywhere Java (1.2 or
better) can run. The download package includes an example
directory showing how SMC can used with C++, Java and Tcl
(requires [incr Tcl] package). 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.2 SE (Standard Edition) or better.
Download: http://sourceforge.net/projects/smc
Home Page: http://smc.sourceforge.net
=================================================================
What's New?
=================================================================
+ Added "-table" command line option. SMC generates an HTML table
for the .sm file. The table header is:
State Entry Transition
Entry Exit (One subheader for each)
Each cell contains each guard, end state and action for the
state and transition. Remember: each state/transition pair
may have multiple guards and each guard may have a different
end state and actions.
The generated HTML table is rudimentary since my HTML skills
are rudimentary. This feature is alpha but I hope to receive
some pointers in how I can improve the table's implementation.
=================================================================
Bug fixes
=================================================================
+ I have also changed the source file download to include the bin
directory as well. Now if you download the source, you also
have the Smc.jar necessary to build the product.
+ The Java FSMContext class no longer automatically allocates the
state stack object. The state stack is only needed if your FSM
uses the push/pop transitions. The state stack is now allocated
when it is needed. In the C++ and Tcl version, the state stack
is implemented differently and this issue does not arise.
+ I have converted all files from the DOS file format to Unix.
This caused some problems especially for gmake 3.76.1 on Sun
Solaris 8.
+ Removed "using namespace std" from statemap.h. Placing
"using namespace ..." in a header file is bad C++. I also use
the new <cstdio>, etc. standard header files whereever
possible instead of the older <stdio.h>.
=================================================================
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
and Tcl are currently supported). SMC is a console-based app
written in Java which means SMC can run anywhere Java (1.2 or
better) can run. The download package includes an example
directory showing how SMC can used with C++, Java and Tcl
(requires [incr Tcl] package). 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]