1 /* First cut at a flex-based "wc" tool. */ 2 3 ws [ \t] 4 nonws [^ \t\n] 5 6 %option main noyywrap 7 %% 8 int cc = 0, wc = 0, lc = 0; 9 10 {nonws}+ cc += yyleng; ++wc; 11 12 {ws}+ cc += yyleng; 13 14 \n ++lc; ++cc; 15 16 <<EOF>> { 17 printf( "%8d %8d %8d\n", lc, wc, cc ); 18 yyterminate(); 19 } 20