%{
%{
#include <stdio.h>
int linecount = 0, spacecount = 0, tabcount = 0, restcount = 0;
%}
%%
\n { linecount++; }
\t { tabcount++; }
[ ] { spacecount++; }
[^ \t\n] { restcount++; }
%%
int main() {
printf("Enter the string:\n");
yylex();
printf("Line count: %d\n", linecount);
printf("Tab count: %d\n", tabcount);
printf("Space count: %d\n", spacecount);
printf("Rest count: %d\n", restcount);
return 0;
}
JXsKJXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCBsaW5lY291bnQgPSAwLCBzcGFjZWNvdW50ID0gMCwgdGFiY291bnQgPSAwLCByZXN0Y291bnQgPSAwOwolfQoKJSUKClxuICAgICAgICAgICAgICB7IGxpbmVjb3VudCsrOyB9Clx0ICAgICAgICAgICAgIHsgdGFiY291bnQrKzsgfQpbIF0gICAgICAgICAgICB7IHNwYWNlY291bnQrKzsgfQpbXiBcdFxuXSAgICAgICB7IHJlc3Rjb3VudCsrOyB9CgolJQoKaW50IG1haW4oKSB7CiAgICBwcmludGYoIkVudGVyIHRoZSBzdHJpbmc6XG4iKTsKICAgIHl5bGV4KCk7ICAKICAgIHByaW50ZigiTGluZSBjb3VudDogJWRcbiIsIGxpbmVjb3VudCk7CiAgICBwcmludGYoIlRhYiBjb3VudDogJWRcbiIsIHRhYmNvdW50KTsKICAgIHByaW50ZigiU3BhY2UgY291bnQ6ICVkXG4iLCBzcGFjZWNvdW50KTsKICAgIHByaW50ZigiUmVzdCAgY291bnQ6ICVkXG4iLCByZXN0Y291bnQpOwogICAgcmV0dXJuIDA7Cn0K