%{
#include <stdio.h>
int vowels = 0, consonants = 0;
%}
%%
[aeiouAEIOU] { vowels++; } /* match vowels */
[a-zA-Z] { consonants++; } /* match consonants (not already matched above) */
.|\n ; /* ignore everything else */
%%
int main()
{
printf("Enter a string: ");
yylex(); /* start lexical analysis */
printf("\nNumber of vowels: %d\n", vowels);
printf
("
Number of consonants
: %d\n", consonants); return 0;
}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CmludCB2b3dlbHMgPSAwLCBjb25zb25hbnRzID0gMDsKJX0KCiUlClthZWlvdUFFSU9VXSAgIHsgdm93ZWxzKys7IH0gICAgICAgICAgIC8qIG1hdGNoIHZvd2VscyAqLwpbYS16QS1aXSAgICAgICB7IGNvbnNvbmFudHMrKzsgfSAgICAgICAvKiBtYXRjaCBjb25zb25hbnRzIChub3QgYWxyZWFkeSBtYXRjaGVkIGFib3ZlKSAqLwoufFxuICAgICAgICAgICA7ICAgICAgICAgICAgICAgICAgICAgICAvKiBpZ25vcmUgZXZlcnl0aGluZyBlbHNlICovCiUlCgppbnQgbWFpbigpCnsKICAgIHByaW50ZigiRW50ZXIgYSBzdHJpbmc6ICIpOwogICAgeXlsZXgoKTsgIC8qIHN0YXJ0IGxleGljYWwgYW5hbHlzaXMgKi8KICAgIHByaW50ZigiXG5OdW1iZXIgb2Ygdm93ZWxzOiAlZFxuIiwgdm93ZWxzKTsKICAgIHByaW50ZigiTnVtYmVyIG9mIGNvbnNvbmFudHM6ICVkXG4iLCBjb25zb25hbnRzKTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkKewogICAgcmV0dXJuIDE7Cn0K