%{
#include<stdio.h>
int lc=0, sc=0, tc=0, cc=0;
%}
%%
\n { lc++; }
[] { sc++; }
\t { tc++; }
. { cc++; }
%%
int yywrap()
{
return 1;
}
int main()
{
printf("Enter the string:\n\n"};
yylex();
printf("\nThe no. of lines are: %d\n", lc );
printf("\nThe no. of space are: %d\n", sc );
printf("\nThe no. of tab-meta char. are: %d\n", tc);
printf("\nThe no. of other char. are: %d\n", cc );
return 0;
}
JXsKICAgICAjaW5jbHVkZTxzdGRpby5oPgogICAgIGludCBsYz0wLCBzYz0wLCB0Yz0wLCBjYz0wOwolfQoKJSUKICBcbiAgeyBsYysrOyB9CiAgW10gIHsgc2MrKzsgfQogIFx0ICAgeyB0YysrOyB9CiAgLiAgICB7IGNjKys7IH0KJSUKCmludCB5eXdyYXAoKQp7CiAgIHJldHVybiAxOwp9CgppbnQgbWFpbigpCnsKICBwcmludGYoIkVudGVyIHRoZSBzdHJpbmc6XG5cbiJ9OwogIHl5bGV4KCk7CiAgcHJpbnRmKCJcblRoZSBuby4gb2YgbGluZXMgYXJlOiAlZFxuIiwgbGMgKTsKICBwcmludGYoIlxuVGhlIG5vLiBvZiBzcGFjZSBhcmU6ICVkXG4iLCBzYyApOwogIHByaW50ZigiXG5UaGUgbm8uIG9mIHRhYi1tZXRhIGNoYXIuIGFyZTogJWRcbiIsIHRjKTsKICBwcmludGYoIlxuVGhlIG5vLiBvZiBvdGhlciBjaGFyLiBhcmU6ICVkXG4iLCBjYyApOwogIHJldHVybiAwOwp9