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

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


visitBool

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


visitNumber

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


visitInteger

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


visitString

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


visitInterpolatedString

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


visitVar

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


visitOpExpr

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


visitCall

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


visitUnary

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


visitBinary

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


visitBinary

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

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


visitExpr

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


visitLet

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


visitLet

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


visitLamda

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


visitIfElse

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


visitIf

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


visitBound

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


visitTuple

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


visitList

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


visitTuple

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


visitMethodCall

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


visitFieldUpdate

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


visitFieldUpdate

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


visitSubtuple

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