org.cheffo.jeplite.optimizer
Class ExpressionOptimizer

java.lang.Object
  |
  +--org.cheffo.jeplite.optimizer.ExpressionOptimizer
All Implemented Interfaces:
ParserVisitor

public class ExpressionOptimizer
extends java.lang.Object
implements ParserVisitor


Constructor Summary
ExpressionOptimizer(SimpleNode node)
           
 
Method Summary
 void addConst(java.lang.String constName)
          Marks a variable name to be a constant name.
 void clearConstants()
           
 SimpleNode optimize()
           
 void removeConst(java.lang.String constName)
          Unmarks a variable name to be a constant name.
 java.lang.Object visit(ASTConstant node, java.lang.Object data)
           
 java.lang.Object visit(ASTFunNode node, java.lang.Object data)
           
 java.lang.Object visit(ASTVarNode node, java.lang.Object data)
          If a var node is defined in the const table, make it to be a real constant.
 java.lang.Object visit(SimpleNode node, java.lang.Object data)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExpressionOptimizer

public ExpressionOptimizer(SimpleNode node)
Method Detail

addConst

public void addConst(java.lang.String constName)
Marks a variable name to be a constant name.


removeConst

public void removeConst(java.lang.String constName)
Unmarks a variable name to be a constant name.


clearConstants

public void clearConstants()

optimize

public SimpleNode optimize()

visit

public java.lang.Object visit(ASTFunNode node,
                              java.lang.Object data)
Specified by:
visit in interface ParserVisitor

visit

public java.lang.Object visit(ASTVarNode node,
                              java.lang.Object data)
If a var node is defined in the const table, make it to be a real constant.

Specified by:
visit in interface ParserVisitor

visit

public java.lang.Object visit(ASTConstant node,
                              java.lang.Object data)
Specified by:
visit in interface ParserVisitor

visit

public java.lang.Object visit(SimpleNode node,
                              java.lang.Object data)
Specified by:
visit in interface ParserVisitor