%option noyywrap %{ #include #include "syntree.h" #include "y.tab.h" %} %% print { return PRINT; } if { return IF; } while { return WHILE; } for { return FOR; } [a-z]+ { strncpy(yylval.str, yytext, MAX_ID); return ID; } [0-9]+ { yylval.num = atoi(yytext); return NUM; } [-/+*()=;<>{}] { return *yytext; } [ \t\n] %%