% {
% }
dig [0-9]+|([0-9]*)"."([0-9]+)
add "+"
sub "-"
mul "*"
div "/"
pow "^"
ln \n
%%
/* digi() is a user defined function */
{dig} {digi();}
{ln} {printf("\n The Answer :%f\n\n",a);}
%%
digi()
{
/* atof() is used to convert - the ASCII input to float */
a=atof(yytext);
else
{
b=atof(yytext);
{
case 1: a=a+b;
break;
case 2: a=a-b;
break;
case 3: a=a*b;
break;
case 4: a=a/b;
break;
case 5: for(i=a;b>1;b--)
a=a*i;
break;
}
}
}
main(int argv,char *argc[])
{
yylex();
}
yywrap()
{
return 1;
}
CiUgeyAKICBpbnQgb3AgPSAwLGk7IAogIGZsb2F0IGEsIGI7IAolIH0gCiAgCmRpZyBbMC05XSt8KFswLTldKikiLiIoWzAtOV0rKSAKYWRkICIrIgpzdWIgIi0iCm11bCAiKiIKZGl2ICIvIgpwb3cgIl4iCmxuIFxuIAolJSAKICAKLyogZGlnaSgpIGlzIGEgdXNlciBkZWZpbmVkIGZ1bmN0aW9uICovCntkaWd9IAl7ZGlnaSgpO30gIAp7YWRkfQkge29wPTE7fSAKe3N1Yn0gCXtvcD0yO30gCnttdWx9CSB7b3A9Mzt9IAp7ZGl2fQkge29wPTQ7fSAKe3Bvd30JIHtvcD01O30gCntsbn0ge3ByaW50ZigiXG4gVGhlIEFuc3dlciA6JWZcblxuIixhKTt9IAogIAolJSAKCmRpZ2koKSAKeyAKCSBpZihvcD09MCkgCiAgLyogYXRvZigpIGlzIHVzZWQgdG8gY29udmVydCAgLSB0aGUgQVNDSUkgaW5wdXQgdG8gZmxvYXQgKi8KIAlhPWF0b2YoeXl0ZXh0KTsgIAogIAogCWVsc2UKIAl7IAoJCSBiPWF0b2YoeXl0ZXh0KTsgCiAgCgkJIHN3aXRjaChvcCkgCgkJIHsgCiAgCQkJIGNhc2UgMTogYT1hK2I7IAogICAJCQkgYnJlYWs7IAogIAogICAJCQljYXNlIDI6IGE9YS1iOyAKICAgCQkJYnJlYWs7IAogICAKICAgCQkJY2FzZSAzOiBhPWEqYjsgCiAgIAkJCWJyZWFrOyAKICAgCiAgIAkJCWNhc2UgNDogYT1hL2I7IAogIAkJCSBicmVhazsgCiAgIAogICAJCQljYXNlIDU6IGZvcihpPWE7Yj4xO2ItLSkgCiAgCQkJCQkgYT1hKmk7IAogIAkJCQkgYnJlYWs7IAogIAkJfSAKCQkgb3A9MDsgCgkgfSAKfSAKICAKbWFpbihpbnQgYXJndixjaGFyICphcmdjW10pIAp7IAogeXlsZXgoKTsgCn0gCiAgCnl5d3JhcCgpIAogCQl7IAogIHJldHVybiAxOyAKIH0gCg==