%option nounput noinput %{ int nb_car = 0, nb_mot = 0, nb_ligne = 0; %} CAR [^[:space:]] %% {CAR}+ {nb_mot++; nb_car+=yyleng;} \n {nb_ligne++; nb_car++;} . {nb_car++;} %% int yywrap(void) { printf(" %d %d %d\n", nb_ligne, nb_mot, nb_car); return 1; } int main(int argc, char *argv[]) { while (yylex()!=0) ; return 0; }