%{
#include <stdio.h>
int wordCount = 0, letterCount = 0;
%}
%%
[ \t\n]+ ;
[a-zA-Z]+ { wordCount++; printf("WORD: %s\n", yytext); }
[a-zA-Z] { letterCount++; printf("LETTER: %s\n", yytext); }
. ;
%%
int main(void) {
printf("Enter text (Ctrl+D to finish):\n");
yylex();
printf("\nTotal Words: %d\nTotal Single Letters: %d\n", wordCount, letterCount);
return 0;
}
int yywrap() { return 1; }
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCB3b3JkQ291bnQgPSAwLCBsZXR0ZXJDb3VudCA9IDA7CiV9CiUlClsgXHRcbl0rICAgICAgICAgOwpbYS16QS1aXSsgICAgICAgIHsgd29yZENvdW50Kys7IHByaW50ZigiV09SRDogJXNcbiIsIHl5dGV4dCk7IH0KW2EtekEtWl0gICAgICAgICB7IGxldHRlckNvdW50Kys7IHByaW50ZigiTEVUVEVSOiAlc1xuIiwgeXl0ZXh0KTsgfQouICAgICAgICAgICAgICAgIDsKJSUKaW50IG1haW4odm9pZCkgewogICAgcHJpbnRmKCJFbnRlciB0ZXh0IChDdHJsK0QgdG8gZmluaXNoKTpcbiIpOwogICAgeXlsZXgoKTsKICAgIHByaW50ZigiXG5Ub3RhbCBXb3JkczogJWRcblRvdGFsIFNpbmdsZSBMZXR0ZXJzOiAlZFxuIiwgd29yZENvdW50LCBsZXR0ZXJDb3VudCk7CiAgICByZXR1cm4gMDsKfQppbnQgeXl3cmFwKCkgeyByZXR1cm4gMTsgfQo=