%{
#include <stdio.h>
int word_count = 0;
int digit_count = 0;
int space_count = 0;
int special_count = 0;
%}
%%
[a-zA-Z]+ { word_count++; }
[0-9] { digit_count++; }
[ \t\n] { space_count++; }
[^a-zA-Z0-9 \t\n] { special_count++; }
. { /* ignore other characters */ }
%%
int main() {
yylex();
printf
("
Number of words
: %d\n", word_count); printf
("
Number of digits
: %d\n", digit_count); printf
("
Number of spaces
: %d\n", space_count); printf
("
Number of special characters
: %d\n", special_count); return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCB3b3JkX2NvdW50ID0gMDsKaW50IGRpZ2l0X2NvdW50ID0gMDsKaW50IHNwYWNlX2NvdW50ID0gMDsKaW50IHNwZWNpYWxfY291bnQgPSAwOwolfQoKJSUKW2EtekEtWl0rIHsgd29yZF9jb3VudCsrOyB9ClswLTldICAgICB7IGRpZ2l0X2NvdW50Kys7IH0KWyBcdFxuXSAgIHsgc3BhY2VfY291bnQrKzsgfQpbXmEtekEtWjAtOSBcdFxuXSB7IHNwZWNpYWxfY291bnQrKzsgfQouICAgICAgICAgeyAvKiBpZ25vcmUgb3RoZXIgY2hhcmFjdGVycyAqLyB9CiUlCgppbnQgbWFpbigpIHsKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIk51bWJlciBvZiB3b3JkczogJWRcbiIsIHdvcmRfY291bnQpOwogICAgcHJpbnRmKCJOdW1iZXIgb2YgZGlnaXRzOiAlZFxuIiwgZGlnaXRfY291bnQpOwogICAgcHJpbnRmKCJOdW1iZXIgb2Ygc3BhY2VzOiAlZFxuIiwgc3BhY2VfY291bnQpOwogICAgcHJpbnRmKCJOdW1iZXIgb2Ygc3BlY2lhbCBjaGFyYWN0ZXJzOiAlZFxuIiwgc3BlY2lhbF9jb3VudCk7CiAgICByZXR1cm4gMDsKfQo=