summaryrefslogtreecommitdiff
path: root/tools/d2c/conv/tokens.l
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2016-01-28 23:32:25 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2016-01-28 23:32:25 (GMT)
commit16e0fd9d89ef433848678dfc8dd20426844a2868 (patch)
tree79075ae02c133cea21ffb555b1086aae833b3aac /tools/d2c/conv/tokens.l
parent66c99d59d6a6d533de0bb65488de8243213bcdea (diff)
Cleaned, rewritten and improved the whole code of the compiler.
Diffstat (limited to 'tools/d2c/conv/tokens.l')
-rw-r--r--tools/d2c/conv/tokens.l32
1 files changed, 32 insertions, 0 deletions
diff --git a/tools/d2c/conv/tokens.l b/tools/d2c/conv/tokens.l
new file mode 100644
index 0000000..ef6b958
--- /dev/null
+++ b/tools/d2c/conv/tokens.l
@@ -0,0 +1,32 @@
+
+%top {
+
+#include "grammar.h"
+
+}
+
+
+%option noyywrap
+%option nounput
+%option noinput
+%option yylineno
+%option stack
+%option noyy_top_state
+
+%x raw_line
+
+
+%%
+
+
+[ \t\n]+ { }
+
+[A-Za-z_][A-Za-z0-9_]* { yylvalp->string = strdup(yytext); return NAME; }
+
+"=" { yy_push_state(raw_line); return EQ; }
+
+<raw_line>[^\n]+ { yylvalp->cstring = yytext; return RAW_LINE; }
+<raw_line>"\n" { yy_pop_state(); }
+
+
+%%