/*wordcount 2, on compte les mots avec lex ...*/

%{
int nbchars = 0;
int nblines = 0;
int nbwords = 1;

#define BOOL int
#define TRUE  1
#define FALSE 0

BOOL dejacompte = FALSE;
%}
%%
\n	        {if (!dejacompte) { nbwords++; };
                  dejacompte = TRUE ; nbchars++;nblines++;dejacompte = TRUE;}
[ \t]           {if (!dejacompte) {nbwords++;}; nbchars++; dejacompte = TRUE;}
.               {dejacompte = FALSE;nbchars++;}
%%
int main  ( int argc, char** argv )
{
  if ( argc > 1 )
     {
       yyin = fopen ( argv [ 1 ], "r" ); 
     }
     printf("debut analyse\n");
     yylex();
     printf("%d lines, %d chars,%d words \n",nblines,nbchars,nbwords);
}


/*flex -o wordcount2.c wordcount2.l*/
/*gcc -o wordcount wordcount2.c -lfl*/
/*wordcount fichier*/
/* ou wordcount <fichier*/
/*a comparer avec wc  fichier*/