/* Lex program to count the number of vowels & consonants from the given input string */
%{
#include <stdio.h>
int vow = 0, con = 0;
%}
%%
[ \t\n]+ ; /* Ignore whitespace */
[aeiouAEIOU] { vow++; } /* Count vowels */
[a-zA-Z&&[^aeiouAEIOU]] { con++; } /* Count consonants */
. ; /* Ignore all other characters */
%%
int main() {
printf("Enter some input string:\n");
yylex();
printf
("
Number of vowels
= %d\n", vow); printf
("
Number of consonants
= %d\n", con); return 0;
}
int yywrap() {
return 1;
}
LyogTGV4IHByb2dyYW0gdG8gY291bnQgdGhlIG51bWJlciBvZiB2b3dlbHMgJiBjb25zb25hbnRzIGZyb20gdGhlIGdpdmVuIGlucHV0IHN0cmluZyAqLwolewojaW5jbHVkZSA8c3RkaW8uaD4KCmludCB2b3cgPSAwLCBjb24gPSAwOwolfQoKJSUKClsgXHRcbl0rICAgICAgICAgICA7ICAgICAgICAgICAvKiBJZ25vcmUgd2hpdGVzcGFjZSAqLwpbYWVpb3VBRUlPVV0gICAgICAgeyB2b3crKzsgfSAgLyogQ291bnQgdm93ZWxzICovClthLXpBLVomJlteYWVpb3VBRUlPVV1dIHsgY29uKys7IH0gIC8qIENvdW50IGNvbnNvbmFudHMgKi8KCi4gICAgICAgICAgICAgICAgICA7ICAgICAgICAgICAvKiBJZ25vcmUgYWxsIG90aGVyIGNoYXJhY3RlcnMgKi8KCiUlCgppbnQgbWFpbigpIHsKICAgIHByaW50ZigiRW50ZXIgc29tZSBpbnB1dCBzdHJpbmc6XG4iKTsKICAgIHl5bGV4KCk7CiAgICBwcmludGYoIk51bWJlciBvZiB2b3dlbHMgPSAlZFxuIiwgdm93KTsKICAgIHByaW50ZigiTnVtYmVyIG9mIGNvbnNvbmFudHMgPSAlZFxuIiwgY29uKTsKICAgIHJldHVybiAwOwp9CgppbnQgeXl3cmFwKCkgewogICAgcmV0dXJuIDE7Cn0K