szabivan

CUP source - Formula parser

Apr 17th, 2015
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. package szabivan.cup;
  2.  
  3. import java_cup.runtime.*;
  4. import formula.data.*;
  5.  
  6. class FormulaParser;
  7.  
  8. terminal VEE, WEDGE, IMPLIES, IFF, LPAREN, RPAREN, UP, DOWN, NEGATION;
  9. terminal String VARIABLE;
  10.  
  11. non terminal Formula formula;
  12.  
  13. precedence left IFF;
  14. precedence right IMPLIES;
  15. precedence left VEE;
  16. precedence left WEDGE;
  17. precedence left NEGATION;
  18.  
  19. formula ::= VARIABLE:v {: RESULT = new Variable(v); :} |
  20. LPAREN formula:f RPAREN {: RESULT = f; :} |
  21. formula:f VEE formula:g {: RESULT = new Disjunction(f,g); :} |
  22. formula:f WEDGE formula:g {: RESULT = new Conjunction(f,g); :} |
  23. formula:f IMPLIES formula:g {: RESULT = new Implication(f,g); :} |
  24. formula:f IFF formula:g {: RESULT = new Equivalence(f,g); :} |
  25. NEGATION formula:f {: RESULT = new Negation(f); :} |
  26. UP {: RESULT = True.getInstance(); :} |
  27. DOWN {: RESULT = False.getInstance(); :}
  28. ;
Advertisement
Add Comment
Please, Sign In to add comment