package Models.Expressions; import Exceptions.BaseException; import Models.Program.IDictionary; import Models.Program.IHeap; import Models.Types.IType; import Models.Values.IValue; public interface IExpression { public IValue evaluate(IDictionary table, IHeap heap) throws BaseException; public IType typeCheck(IDictionary typeTable) throws BaseException; public IExpression copy(); }