FSMGen Code
Status: Beta
Brought to you by:
ariel1segal
File | Date | Author | Commit |
---|---|---|---|
old | 2010-07-04 | ariel1segal | [r1] initial import |
sandbox | 2010-07-04 | ariel1segal | [r1] initial import |
Makefile | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
body.c | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
body.h | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
example.fsm | 2010-07-07 | ariel1segal | [r8] just added |
ffsmg.c | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
ffsmg.h | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
fsmg-user-guide.pdf | 2010-07-07 | ariel1segal | [r7] update version to 0.3 |
fsmg.l | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
fsmg.y | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
header.c | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
header.h | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
license.txt | 2010-07-04 | ariel1segal | [r1] initial import |
mm.c | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
mm.h | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
readme.txt | 2010-07-07 | ariel1segal | [r6] update version to 0.3 |
License FSMG version 0.3 beta, July 2010 Copyright (C) 2009 Ariel Segal This file is part of FSMG, and as such, this file is released under the terms of the GNU Lesser 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.