%top { #include "grammar.h" } %option noyywrap %option nounput %option noinput %option yylineno %option stack %option noyy_top_state %option noyy_push_state %option noyy_pop_state %% [ \t\n] { } "==" { return EQ; } "!=" { return NE; } "&&" { return AND; } "||" { return OR; } [A-Za-z_][A-Za-z0-9_]* { yylvalp->string = strdup(yytext); return FIELD; } [01x]+ { yylvalp->string = strdup(yytext); return VALUE; } . { char *msg; asprintf(&msg, "Unhandled token in d2c assert block: '%s'", yytext); YY_FATAL_ERROR(msg); free(msg); } %%