%{
#include <stdio.h>
int line_count = 0;
int space_count = 0;
int tab_count = 0;
int other_char_count = 0;
%}
%%
\n { line_count++; } /* Increment line count */
\t { tab_count++; } /* Increment tab count */
" " { space_count++; } /* Increment space count */
. { other_char_count++; } /* Increment other character 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_char_count);
return 0;
}
int yywrap() {
return 1;
}
CiV7CiNpbmNsdWRlIDxzdGRpby5oPgppbnQgbGluZV9jb3VudCA9IDA7CmludCBzcGFjZV9jb3VudCA9IDA7CmludCB0YWJfY291bnQgPSAwOwppbnQgb3RoZXJfY2hhcl9jb3VudCA9IDA7CiV9CgolJQoKXG4gICAgICAgICAgICB7IGxpbmVfY291bnQrKzsgfSAgICAgICAgLyogSW5jcmVtZW50IGxpbmUgY291bnQgKi8KXHQgICAgICAgICAgICB7IHRhYl9jb3VudCsrOyB9ICAgICAgICAgLyogSW5jcmVtZW50IHRhYiBjb3VudCAqLwoiICIgICAgICAgICAgeyBzcGFjZV9jb3VudCsrOyB9ICAgICAgLyogSW5jcmVtZW50IHNwYWNlIGNvdW50ICovCi4gICAgICAgICAgICB7IG90aGVyX2NoYXJfY291bnQrKzsgfSAgLyogSW5jcmVtZW50IG90aGVyIGNoYXJhY3RlciBjb3VudCAqLwoKJSUKCmludCBtYWluKCkgewogICAgcHJpbnRmKCJFbnRlciBpbnB1dCA6XG4iKTsKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIkxpbmVzOiAlZFxuIiwgbGluZV9jb3VudCk7CiAgICBwcmludGYoIlNwYWNlczogJWRcbiIsIHNwYWNlX2NvdW50KTsKICAgIHByaW50ZigiVGFiczogJWRcbiIsIHRhYl9jb3VudCk7CiAgICBwcmludGYoIk90aGVyIENoYXJhY3RlcnM6ICVkXG4iLCBvdGhlcl9jaGFyX2NvdW50KTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkgewogICAgcmV0dXJuIDE7Cn0K