%{
#include <stdio.h>
int whitespace_count = 0;
int newline_count = 0;
%}
%%
[ \t]+ { whitespace_count += yyleng; }
\n+ { newline_count += yyleng; }
. { /* ignore other characters */ }
%%
int main(void)
{
yylex();
printf("Whitespace count (spaces + tabs): %d\n", whitespace_count);
printf("Newline count: %d\n", newline_count);
return 0;
}
int yywrap(void)
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgd2hpdGVzcGFjZV9jb3VudCA9IDA7CmludCBuZXdsaW5lX2NvdW50ID0gMDsKJX0KCiUlClsgXHRdKyAgICAgIHsgd2hpdGVzcGFjZV9jb3VudCArPSB5eWxlbmc7IH0KXG4rICAgICAgICAgeyBuZXdsaW5lX2NvdW50ICs9IHl5bGVuZzsgfQouICAgICAgICAgICB7IC8qIGlnbm9yZSBvdGhlciBjaGFyYWN0ZXJzICovIH0KJSUKCmludCBtYWluKHZvaWQpCnsKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIldoaXRlc3BhY2UgY291bnQgKHNwYWNlcyArIHRhYnMpOiAlZFxuIiwgd2hpdGVzcGFjZV9jb3VudCk7CiAgICBwcmludGYoIk5ld2xpbmUgY291bnQ6ICVkXG4iLCBuZXdsaW5lX2NvdW50KTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKHZvaWQpCnsKICAgIHJldHVybiAxOwp9Cg==