%{
int num_lines = 0;
int num_spaces = 0;
int num_tabs = 0;
int num_others = 0;
%}
%%
[\n] { num_lines++; }
[ \t] { num_spaces++; }
[\x01-\x09\x0b-\x1f\x7f] { 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
/meta characters
: %d\n", num_tabs);printf
("
Number of other characters
: %d\n", num_others);return 0;
}
int yywrap() {
return 1;
}
JXsKaW50IG51bV9saW5lcyA9IDA7CmludCBudW1fc3BhY2VzID0gMDsKaW50IG51bV90YWJzID0gMDsKaW50IG51bV9vdGhlcnMgPSAwOwolfQolJQpbXG5dIHsgbnVtX2xpbmVzKys7IH0KWyBcdF0geyBudW1fc3BhY2VzKys7IH0KW1x4MDEtXHgwOVx4MGItXHgxZlx4N2ZdIHsgbnVtX3RhYnMrKzsgfQouIHsgbnVtX290aGVycysrOyB9CiUlCmludCBtYWluKCkgewp5eWxleCgpOwpwcmludGYoIk51bWJlciBvZiBsaW5lczogJWRcbiIsIG51bV9saW5lcyk7CnByaW50ZigiTnVtYmVyIG9mIHNwYWNlczogJWRcbiIsIG51bV9zcGFjZXMpOwpwcmludGYoIk51bWJlciBvZiB0YWJzL21ldGEgY2hhcmFjdGVyczogJWRcbiIsIG51bV90YWJzKTsKcHJpbnRmKCJOdW1iZXIgb2Ygb3RoZXIgY2hhcmFjdGVyczogJWRcbiIsIG51bV9vdGhlcnMpOwpyZXR1cm4gMDsKfQppbnQgeXl3cmFwKCkgewpyZXR1cm4gMTsKfQ==