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_;
}