package ql.ast;
import ql.ast.expression.ExpressionParentheses;
import ql.ast.literal.LiteralBool;
import ql.ast.literal.LiteralInt;
import ql.ast.literal.LiteralString;
import ql.ast.operator.OperatorAdd;
import ql.ast.operator.OperatorAnd;
import ql.ast.operator.OperatorDiv;
import ql.ast.operator.OperatorEq;
import ql.ast.operator.OperatorGt;
import ql.ast.operator.OperatorGtEq;
import ql.ast.operator.OperatorLt;
import ql.ast.operator.OperatorLtEq;
import ql.ast.operator.OperatorMod;
import ql.ast.operator.OperatorMul;
import ql.ast.operator.OperatorNeg;
import ql.ast.operator.OperatorNeq;
import ql.ast.operator.OperatorOr;
import ql.ast.operator.OperatorSub;
import ql.ast.statement.StatementAssignment;
import ql.ast.statement.StatementExpressionAssignment;
import ql.ast.statement.StatementIf;
/**
* Element (interface) visitor
*/
public interface ElementInterfaceVisitor {
/* Questionnares */
public void visit(Form form);
/* Expressions */
public void visit(ExpressionParentheses expressionParentheses);
/* Operators */
public void visit(OperatorAdd operatorAdd);
public void visit(OperatorAnd operatorAnd);
public void visit(OperatorDiv operatorDiv);
public void visit(OperatorNeq operatorNeq);
public void visit(OperatorEq operatorEq);
public void visit(OperatorGt operatorGt);
public void visit(OperatorGtEq operatorGtEq);
public void visit(OperatorLt operatorLt);
public void visit(OperatorLtEq operatorLtEq);
public void visit(OperatorMod operatorMod);
public void visit(OperatorMul operatorMul);
public void visit(OperatorOr operatorOr);
public void visit(OperatorNeg operatorNeg);
public void visit(OperatorSub operatorSub);
/* Statements */
public void visit(StatementAssignment statementAssignment);
public void visit(StatementExpressionAssignment statementExpressionAssignment);
public void visit(StatementIf statementIf);
/* Literals */
public void visit(LiteralBool literalBool);
public void visit(LiteralString literalString);
public void visit(LiteralInt literalInt);
}