Velocity Reviews - Computer Hardware Reviews

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

Reply
Thread Tools

[ANN] SMC - State Machine Compiler v. 4.0.0

 
 
rapp@acm.org
Guest
Posts: n/a
 
      06-09-2005
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:opState()
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
(E-Mail Removed)

 
Reply With Quote
 
 
 
 
Rapscallion
Guest
Posts: n/a
 
      06-09-2005
http://www.velocityreviews.com/forums/(E-Mail Removed) 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.

 
Reply With Quote
 
 
 
 
rapp@acm.org
Guest
Posts: n/a
 
      06-09-2005
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

 
Reply With Quote
 
Rapscallion
Guest
Posts: n/a
 
      06-10-2005
(E-Mail Removed) 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.

 
Reply With Quote
 
rapp@acm.org
Guest
Posts: n/a
 
      06-16-2005
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

 
Reply With Quote
 
 
 
Reply

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.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
[ANN] SMC - State Machine Compiler v. 2.1.0 Charles Rapp C++ 0 07-09-2003 03:44 AM



Advertisments