%{
#include <stdio.h>
int line_count = 0, space_count = 0, tab_count = 0, other_count = 0;
%}
%%
\n { line_count++; }
" " { space_count++; }
\t { tab_count++; }
. { other_count++; }
%%
int main() {
printf("Enter input :\n");
yylex();
printf("Lines: %d\n", line_count);
printf("Spaces: %d\n", space_count);
printf("Tabs: %d\n", tab_count);
printf("Other Characters: %d\n", other_count);
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCBsaW5lX2NvdW50ID0gMCwgc3BhY2VfY291bnQgPSAwLCB0YWJfY291bnQgPSAwLCBvdGhlcl9jb3VudCA9IDA7CiV9CgolJQpcbiAgICAgICAgeyBsaW5lX2NvdW50Kys7IH0KIiAiICAgICAgeyBzcGFjZV9jb3VudCsrOyB9Clx0ICAgICAgIHsgdGFiX2NvdW50Kys7IH0KLiAgICAgICAgeyBvdGhlcl9jb3VudCsrOyB9CiUlCgppbnQgbWFpbigpIHsKICAgIHByaW50ZigiRW50ZXIgaW5wdXQgOlxuIik7CiAgICB5eWxleCgpOwogICAgcHJpbnRmKCJMaW5lczogJWRcbiIsIGxpbmVfY291bnQpOwogICAgcHJpbnRmKCJTcGFjZXM6ICVkXG4iLCBzcGFjZV9jb3VudCk7CiAgICBwcmludGYoIlRhYnM6ICVkXG4iLCB0YWJfY291bnQpOwogICAgcHJpbnRmKCJPdGhlciBDaGFyYWN0ZXJzOiAlZFxuIiwgb3RoZXJfY291bnQpOwogICAgcmV0dXJuIDA7Cn0KCmludCB5eXdyYXAoKSB7CiAgICByZXR1cm4gMTsKfQo=