jfun.jaskell.ast
Interface ExprVisitor


public interface ExprVisitor

Visitor for Expr.

Author:
Ben Yu Dec 7, 2004

Method Summary
 java.lang.Object visitBinary(int from, Location loc, Expr e1, Expr op, Expr e2)
          Visit a binary operator call where the operator is an infix function.
 java.lang.Object visitBinary(int from, Location loc, Expr e1, Operator op, Expr e2)
          Visit a binary operator call.
 java.lang.Object visitBool(int from, Location loc, boolean v)
          Visit a bool literal.
 java.lang.Object visitBound(int from, Location loc, Binding binding)
          Visit a reference of a Binding.
 java.lang.Object visitCall(int from, Location loc, Expr name, Expr[] args)
          Visit a function call.
 java.lang.Object visitChar(int from, Location loc, java.lang.Character c)
          Visit a character literal.
 java.lang.Object visitExpr(int from, Location loc, Expr e1, FunBinding[] where)
          Visit an expression with a list of compiled function definitions.
 java.lang.Object visitExpr(int from, Location loc, Expr e1, FunDef[] where)
          Visit an expression with a list of uncompiled function definitions.
 java.lang.Object visitFieldUpdate(int from, Location loc, Expr t, Binding self, FunBinding[] flds)
          Visit a compiled tuple field update.
 java.lang.Object visitFieldUpdate(int from, Location loc, Expr t, FunDef[] flds)
          Visit an uncompiled tuple field update.
 java.lang.Object visitIf(int from, Location loc, Expr cond, Expr consequence)
          visit an if expression.
 java.lang.Object visitIfElse(int from, Location loc, Expr cond, Expr yes, Expr no)
          Visit an if-else expression.
 java.lang.Object visitInteger(int from, Location loc, java.lang.Integer num)
          Visit a integer literal.
 java.lang.Object visitInterpolatedString(int from, Location loc, InterpolatedString str)
          Visit an interpolated string literal.
 java.lang.Object visitLamda(int from, Location loc, Alternative alt)
          Visit a lamda abstraction.
 java.lang.Object visitLet(int from, Location loc, FunBinding[] binding)
          Visit a compiled let statement.
 java.lang.Object visitLet(int from, Location loc, FunDef[] defs)
          Visit an uncompiled let statement.
 java.lang.Object visitList(int from, Location loc, Expr[] list)
          Visit a list.
 java.lang.Object visitMethodCall(int from, Location loc, Expr f, java.lang.String fname, Expr[] args)
          Visit a tuple method call.
 java.lang.Object visitNumber(int from, Location loc, java.lang.Double num)
          Visit a decimal number literal.
 java.lang.Object visitOpExpr(int from, Location loc, Operator op)
          Visit an operator used as function.
 java.lang.Object visitString(int from, Location loc, java.lang.String s)
          Visit a string literal.
 java.lang.Object visitSubtuple(int from, Location loc, Expr t, java.lang.String[] flds)
          visit a subtuple expression.
 java.lang.Object visitTuple(int from, Location loc, Binding self, FunBinding[] flds)
          Visit a compiled tuple definition.
 java.lang.Object visitTuple(int from, Location loc, FunDef[] flds)
          Visit an uncompiled tuple definition.
 java.lang.Object visitUnary(int from, Location loc, Operator op, Expr e)
          Visit a unary operator call.
 java.lang.Object visitVar(int from, Location loc, java.lang.String name)
          Visit a variable.
 

Method Detail

visitChar

public java.lang.Object visitChar(int from,
                                  Location loc,
                                  java.lang.Character c)
Visit a character literal.


visitBool

public java.lang.Object visitBool(int from,
                                  Location loc,
                                  boolean v)
Visit a bool literal.


visitNumber

public java.lang.Object visitNumber(int from,
                                    Location loc,
                                    java.lang.Double num)
Visit a decimal number literal.


visitInteger

