%{ #include #include #include "tokens.h" int count = 0; int ival; char sval[8192]; int yywrap (void) { return 1; } void a (void) { count += yyleng; } %} %% [ \t\n] { a(); continue; } "(" { a(); return T_LPAREN; } ")" { a(); return T_RPAREN; } IF { a(); return T_IF; } DECISION { a(); return T_DECISION; } CASE { a(); return T_CASE; } ELSEIF { a(); return T_ELSEIF; } ARM { a(); return T_ARM; } EQUALS { a(); return T_EQUALS; } AND { a(); return T_AND; } OR { a(); return T_OR; } VAR { a(); return T_VAR; } "_" { a(); return T_WILDCARD; } ("-")?[0-9]+ { a(); ival = atoi (yytext); return T_INT; } \"[^\"]*\" { a(); strcpy (sval, yytext); return T_STRING; } %%