package org.uva.sea.ql.ast; import org.uva.sea.ql.ast.literal.*; import org.uva.sea.ql.ast.operators.arithmetic.*; import org.uva.sea.ql.ast.operators.comparison.*; import org.uva.sea.ql.ast.operators.logical.*; public interface ExpressionVisitor<T>{ T visit(Add add); T visit(Sub sub); T visit(Div div); T visit(Mul mul); T visit(Neg neg); T visit(Pos pos); T visit(Eq eq); T visit(GEq geq); T visit(GT gt); T visit(LEq leq); T visit(LT lt); T visit(NEq neq); T visit(And and); T visit(Or or); T visit(Not not); T visit(IntegerLiteral intLiteral); T visit(BooleanLiteral boolLiteral); T visit(StringLiteral stringLiteral); T visit(Identifier identifier); }