% {
% }
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;
}
JSB7CiAgaW50IG9wID0gMCxpOwogIGZsb2F0IGEsIGI7CiUgfQogIApkaWcgWzAtOV0rfChbMC05XSopIi4iKFswLTldKykKYWRkICIrIgpzdWIgIi0iCm11bCAiKiIKZGl2ICIvIgpwb3cgIl4iCmxuIFxuCiUlCiAgCi8qIGRpZ2koKSBpcyBhIHVzZXIgZGVmaW5lZCBmdW5jdGlvbiAqLwp7ZGlnfSB7ZGlnaSgpO30gCnthZGR9IHtvcD0xO30Ke3N1Yn0ge29wPTI7fQp7bXVsfSB7b3A9Mzt9CntkaXZ9IHtvcD00O30Ke3Bvd30ge29wPTU7fQp7bG59IHtwcmludGYoIlxuIFRoZSBBbnN3ZXIgOiVmXG5cbiIsYSk7fQogIAolJQpkaWdpKCkKewogaWYob3A9PTApCiAgCi8qIGF0b2YoKSBpcyB1c2VkIHRvIGNvbnZlcnQgCiAgICAgIC0gdGhlIEFTQ0lJIGlucHV0IHRvIGZsb2F0ICovCiBhPWF0b2YoeXl0ZXh0KTsgCiAgCiBlbHNlCiB7CiBiPWF0b2YoeXl0ZXh0KTsKICAKIHN3aXRjaChvcCkKIHsKICAgY2FzZSAxOmE9YStiOwogICAgYnJlYWs7CiAgCiAgIGNhc2UgMjphPWEtYjsKICAgYnJlYWs7CiAgIAogICBjYXNlIDM6YT1hKmI7CiAgIGJyZWFrOwogICAKICAgY2FzZSA0OmE9YS9iOwogICBicmVhazsKICAgCiAgIGNhc2UgNTpmb3IoaT1hO2I+MTtiLS0pCiAgIGE9YSppOwogICBicmVhazsKICB9CiBvcD0wOwogfQp9CiAgCm1haW4oaW50IGFyZ3YsY2hhciAqYXJnY1tdKQp7CiB5eWxleCgpOwp9CiAgCnl5d3JhcCgpCiB7CiAgcmV0dXJuIDE7CiB9