Download Latest Version fsmgen-0.3beta.tar.gz (362.2 kB)
Email in envelope

Get an email when there's a new version of FSMGen

Home / OldFiles
Name Modified Size InfoDownloads / Week
Parent folder
readme.txt 2009-05-03 2.1 kB
mm.h 2009-05-03 2.3 kB
mm.c 2009-05-03 7.2 kB
Makefile 2009-05-03 1.7 kB
license.txt 2009-05-03 7.6 kB
header.h 2009-05-03 971 Bytes
header.c 2009-05-03 1.9 kB
fsmg.y 2009-05-03 4.7 kB
fsmg.l 2009-05-03 3.9 kB
ffsmg.h 2009-05-03 1.6 kB
ffsmg.c 2009-05-03 3.8 kB
engine.h 2009-05-03 319 Bytes
engine.c 2009-05-03 1.6 kB
body.h 2009-05-03 1.0 kB
body.c 2009-05-03 2.0 kB
Totals: 15 Items   42.8 kB 0
License 
FSMG version 0.1 beta, April 2009
Copyright (C) 2009 Ariel Segal 
This file is part of FSMG, and as such, this file
is released under the terms of the GNU General Public 
License as published by the Free Software Foundation; 
either version 3 of the License, or (at your option) any
later version. 
FSMG is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
the GNU General Public License for more details. 
You should have received a copy of the GNU General Public
License along with FSMG; if not, you can get the license 
at the web site http://www.gnu.org/licenses/
or  write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA 

1. The Executable File 'ffsmg'
Produce the executable by building it from source, or download it seperatly.

Usage:

To invoke the program:
$ ffsmg input-file [output-name]
input-file: A text file according to the input rules of FSMG.
output-name: This name overrides the default names of the output of FSMG. 
The default output file names are 'engine.c', 'engine.h', and the interface C function to the FSM is:
int engine(event_t event, void *p); // prototype
If for example the output-name is 'foo', the output file names are 'foo.c', 'foo.h', 
and the interface C function to the FSM is:
int foo(foo_event_t event, void *p); // prototype
In this beta version the name also prefixes the type names, for example:
foo_event_t event;
foo_state_t state;
When invoking FSMG without parameters, the program prints on the screen version number, 
and help information.
$ ffsmg 
ffsmg version 0.1 beta 
Usage: 
$ ffsmg <input file> <output name> 
$ ffsmg <input file> 


2. Building form Source
2.1 You need to have lex (or flex) and yacc (or bison) installed on your system.
2.2 Extract 'fsmg.tar' into an empty folder.
2.3 Run:
    $ make
This will produce the executable file, object files and C code output from lex/yacc.
2.4 To remove all output files produced with 'make', run:
       $ make clean
Do this before rebuilding from source.
Source: readme.txt, updated 2009-05-03