%{ #include "generator.h" #include "generator.tab.h" %} %% do { return DO; } while { return WHILE; } int { yylval.type = typeInt; return TYPE; } string { yylval.type = typeString; return TYPE; } [A-Za-z]+ { yylval.place = yytext; return ID; } := { return ASSIGNMENT; } [\n\b\r\t ] {} . { return yytext[0]; } %% void yyerror( const char *message ) { fprintf( stderr, "%s: at '%s'\n", message, yytext ); } int main() { while( !yyparse() ) { } return 0; }