/* File: count.l Just like Unix wc Compile with: lex count.l gcc lex.yy.c */ %option noyywrap %{ int chars = 0; int words = 0; int lines = 0; %} %% [a-zA-Z]+ { words++; chars += strlen(yytext); } \n { chars++; lines++; } . { chars++; } %% int main(int argc, char **argv) { yylex(); printf("%8d%8d%8d\n", lines, words, chars); return 0 ; }