fork download
  1. %{
  2. #include
  3. float p,flag,answer;
  4. char cc;
  5. %}
  6. digit [0-9]+
  7. op+|-|*|/
  8. %%
  9. {digit} {
  10. p=atof(yytext);
  11. if(flag==0)
  12. {
  13. answer=p;
  14. flag=1;
  15. }
  16. else
  17. {
  18. switch(cc)
  19. {
  20. case ‘+:answer=answer+p;
  21. case ‘-:answer=answer-p;
  22. case ‘*:answer=answer*p;
  23. case ‘/:answer=answer/p;
  24. }
  25. }
  26. }
  27. {op} {
  28. if(strcmp(yytext,+)==0)
  29. cc=+;
  30. if(strcmp(yytext,-)==0)
  31. cc=-;
  32. if(strcmp(yytext,*)==0)
  33. cc=*;
  34. if(strcmp(yytext,/)==0)
  35. cc=/;
  36. }
  37. ! {printf(“n Final Answer = %f”,answer);exit(0);}
  38. %%
  39. int main()
  40. {
  41. flag=answer=0;
  42. printf(“n Enter the Question String :-);
  43. yylex();
  44. return(0);
  45. }
Success #stdin #stdout #stderr 0.03s 6832KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
ERROR: /home/T1LLna/prog:45:0: Syntax error: Unexpected end of file
ERROR: '$runtoplevel'/0: Undefined procedure: program/0
   Exception: (3) program ? EOF: exit