package com.klq.ast.impl.expr; import com.klq.ast.IExpressionVisitor; import com.klq.ast.impl.Location; import com.klq.ast.impl.ANode; import com.klq.ast.impl.value.Value; import com.klq.controller.VariableTable; import java.util.Map; /** * Created by Timon on 03.03.2015. */ public abstract class AExpression extends ANode { public AExpression(Location location){ super(location); } public AExpression() { super(); } public abstract <T> T accept(IExpressionVisitor<T> visitor); public abstract Value evaluate(VariableTable variableTable); public boolean anyUndefined(Value leftChild, Value rightChild){ return leftChild.isUndefined() || rightChild.isUndefined(); } }