package org.uva.sea.ql.ast; import org.uva.sea.ql.ast.operators.arithmetic.Add; import org.uva.sea.ql.ast.operators.arithmetic.Div; import org.uva.sea.ql.ast.operators.arithmetic.Mul; import org.uva.sea.ql.ast.operators.arithmetic.Neg; import org.uva.sea.ql.ast.operators.arithmetic.Pos; import org.uva.sea.ql.ast.operators.arithmetic.Sub; import org.uva.sea.ql.ast.operators.comparison.Eq; import org.uva.sea.ql.ast.operators.comparison.GEq; import org.uva.sea.ql.ast.operators.comparison.GT; import org.uva.sea.ql.ast.operators.comparison.LEq; import org.uva.sea.ql.ast.operators.comparison.LT; import org.uva.sea.ql.ast.operators.comparison.NEq; import org.uva.sea.ql.ast.operators.logical.And; import org.uva.sea.ql.ast.operators.logical.Not; import org.uva.sea.ql.ast.operators.logical.Or; import org.uva.sea.ql.ast.statement.ExpressionQuestion; import org.uva.sea.ql.ast.statement.Form; import org.uva.sea.ql.ast.statement.IfElseStatement; import org.uva.sea.ql.ast.statement.IfStatement; import org.uva.sea.ql.ast.statement.Question; import org.uva.sea.ql.ast.statement.Questions; import org.uva.sea.ql.ast.statement.Statement; import org.uva.sea.ql.ast.type.BooleanType; import org.uva.sea.ql.ast.type.IntegerType; import org.uva.sea.ql.ast.type.StringType; import org.uva.sea.ql.ast.type.Type; public interface IVisitor { void visit(Add add); void visit(Sub sub); void visit(Div div); void visit(Mul mul); void visit(Neg neg); void visit(Pos pos); void visit(Eq eq); void visit(GEq geq); void visit(GT gt); void visit(LEq leq); void visit(LT lt); void visit(NEq neq); void visit(And and); void visit(Or or); void visit(Not not); void visit(Identifier identifier); void visit(Expression expression); void visit(ExpressionQuestion exprquestion); void visit(Question question); void visit(IfStatement ifconditional); void visit(IfElseStatement ifelseconditional); void visit(Form form); void visit(Questions questionset); void visit(BooleanType bool); void visit(IntegerType integer); void visit(StringType string); void visit(Type type); void visit(Statement statement); }