gnu.expr
Class ChainLambdas

java.lang.Object
  extended by gnu.expr.ExpWalker
      extended by gnu.expr.ChainLambdas

public class ChainLambdas
extends ExpWalker

Sets up the firstChild/nextSibling links of each LambdaExp. Setup 'outer' links of ScopeExp and its sub-classes. Also generates a class name for each ClassExp and registers each class. Also, if lambda is bound to a unique declaration, make that its name.


Constructor Summary
ChainLambdas()
           
 
Method Summary
static void chainLambdas(Expression exp, Compilation comp)
           
protected  Expression walkClassExp(ClassExp exp)
           
protected  Expression walkLambdaExp(LambdaExp exp)
           
protected  Expression walkScopeExp(ScopeExp exp)
           
 
Methods inherited from class gnu.expr.ExpWalker
error, getColumn, getCompilation, getCurrentLambda, getFile, getLine, noteError, setColumn, setContext, setFile, setLine, setLine, walk, walkApplyExp, walkBeginExp, walkBlockExp, walkDefaultArgs, walkExitExp, walkExpression, walkExps, walkExps, walkFluidLetExp, walkIfExp, walkLangExp, walkLetExp, walkModuleExp, walkObjectExp, walkQuoteExp, walkReferenceExp, walkSetExp, walkSynchronizedExp, walkThisExp, walkTryExp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainLambdas

public ChainLambdas()
Method Detail

chainLambdas

public static void chainLambdas(Expression exp,
                                Compilation comp)

walkScopeExp

protected Expression walkScopeExp(ScopeExp exp)
Overrides:
walkScopeExp in class ExpWalker

walkLambdaExp

protected Expression walkLambdaExp(LambdaExp exp)
Overrides:
walkLambdaExp in class ExpWalker

walkClassExp

protected Expression walkClassExp(ClassExp exp)
Overrides:
walkClassExp in class ExpWalker