Guest User

Untitled

a guest
Dec 14th, 2017
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. grammar Calculator;
  2. NL : '\n';
  3. WS : [ \t\r]+ -> skip;
  4. ID : [a-zA-Z_][a-zA-Z_0-9]*;
  5.  
  6. PLUS : '+';
  7. EQUAL : '=';
  8. MINUS : '-';
  9. MULT : '*';
  10. DIV : '/';
  11. LPAR : '(';
  12. RPAR : ')';
  13.  
  14. input
  15. plusOrMinus NL? EOF # Calculate
  16. ;
  17.  
  18.  
  19. plusOrMinus
  20. : plusOrMinus PLUS multOrDiv # Plus
  21. | plusOrMinus MINUS multOrDiv # Minus
  22. | multOrDiv # ToMultOrDiv
  23. ;
  24.  
  25. multOrDiv
  26. : multOrDiv MULT atom # Multiplication
  27. | multOrDiv DIV atom # Division
  28. | atom # ToPow
  29. ;
  30.  
  31.  
  32. atom
  33. | ID # Variable
  34. | LPAR plusOrMinus RPAR # Braces
  35. ;
Advertisement
Add Comment
Please, Sign In to add comment