diff options
Diffstat (limited to 'gfsm/gfsm/src/libgfsm/tests/calc2test.l')
-rw-r--r-- | gfsm/gfsm/src/libgfsm/tests/calc2test.l | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/gfsm/gfsm/src/libgfsm/tests/calc2test.l b/gfsm/gfsm/src/libgfsm/tests/calc2test.l new file mode 100644 index 0000000..7072a4c --- /dev/null +++ b/gfsm/gfsm/src/libgfsm/tests/calc2test.l @@ -0,0 +1,56 @@ +/*====================================================================== + * Flex Options + */ +%option outfile="calc2test.lex.c" +%option header-file="calc2test.lex.h" +%option prefix="calc2test_yy" +%option reentrant +%option 8bit +%option yylineno + +%option bison-bridge + +%{ +/*====================================================================== + * User C Header + */ + +/* bison stuff */ +#include <gfsmScanner.h> +#include "calc2test.tab.h" + +%} + +/*====================================================================== + * Flex Definitions + */ + + +/*====================================================================== + * Flex Rules + */ +%% + +([[:digit:]]*\.?)[[:digit:]]+ { yylval->dbl = strtod(yytext,NULL); return NUMBER;} + +\( { return LPAREN; } +\) { return RPAREN; } +\+ { return PLUS; } +\- { return MINUS; } +\* { return TIMES; } +\/ { return DIV; } + +\n { return NEWLINE; } + +[[:space:]] { /* ignore */ } + +. { return OTHER; /* ignore */ } + +%% + +/*====================================================================== + * User C Code + */ + +//-- wrapper: use default +GFSM_SCANNER_YYWRAP(calc2test_yy) |