package code.loop.parser;

/**
 *@author     jimeng
 *@since    November 29, 2002
 */

public interface AstVisitor {

    Object visit(Ast.Term term, Object o);
    //Object visit(Ast.WhereTail whereTail, Object o);
    Object visit(Ast.IfExpr ifExpr, Object o);
    Object visit(Ast.InfixOperation infixOperation, Object o);
    Object visit(Ast.FunctionExpr functionExpr, Object o);
    Object visit(Ast.Uminus uminus, Object o);
    Object visit(Ast.PrefixId prefixId, Object o);
    Object visit(Ast.InfixId infixId, Object o);
    Object visit(Ast.ParenExpr parenExpr, Object o);
    Object visit(Ast.LeftSection leftSection, Object o);
    Object visit(Ast.RightSection rightSection, Object o);
    Object visit(Ast.IntLit intLit, Object o);
    Object visit(Ast.CharLit charLit, Object o);
    Object visit(Ast.StringLit stringLit, Object o);
    Object visit(Ast.FloatLit floatLit, Object o);
    Object visit(Ast.List list, Object o);
    Object visit(Ast.Tuple tuple, Object o);
    Object visit(Ast.ArithSeq arithSeq, Object o);
}
