[ANN] SMC - State Machine Compiler v. 4.0.0

Discussion in 'C++' started by rapp@acm.org, Jun 9, 2005.

  1. Guest

    SMC - The State Machine Compiler v. 4.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?
    =================================================================

    + Added Python code generation. This capability and examples
    provided by M. Francois Perrad.

    + Moved to Visitor pattern. By rearranging the SMC source code to
    the Visitor pattern, it makes it easier to in new code
    generators and code analyzers.

    + When SMC generates C++ and exceptions are allowed (when -noex
    is *not* specified), then statemap::FSMContext::popState()
    throws a PopOnEmptyStateStackException when a pop transition is
    taken but the state stack is empty. Otherwise, assert() is
    used.

    + Added a -return command line option which causes Smc.main() to
    return rather than exit. This option is needed by ANT users.

    =================================================================
    Bug fixes
    =================================================================

    + (C++) In statemap.h, the variable id and _id were changed to
    stateId and _stateId, respectively. This change was also made
    to the generated C++ code. This change was made due to "id"
    being a keyword in the Macintosh Objective-C++ language.

    + Corrected error when multiple spaces between %header, %import,
    %include and %declare keywords and the following name caused
    an unhandled exception.

    + Corrected errors with % keywords and the -graph target.

    + (Java) Corrected error in generated serialization code. The
    readObject() method was not restoring the current state. The
    generated Java serialization code is now completely redone and
    tested.

    + (Java) SMC now requires that the .sm source file has the same
    basename as the context class' .java source file. So if the
    context class is OrderConnection and is in
    OrderConnection.java, then the associated FSM must be in
    OrderConnection.sm.

    + (Ant) Corrected a syntax error in examples/Ant/EX7/build.xml.

    + (C++) When the .sm is in a subdirectory the slashes in the file
    name are kept in the "#ifndef" in the generated header file.
    This is syntactically wrong. SMC now replaces the slashes with
    underscores.

    =================================================================
    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, VB.Net, C# and Python 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), VB.Net, C# and Python.
    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:
     
    , Jun 9, 2005
    #1
    1. Advertising

  2. Rapscallion Guest

    Re: SMC - State Machine Compiler v. 4.0.0

    wrote:
    > SMC - The State Machine Compiler v. 4.0.0
    >
    >
    > Requires: Java 1.4.1 SE (Standard Edition) or better.
    > Download: http://sourceforge.net/projects/smc
    > Home Page: http://smc.sourceforge.net


    Probably a powerful tool. Unfortunately there is no tutorial available
    that shows the basic usage.
     
    Rapscallion, Jun 9, 2005
    #2
    1. Advertising

  3. Guest

    Re: SMC - State Machine Compiler v. 4.0.0

    Yes, there is a tutorial: http://smc.sourceforge.net/SmcManual.htm

    The SMC Programmer's Manual describes the language syntax, how to
    program a finite state machine in SMC, how to compile SMC, how to
    incorporate SMC-generated code into your application and other topics.
    The manual also walks you through examples showing how SMC works with
    your application.

    Charles Rapp
     
    , Jun 9, 2005
    #3
  4. Rapscallion Guest

    Re: SMC - State Machine Compiler v. 4.0.0

    wrote:
    > Yes, there is a tutorial: http://smc.sourceforge.net/SmcManual.htm
    >
    > The SMC Programmer's Manual describes the language syntax, how to
    > program a finite state machine in SMC, how to compile SMC, how to
    > incorporate SMC-generated code into your application and other topics.
    > The manual also walks you through examples showing how SMC works with
    > your application.


    Maybe others can understand it. Not me. Thanks anyway.
     
    Rapscallion, Jun 10, 2005
    #4
  5. Guest

    Re: SMC - State Machine Compiler v. 4.0.0

    Now I understand why you could not understand it - the manual web pages
    contain HTML errors which prevent them from rendering properly in
    Internet Explorer. I have since corrected these errors and the web
    pages should now be understandable.

    Charles Rapp
     
    , Jun 16, 2005
    #5
    1. Advertising

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
    Replies:
    0
    Views:
    627
    Charles Rapp
    Jul 9, 2003
  2. Charles Rapp
    Replies:
    0
    Views:
    371
    Charles Rapp
    Sep 1, 2003
  3. Charles Rapp
    Replies:
    0
    Views:
    433
    Charles Rapp
    May 31, 2004
  4. Charles Rapp
    Replies:
    0
    Views:
    422
    Charles Rapp
    Sep 6, 2004
  5. Charles Rapp
    Replies:
    0
    Views:
    457
    Charles Rapp
    Oct 3, 2004
Loading...

Share This Page