Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > [ANN] SMC - State Machine Compiler v. 2.1.0

Thread Tools

[ANN] SMC - State Machine Compiler v. 2.1.0

Charles Rapp
Posts: n/a
SMC - The State Machine Compiler v. 2.1.0

Requires: Java 1.2 SE (Standard Edition) or better.
Home Page:

================================================== ===============
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 You can access the SMC
Programmer's Manual there as well. While you're there, check out
the SMC demo applet at

================================================== ===============
Where can I get it?
================================================== ===============

SMC and the Programmer's Manual can be downloaded from 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
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 and report
the problem. I will try and answer you via the Help forum as
quickly as I can.


Charles Rapp
(E-Mail Removed)
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
[ANN] SMC - State Machine Compiler v. 3.1.2 Charles Rapp C++ 0 10-09-2004 03:57 AM
[ANN] SMC - State Machine Compiler v. 3.1.1 Charles Rapp C++ 0 10-03-2004 09:27 PM
[ANN] SMC - State Machine Compiler v. 3.1.0 Charles Rapp C++ 0 09-06-2004 02:57 PM
[ANN] SMC - State Machine Compiler v. 3.0.0 Charles Rapp C++ 0 05-31-2004 08:24 PM
[ANN] SMC - State Machine Compiler v. 2.2.0 Charles Rapp C++ 0 09-01-2003 09:00 PM