diff options
Diffstat (limited to 'lib/libforms/lex.l')
-rw-r--r-- | lib/libforms/lex.l | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/libforms/lex.l b/lib/libforms/lex.l new file mode 100644 index 0000000..deb6c8d --- /dev/null +++ b/lib/libforms/lex.l @@ -0,0 +1,19 @@ +%{ +#include "y.tab.h" +%} + +%% +"Form template:" { yylval.ival = FORM; return FORM; } +Input { yylval.ival = INPUT; return INPUT; } +Text { yylval.ival = TEXT; return TEXT; } + +[0-9]+ { yylval.ival = atoi(yytext); return NUMBER; } +\"[^"]* { + if (yytext[yyleng-1] == '\\') { + yymore(); + } else { + input(); + yylval.sval = yytext+1; + return STRING; + } + } |