aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/src/libgfsm/tests/calc2test.l
diff options
context:
space:
mode:
Diffstat (limited to 'gfsm/gfsm/src/libgfsm/tests/calc2test.l')
-rw-r--r--gfsm/gfsm/src/libgfsm/tests/calc2test.l56
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)