%{
#include <stdio.h>
int vowels_count = 0;
int consonants_count = 0;
%}
%%
// Match vowels (both uppercase and lowercase)
[aeiouAEIOU] { vowels_count++; }
// Match consonants (both uppercase and lowercase)
[b-df-hj-np-tv-zB-DF-HJ-NP-TV-Z] { consonants_count++; }
// Ignore any other characters (digits, punctuation, whitespace)
. { /* Ignore other characters */ }
%%
// Main function
int main(int argc, char **argv) {
yylex(); // Start the lexical analysis
printf("Vowels: %d\n", vowels_count);
printf("Consonants: %d\n", consonants_count);
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgdm93ZWxzX2NvdW50ID0gMDsKaW50IGNvbnNvbmFudHNfY291bnQgPSAwOwolfQoKJSUgCgovLyBNYXRjaCB2b3dlbHMgKGJvdGggdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UpClthZWlvdUFFSU9VXSAgIHsgdm93ZWxzX2NvdW50Kys7IH0KCi8vIE1hdGNoIGNvbnNvbmFudHMgKGJvdGggdXBwZXJjYXNlIGFuZCBsb3dlcmNhc2UpCltiLWRmLWhqLW5wLXR2LXpCLURGLUhKLU5QLVRWLVpdIHsgY29uc29uYW50c19jb3VudCsrOyB9CgovLyBJZ25vcmUgYW55IG90aGVyIGNoYXJhY3RlcnMgKGRpZ2l0cywgcHVuY3R1YXRpb24sIHdoaXRlc3BhY2UpCi4gICAgICAgICAgICAgIHsgLyogSWdub3JlIG90aGVyIGNoYXJhY3RlcnMgKi8gfQoKJSUgCgovLyBNYWluIGZ1bmN0aW9uCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogICAgeXlsZXgoKTsgLy8gU3RhcnQgdGhlIGxleGljYWwgYW5hbHlzaXMKICAgIHByaW50ZigiVm93ZWxzOiAlZFxuIiwgdm93ZWxzX2NvdW50KTsKICAgIHByaW50ZigiQ29uc29uYW50czogJWRcbiIsIGNvbnNvbmFudHNfY291bnQpOwogICAgcmV0dXJuIDA7Cn0=