%{ extern int yylval; %} d [0-9]+ %% "+" return ADD; "-" return SUB; "*" return MUL; "/" return DIV; [0-9]+ { yylval = atoi(yytext); return NUM; }; . return yytext[0]; \n return 0; %% int yywrap() { return 1; }