public java.lang.Object visitInteger(int from,
                                     Location loc,
                                     java.lang.Integer num)
Visit a integer literal.


visitString

public java.lang.Object visitString(int from,
                                    Location loc,
                                    java.lang.String s)
Visit a string literal.


visitInterpolatedString

public java.lang.Object visitInterpolatedString(int from,
                                                Location loc,
                                                InterpolatedString str)
Visit an interpolated string literal.


visitVar

public java.lang.Object visitVar(int from,
                                 Location loc,
                                 java.lang.String name)
Visit a variable.


visitOpExpr

public java.lang.Object visitOpExpr(int from,
                                    Location loc,
                                    Operator op)
Visit an operator used as function.


visitCall

public java.lang.Object visitCall(int from,
                                  Location loc,
                                  Expr name,
                                  Expr[] args)
Visit a function call.


visitUnary

public java.lang.Object visitUnary(int from,
                                   Location loc,
                                   Operator op,
                                   Expr e)
Visit a unary operator call.


visitBinary

public java.lang.Object visitBinary(int from,
                                    Location loc,
                                    Expr e1,
                                    Operator op,
                                    Expr e2)
Visit a binary operator call.


visitBinary

public java.lang.Object visitBinary(int from,
                                    Location loc,
                                    Expr e1,
                                    Expr op,
                                    Expr e2)
Visit a binary operator call where the operator is an infix function.


visitExpr

public java.lang.Object visitExpr(int from,
                                  Location loc,
                                  Expr e1,
                                  FunDef[] where)
Visit an expression with a list of uncompiled function definitions.


visitExpr

public java.lang.Object visitExpr(int from,
                                  Location loc,
                                  Expr e1,
                                  FunBinding[] where)
Visit an expression with a list of compiled function definitions.


visitLet

public java.lang.Object visitLet(int from,
                                 Location loc,
                                 FunDef[] defs)
Visit an uncompiled let statement.


visitLet

public java.lang.Object visitLet(int from,
                                 Location loc,
                                 FunBinding[] binding)
Visit a compiled let statement.


visitLamda

public java.lang.Object visitLamda(int from,
                                   Location loc,
                                   Alternative alt)
Visit a lamda abstraction.


visitIfElse

public java.lang.Object visitIfElse(int from,
                                    Location loc,
                                    Expr cond,
                                    Expr yes,
                                    Expr no)
Visit an if-else expression.


visitIf

public java.lang.Object visitIf(int from,
                                Location loc,
                                Expr cond,
                                Expr consequence)
visit an if expression.


visitBound

public java.lang.Object visitBound(int from,
                                   Location loc,
                                   Binding binding)
Visit a reference of a Binding.


visitTuple

public java.lang.Object visitTuple(int from,
                                   Location loc,
                                   FunDef[] flds)
Visit an uncompiled tuple definition.


visitList

public java.lang.Object visitList(int from,
                                  Location loc,
                                  Expr[] list)
Visit a list.


visitTuple

public java.lang.Object visitTuple(int from,
                                   Location loc,
                                   Binding self,
                                   FunBinding[] flds)
Visit a compiled tuple definition.


visitMethodCall

public java.lang.Object visitMethodCall(int from,
                                        Location loc,
                                        Expr f,
                                        java.lang.String fname,
                                        Expr[] args)
Visit a tuple method call.


visitFieldUpdate

public java.lang.Object visitFieldUpdate(int from,
                                         Location loc,
                                         Expr t,
                                         FunDef[] flds)
Visit an uncompiled tuple field update.


visitFieldUpdate

public java.lang.Object visitFieldUpdate(int from,
                                         Location loc,
                                         Expr t,
                                         Binding self,
                                         FunBinding[] flds)
Visit a compiled tuple field update.


visitSubtuple

public java.lang.Object visitSubtuple(int from,
                                      Location loc,
                                      Expr t,
                                      java.lang.String[] flds)
visit a subtuple expression.