package edu.uva.softwarecons.visitor.expression; import edu.uva.softwarecons.model.expression.arithmetic.AddExpression; import edu.uva.softwarecons.model.expression.arithmetic.DivExpression; import edu.uva.softwarecons.model.expression.arithmetic.MulExpression; import edu.uva.softwarecons.model.expression.arithmetic.SubExpression; import edu.uva.softwarecons.model.expression.comparison.EqualExpression; import edu.uva.softwarecons.model.expression.comparison.GreaterEqualExpression; import edu.uva.softwarecons.model.expression.comparison.GreaterExpression; import edu.uva.softwarecons.model.expression.comparison.LessEqualExpression; import edu.uva.softwarecons.model.expression.comparison.LessExpression; import edu.uva.softwarecons.model.expression.comparison.NotEqualExpression; import edu.uva.softwarecons.model.expression.literal.BoolExpression; import edu.uva.softwarecons.model.expression.literal.IdExpression; import edu.uva.softwarecons.model.expression.literal.IntExpression; import edu.uva.softwarecons.model.expression.logical.AndExpression; import edu.uva.softwarecons.model.expression.logical.NotExpression; import edu.uva.softwarecons.model.expression.logical.OrExpression; import edu.uva.softwarecons.model.value.Value; /** * Falconlabs * * @author Santiago Carrillo * Date: 3/13/14 */ public interface ExpressionEvalVisitor { Value visitAddExpression( AddExpression expression ); Value visitDivExpression( DivExpression expression ); Value visitMulExpression( MulExpression expression ); Value visitSubExpression( SubExpression expression ); Value visitAndExpression( AndExpression expression ); Value visitNotExpression( NotExpression expression ); Value visitOrExpression( OrExpression expression ); Value visitEqualExpression( EqualExpression expression ); Value visitGreaterEqualExpression( GreaterEqualExpression expression ); Value visitGreaterExpression( GreaterExpression expression ); Value visitLessEqualExpression( LessEqualExpression expression ); Value visitLessExpression( LessExpression expression ); Value visitNotEqualExpression( NotEqualExpression expression ); Value visitIdExpression( IdExpression expression ); Value visitBoolExpression( BoolExpression expression ); Value visitIntExpression( IntExpression expression ); }