orc.ast.oil.visitor
Class RenameVariables

java.lang.Object
  extended by orc.ast.oil.visitor.Walker
      extended by orc.ast.oil.visitor.RenameVariables
All Implemented Interfaces:
Visitor<java.lang.Void>

public class RenameVariables
extends Walker

Renumber variables in an expression according to some arbitrary mapping (relative to the context of the expression).

Author:
quark

Nested Class Summary
static interface RenameVariables.Renamer
           
 
Method Summary
 void enterScope(int n)
           
 void leave(Variable arg)
           
 void leaveScope(int n)
           
static void rename(Expression expr, RenameVariables.Renamer r)
           
 
Methods inherited from class orc.ast.oil.visitor.Walker
enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, enter, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, leave, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

rename

public static void rename(Expression expr,
                          RenameVariables.Renamer r)

enterScope

public void enterScope(int n)
Overrides:
enterScope in class Walker

leaveScope

public void leaveScope(int n)
Overrides:
leaveScope in class Walker

leave

public void leave(Variable arg)
Overrides:
leave in class Walker