Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. %{
  2. #include <stdlib.h>
  3. #include "y.tab.h"
  4. %}
  5.  
  6. NUM ([0-9]*\.[0-9]+)
  7. INTNUM [0-9]+
  8. %%
  9.  
  10. [ \t\r]+
  11.  
  12. {NUM} { yylval.vrednost = atof(yytext); yylval.imareal=1; return NUMBER; }
  13. {INTNUM} { yylval.vrednost = atof(yytext); yylval.imareal=0; return NUMBER; }
  14.  
  15. [a-z] { yylval.imeprom = (yytext[0] - 'a'); return VARIABLE; }
  16. [a-z][a-z] { yylval.imeprom = (yytext[0]- 'a')*26 + (yytext[1]-'a'); return VARIABLE; }
  17. [a-z][a-z][a-z] { yylval.imeprom = (yytext[0]- 'a')*26*26 + (yytext[1]-'a')*26 + (yytext[2]-'a'); return VARIABLE; }
  18.  
  19. "+" { return PLUS; }
  20. "-" { return MINUS; }
  21. "*" { return TIMES; }
  22. "/" { return SLASH; }
  23. "=" { return EQUALS; }
  24. "\n" { return NEWLINE; }
  25. "(" { return LPAR; }
  26. ")" { return RPAR; }
  27. "SQRT" { return KOREN; }
  28. "LOG" { return LOG; }
  29. "SIN" { return SIN;}
  30. "COS" { return COS;}
  31. "TG" { return TGF;}
  32. "CTG" { return CTGF;}
  33. "POW" { return POW;}
  34. "," { return COMA;}
  35. "<" { return LESS;}
  36. ">" { return GREATER;}
  37. "<=" { return LEQUAL; }
  38. ">=" { return GEQUAL; }
  39. . { return yytext[0]; }
  40. "EXIT" { exit(0); }
  41.  
  42. %%
  43.  
  44. int yywrap() {
  45. return 1;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement