Newer
Older
AlgebraicDataflowArchitectureModel / AlgebraicDataflowArchitectureModel / src / code / ast / InfixExpression.java
package code.ast;

import models.algebra.Symbol;

/**
 * Represents an infix expression in AST (Abstract Syntax Tree)
 *
 * @author s-yamagiwa
 */
public class InfixExpression extends Expression {
	private Symbol operator;
	
	private Expression leftOperand;
	private Expression rightOperand;
	
	public InfixExpression(Symbol operator, Expression leftOperand, Expression rightOperand) {
		this.operator = operator;
		this.leftOperand = leftOperand;
		this.rightOperand = rightOperand;
	}
	
	public Symbol getOperator() {
		return this.operator;
	}
	
	public void setOperator(Symbol operator) {
		this.operator = operator;
	}
	
	public Expression getLeftOperand() {
		return leftOperand;
	}
	
	public void setLeftOperand(Expression expression) {
		this.leftOperand = expression;
	}
	
	public Expression getRightOperand() {
		return rightOperand;
	}
	
	public void setRightOperand(Expression expression) {
		this.rightOperand = expression;
	}
	
	@Override
	public String toString() {
		return leftOperand.toString() + " " + operator.toString() + " " + rightOperand.toString();
	}
}