/* File: woof2.l In this version, yylex() returns a value that gets checked in the main() function's while loop. */ %option noyywrap %{ #include %} %% <> { printf("\nWoof! are we done talking?\n"); return 0 ; } treat { printf("\n!!!%s!!! Woof! yummy!\n", yytext) ; return 1 ;} walk { printf("\n!!!%s!!! Woof! where's the leash?\n", yytext) ; return 1 ;} dinner { printf("\n!!!%s!!! Woof! I'm hungry!\n", yytext) ; return 1; } good\ dog { printf("\n!!!%s!!! Woof! talking about me!\n", yytext) ; return 1 ;} \n { printf("\n") ; } . { printf(".") ; } %% int main(int argc, char **argv) { while (yylex()) { printf("== pat, pat, nice doggy == \n") ; } return 0 ; }