%{
unsigned charCount = 0, wordCount = 0, lineCount = 0;
%}

word [^ \t\n]+
eol \n

%%

{word} {wordCount++; charCount += yyleng;}
{eol}  {charCount++; lineCount++;}
.      charCount++;

%%
int currentfile = 1;
char **filelist;


main(argc, argv)
int argc;
char ** argv;
{filelist = argv;
 if (argc ==1)
    yylex();
  else
    {FILE * file;
     file = fopen(filelist[currentfile],"r");
     yyin = file;
     yylex();
    };
printf("%d %d %d \n",charCount, wordCount, lineCount);
}
int yywrap()
{
   FILE* file;
   fclose(yyin);
   if (filelist[++currentfile] != (char*) 0)
     {
      printf("I am here  \n");
      file = fopen(filelist[currentfile], "r");
      yyin = file;
      return 0;
}
else return 1;
}


