flex与bison中文版
%{
int chars = 0;
int words = 0;
int lines = 0;
%}
%%
"exit" {return EDQUOT;}
"quit" {return EDQUOT;}
[a-zA-Z]+ {
words++;
chars += strlen(yytext);
}
\n {
chars++;
lines++;
}
. {
chars++;
}
%%
int main(int args, char **argv[])
{
yylex();
printf("lines = %6d words = %6d chars = %6d\n", lines, words, chars);
return 0;
}
int yywrap()
{
return 1;
}
flex letext.l
gcc -lfl lex.yy.c -o letext