[ANN] SMC - State Machine Compiler v. 2.1.0

Discussion in 'C++' started by Charles Rapp, Jul 9, 2003.

  1. Charles Rapp

    Charles Rapp Guest

    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.


    Charles Rapp
    Charles Rapp, Jul 9, 2003
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Charles Rapp
    Charles Rapp
    Sep 1, 2003
  2. Charles Rapp
    Charles Rapp
    May 31, 2004
  3. Charles Rapp
    Charles Rapp
    Sep 6, 2004
  4. Charles Rapp
    Charles Rapp
    Oct 3, 2004
  5. Charles Rapp
    Charles Rapp
    Oct 9, 2004

Share This Page