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
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 |
ExpressionOptimizer
public ExpressionOptimizer(SimpleNode node)
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