package uva.ql.ast.visitor;
import uva.ql.ast.Node;
import uva.ql.ast.Form;
import uva.ql.ast.Prog;
import uva.ql.ast.statements.Assign;
import uva.ql.ast.statements.IfStatement;
import uva.ql.ast.statements.Question;
import uva.ql.ast.statements.Statement;
public interface StatementVisitor<T> {
public T visitProg(Prog prog);
public T visitForm(Form form);
public T visitASTNode(Node node);
public T visitStatement(Statement statement);
public T visitSimpleQuestion(Question question);
public T visitComputedQuestion(Question question);
public T visitIfStatement(IfStatement ifStatement);
public T visitAssign(Assign assign);
}