gnu.expr
Class FindTailCalls
java.lang.Object
gnu.expr.ExpWalker
gnu.expr.FindTailCalls
public class FindTailCalls
- extends ExpWalker
Does setTailCall on ApplyExp's that are tail-calls.
Also setCanRead, setCanCall, setCanWrite on Declarations
and setCanRead, setCanCall on LambdaExp when appropriate.
Methods inherited from class gnu.expr.ExpWalker |
error, getColumn, getCompilation, getCurrentLambda, getFile, getLine, noteError, setColumn, setContext, setFile, setLine, setLine, walk, walkBlockExp, walkDefaultArgs, walkExitExp, walkExpression, walkExps, walkExps, walkLangExp, walkModuleExp, walkObjectExp, walkQuoteExp, walkScopeExp, walkThisExp |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FindTailCalls
public FindTailCalls()
findTailCalls
public static void findTailCalls(Expression exp,
Compilation comp)
walkApplyExp
protected Expression walkApplyExp(ApplyExp exp)
- Overrides:
walkApplyExp
in class ExpWalker
walkBeginExp
protected Expression walkBeginExp(BeginExp exp)
- Overrides:
walkBeginExp
in class ExpWalker
walkFluidLetExp
protected Expression walkFluidLetExp(FluidLetExp exp)
- Overrides:
walkFluidLetExp
in class ExpWalker
walkLetExp
protected Expression walkLetExp(LetExp exp)
- Overrides:
walkLetExp
in class ExpWalker
walkDecls
public void walkDecls(ScopeExp exp)
walkIfExp
protected Expression walkIfExp(IfExp exp)
- Overrides:
walkIfExp
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
walkReferenceExp
protected Expression walkReferenceExp(ReferenceExp exp)
- Overrides:
walkReferenceExp
in class ExpWalker
walkSetExp
protected Expression walkSetExp(SetExp exp)
- Overrides:
walkSetExp
in class ExpWalker
walkTryExp
protected Expression walkTryExp(TryExp exp)
- Overrides:
walkTryExp
in class ExpWalker
walkSynchronizedExp
protected Expression walkSynchronizedExp(SynchronizedExp exp)
- Overrides:
walkSynchronizedExp
in class ExpWalker