%{
#include <stdio.h>
int line_count = 0;
int char_count = 0;
%}
%%
\n { line_count++; char_count++; } /* Count newline as character and line */
. { char_count++; } /* Count all other characters */
%%
int main()
{
printf("Enter text (Ctrl+D to end input):\n");
yylex();
printf
("\nTotal
number of characters
: %d\n", char_count); printf
("Total
number of lines
: %d\n", line_count);
return 0;
}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbGluZV9jb3VudCA9IDA7CmludCBjaGFyX2NvdW50ID0gMDsKJX0KCiUlCgpcbiAgICAgICAgICB7IGxpbmVfY291bnQrKzsgY2hhcl9jb3VudCsrOyB9ICAgLyogQ291bnQgbmV3bGluZSBhcyBjaGFyYWN0ZXIgYW5kIGxpbmUgKi8KLiAgICAgICAgICAgeyBjaGFyX2NvdW50Kys7IH0gICAgICAgICAgICAgICAgIC8qIENvdW50IGFsbCBvdGhlciBjaGFyYWN0ZXJzICovCgolJQoKaW50IG1haW4oKQp7CiAgICBwcmludGYoIkVudGVyIHRleHQgKEN0cmwrRCB0byBlbmQgaW5wdXQpOlxuIik7CiAgICB5eWxleCgpOwoKICAgIHByaW50ZigiXG5Ub3RhbCBudW1iZXIgb2YgY2hhcmFjdGVyczogJWRcbiIsIGNoYXJfY291bnQpOwogICAgcHJpbnRmKCJUb3RhbCBudW1iZXIgb2YgbGluZXM6ICVkXG4iLCBsaW5lX2NvdW50KTsKCiAgICByZXR1cm4gMDsKfQoKaW50IHl5d3JhcCgpCnsKICAgIHJldHVybiAxOwp9Cg==