%{
#include <stdio.h>
int vowel_count = 0;
int consonant_count = 0;
%}
%%
[aeiouAEIOU] { vowel_count++; }
[a-zA-Z] { consonant_count++; }
.|\n ; /* ignore everything else */
%%
int main(int argc, char *argv[]) {
if(argc > 1) {
FILE *fp = fopen(argv[1], "r");
if(!fp) {
printf
("Cannot
open file
%s\n", argv[1]); return 1;
}
yyin = fp;
}
yylex();
printf("Total vowels: %d\n", vowel_count);
printf("Total consonants: %d\n", consonant_count);
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCB2b3dlbF9jb3VudCA9IDA7CmludCBjb25zb25hbnRfY291bnQgPSAwOwolfQoKJSUKW2FlaW91QUVJT1VdICAgeyB2b3dlbF9jb3VudCsrOyB9ClthLXpBLVpdICAgICAgIHsgY29uc29uYW50X2NvdW50Kys7IH0KLnxcbiAgICAgICAgICAgOyAgIC8qIGlnbm9yZSBldmVyeXRoaW5nIGVsc2UgKi8KJSUKCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pIHsKICAgIGlmKGFyZ2MgPiAxKSB7CiAgICAgICAgRklMRSAqZnAgPSBmb3Blbihhcmd2WzFdLCAiciIpOwogICAgICAgIGlmKCFmcCkgewogICAgICAgICAgICBwcmludGYoIkNhbm5vdCBvcGVuIGZpbGUgJXNcbiIsIGFyZ3ZbMV0pOwogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICAgICAgeXlpbiA9IGZwOwogICAgfQogICAgeXlsZXgoKTsKICAgIHByaW50ZigiVG90YWwgdm93ZWxzOiAlZFxuIiwgdm93ZWxfY291bnQpOwogICAgcHJpbnRmKCJUb3RhbCBjb25zb25hbnRzOiAlZFxuIiwgY29uc29uYW50X2NvdW50KTsKICAgIHJldHVybiAwOwp9Cg==