package expressions;

import operators.Operator;

public class BinaryExpression extends Expression {

    private Expression lhs;
    private Expression rhs;
    private Operator op;
    
    public BinaryExpression( Operator p_op , Expression p_lhs , Expression p_rhs ) {
        
        op = p_op;
        lhs = p_lhs;
        rhs = p_rhs;
    }
    
    public int evaluate() {

        return op.apply( lhs , rhs );
    }

    public void show() {

        lhs.show();
        op.show();
        rhs.show();
    }
}