%{
/* Definition section */
int postiveno=0;
int negtiveno=0;
int positivefractions=0;
int negativefractions=0;
%}
/* Rule Section */
DIGIT [0-9]
%%
\+?{DIGIT}+ postiveno++;
-{DIGIT}+ negtiveno++;
\+?{DIGIT}*\.{DIGIT}+ positivefractions++;
-{DIGIT}*\.{DIGIT}+ negativefractions++;
. ;
%%
// driver code
int main()
{
yylex();
printf("\nNo. of positive numbers: %d", postiveno);
printf("\nNo. of Negative numbers: %d", negtiveno);
printf("\nNo. of Positive numbers in fractions: %d", positivefractions);
printf("\nNo. of Negative numbers in fractions: %d\n", negativefractions);
return 0;
}
JXsgCgogICAgIC8qIERlZmluaXRpb24gc2VjdGlvbiAqLwoKICAgIGludCBwb3N0aXZlbm89MDsgCgogICAgaW50IG5lZ3RpdmVubz0wOyAKCiAgICBpbnQgcG9zaXRpdmVmcmFjdGlvbnM9MDsgCgogICAgaW50IG5lZ2F0aXZlZnJhY3Rpb25zPTA7IAolfSAKCiAgCi8qIFJ1bGUgU2VjdGlvbiAqLwpESUdJVCBbMC05XSAKJSUgCgogIApcKz97RElHSVR9KyAgICAgICAgICAgICBwb3N0aXZlbm8rKzsgCi17RElHSVR9KyAgICAgICAgICAgICAgIG5lZ3RpdmVubysrOyAKCiAgClwrP3tESUdJVH0qXC57RElHSVR9KyAgIHBvc2l0aXZlZnJhY3Rpb25zKys7IAote0RJR0lUfSpcLntESUdJVH0rICAgICBuZWdhdGl2ZWZyYWN0aW9ucysrOyAKLiA7ICAgIAolJSAKCiAgCi8vIGRyaXZlciBjb2RlIAoKaW50IG1haW4oKSAKeyAKCiAgICB5eWxleCgpOyAKCiAgICBwcmludGYoIlxuTm8uIG9mIHBvc2l0aXZlIG51bWJlcnM6ICVkIiwgcG9zdGl2ZW5vKTsgCgogICAgcHJpbnRmKCJcbk5vLiBvZiBOZWdhdGl2ZSBudW1iZXJzOiAlZCIsIG5lZ3RpdmVubyk7IAoKICAgIHByaW50ZigiXG5Oby4gb2YgUG9zaXRpdmUgbnVtYmVycyBpbiBmcmFjdGlvbnM6ICVkIiwgcG9zaXRpdmVmcmFjdGlvbnMpOyAKCiAgICBwcmludGYoIlxuTm8uIG9mIE5lZ2F0aXZlIG51bWJlcnMgaW4gZnJhY3Rpb25zOiAlZFxuIiwgbmVnYXRpdmVmcmFjdGlvbnMpOyAKCiAgICByZXR1cm4gMDsgCn0g