Positive and Negative Numbers */
%{
int positive_no = 0, negative_no = 0;
%}
/* Rules for identifying and counting
positive and negative numbers*/
%%
^[-][0-9]+ {negative_no++;
printf
("negative
number = %s\n",
[0-9]+ {positive_no++;
printf
("positive
number = %s\n", %%
/*** use code section ***/
int yywrap(){}
int main()
{
yylex();
printf
("
number of positive numbers
= %d," "
number of negative numbers
= %d\n", positive_no, negative_no);
return 0;
}
UG9zaXRpdmUgYW5kIE5lZ2F0aXZlIE51bWJlcnMgKi8gCiV7IAppbnQgcG9zaXRpdmVfbm8gPSAwLCBuZWdhdGl2ZV9ubyA9IDA7IAolfSAKICAgCi8qIFJ1bGVzIGZvciBpZGVudGlmeWluZyBhbmQgY291bnRpbmcgIApwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgbnVtYmVycyovCiUlIApeWy1dWzAtOV0rIHtuZWdhdGl2ZV9ubysrOyAgCiAgICAgICAgICAgIHByaW50ZigibmVnYXRpdmUgbnVtYmVyID0gJXNcbiIsIAogICAgICAgICAgICAgICAgICB5eXRleHQpO30gIC8vIG5lZ2F0aXZlIG51bWJlciAKICAKWzAtOV0rIHtwb3NpdGl2ZV9ubysrOyAKICAgICAgICBwcmludGYoInBvc2l0aXZlIG51bWJlciA9ICVzXG4iLCAgCiAgICAgICAgICAgICAgICAgeXl0ZXh0KTt9IC8vIHBvc2l0aXZlIG51bWJlciAgICAgIAolJSAgCiAgCi8qKiogdXNlIGNvZGUgc2VjdGlvbiAqKiovCiAgCmludCB5eXdyYXAoKXt9IAppbnQgbWFpbigpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKeyAKICAgCnl5bGV4KCk7ICAKcHJpbnRmICgibnVtYmVyIG9mIHBvc2l0aXZlIG51bWJlcnMgPSAlZCwiCiAgICAgICAgIm51bWJlciBvZiBuZWdhdGl2ZSBudW1iZXJzID0gJWRcbiIsIAogICAgICAgICAgICAgICAgcG9zaXRpdmVfbm8sIG5lZ2F0aXZlX25vKTsgCiAgCnJldHVybiAwOyAgCn0K