1 package org.jacorb.notification.filter.etcl; 2 3 23 24 import org.jacorb.notification.filter.EvaluationContext; 25 import org.jacorb.notification.filter.EvaluationException; 26 import org.jacorb.notification.filter.EvaluationResult; 27 28 import antlr.Token; 29 30 34 35 public class DivOperator extends BinaryOperator { 36 37 public DivOperator(Token tok) { 38 super(tok); 39 setName("DivOperator"); 40 } 41 42 public String toString() { 43 return " /"; 44 } 45 46 public EvaluationResult evaluate(EvaluationContext context, EvaluationResult left, EvaluationResult right) 47 throws EvaluationException { 48 49 try { 50 return EvaluationResult.div(left, right); 51 } catch (ArithmeticException e) { 52 throw new EvaluationException(e.getMessage()); 53 } 54 } 55 56 public void acceptInOrder(AbstractTCLVisitor visitor) throws VisitorException { 57 left().acceptInOrder(visitor); 58 visitor.visitDiv(this); 59 right().acceptInOrder(visitor); 60 } 61 62 public void acceptPostOrder(AbstractTCLVisitor visitor) throws VisitorException { 63 left().acceptPostOrder(visitor); 64 right().acceptPostOrder(visitor); 65 visitor.visitDiv(this); 66 } 67 68 public void acceptPreOrder(AbstractTCLVisitor visitor) throws VisitorException { 69 visitor.visitDiv(this); 70 left().acceptPreOrder(visitor); 71 right().acceptPreOrder(visitor); 72 } 73 } 74 | Popular Tags |