%{
int num_lines = 0;
int num_spaces = 0;
int num_tabs = 0;
int num_others = 0;
%}
%%
\n { num_lines++; }
" " { num_spaces++; }
"\t" { num_tabs++; }
. { num_others++; }
%%
int main() {
yylex();
printf
("
Number of lines
: %d\n", num_lines); printf
("
Number of spaces
: %d\n", num_spaces); printf
("
Number of tabs
: %d\n", num_tabs); printf
("
Number of other characters
: %d\n", num_others); return 0;
}
int yywrap() {
return 1;
}
JXsKaW50IG51bV9saW5lcyA9IDA7IAppbnQgbnVtX3NwYWNlcyA9IDA7IAppbnQgbnVtX3RhYnMgPSAwOyAKaW50IG51bV9vdGhlcnMgPSAwOwolfQolJQpcbiAgICAgIHsgbnVtX2xpbmVzKys7IH0KIiAiICAgICB7IG51bV9zcGFjZXMrKzsgfQoiXHQiICAgIHsgbnVtX3RhYnMrKzsgfQouICAgICAgIHsgbnVtX290aGVycysrOyB9CiUlCmludCBtYWluKCkgeyAKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIk51bWJlciBvZiBsaW5lczogJWRcbiIsIG51bV9saW5lcyk7IAogICAgcHJpbnRmKCJOdW1iZXIgb2Ygc3BhY2VzOiAlZFxuIiwgbnVtX3NwYWNlcyk7CiAgICBwcmludGYoIk51bWJlciBvZiB0YWJzOiAlZFxuIiwgbnVtX3RhYnMpOyAKICAgIHByaW50ZigiTnVtYmVyIG9mIG90aGVyIGNoYXJhY3RlcnM6ICVkXG4iLCBudW1fb3RoZXJzKTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkgeyAKICAgIHJldHVybiAxOwp9Cg==