%{
#include <stdio.h>
int line_count = 0, space_count = 0, tab_count = 0, char_count = 0;
%}
%%
\n { line_count++; }
[ \t] { if (yytext[0] == ' ') space_count++; else if (yytext[0] == '\t') tab_count++; }
. { char_count++; }
%%
int main() {
printf("Enter the input text (Press Ctrl+D to end input on Linux/Mac, Ctrl+Z on Windows):\n");
yylex(); printf("\nStatistics:\n");
printf
("
Number of Lines
: %d\n", line_count); printf("Number of Spaces: %d\n", space_count); printf("Number of Tabs: %d\n", tab_count);
printf
("
Number of Other Characters
: %d\n", char_count); return 0;}
int yywrap() { return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCBsaW5lX2NvdW50ID0gMCwgc3BhY2VfY291bnQgPSAwLCB0YWJfY291bnQgPSAwLCBjaGFyX2NvdW50ID0gMDsKJX0KJSUKXG4JeyBsaW5lX2NvdW50Kys7IH0KWyBcdF0JeyBpZiAoeXl0ZXh0WzBdID09ICcgJykgc3BhY2VfY291bnQrKzsgZWxzZSBpZiAoeXl0ZXh0WzBdID09ICdcdCcpIHRhYl9jb3VudCsrOyB9Ci4JeyBjaGFyX2NvdW50Kys7IH0KJSUKaW50IG1haW4oKSB7CnByaW50ZigiRW50ZXIgdGhlIGlucHV0IHRleHQgKFByZXNzIEN0cmwrRCB0byBlbmQgaW5wdXQgb24gTGludXgvTWFjLCBDdHJsK1ogb24gV2luZG93cyk6XG4iKTsKeXlsZXgoKTsgcHJpbnRmKCJcblN0YXRpc3RpY3M6XG4iKTsKcHJpbnRmKCJOdW1iZXIgb2YgTGluZXM6ICVkXG4iLCBsaW5lX2NvdW50KTsgcHJpbnRmKCJOdW1iZXIgb2YgU3BhY2VzOiAlZFxuIiwgc3BhY2VfY291bnQpOyBwcmludGYoIk51bWJlciBvZiBUYWJzOiAlZFxuIiwgdGFiX2NvdW50KTsKIApwcmludGYoIk51bWJlciBvZiBPdGhlciBDaGFyYWN0ZXJzOiAlZFxuIiwgY2hhcl9jb3VudCk7IHJldHVybiAwOwp9CmludCB5eXdyYXAoKSB7IHJldHVybiAxOwp9Cg==