public class ASTOperatorExpression extends ASTExpression { public static final int ERROR = 0; public static final int PLUS = 1; public static final int MINUS = 2; public static final int MULTIPLY = 3; public static final int DIVIDE = 4; public static final String [] Names = { "ERROR", "+", "-","*","/"}; public ASTOperatorExpression(ASTExpression left, ASTExpression right, int operator) { left_ = left; right_ = right; operator_ = operator; } public ASTOperatorExpression(ASTExpression left, ASTExpression right, String operator) { left_ = left; right_ = right; if (operator.compareTo("+") == 0) operator_ = PLUS; else if (operator.compareTo("-") == 0) operator_ = MINUS; else if (operator.compareTo("*") == 0) operator_ = MULTIPLY; else if (operator.compareTo("/") == 0) operator_ = DIVIDE; else operator_ = ERROR; } public ASTExpression left() { return left_; } public ASTExpression right() { return right_; } public int operator() { return operator_; } private ASTExpression left_; private ASTExpression right_; private int operator_; }