anl.aida.parser
Class SimpleNode

java.lang.Object
  extended by anl.aida.parser.SimpleNode
All Implemented Interfaces:
Node
Direct Known Subclasses:
AggregateFuncNode, ASTAbs, ASTAdd, ASTAnd, ASTCos, ASTCosd, ASTDiv, ASTE, ASTEqEqual, ASTExp, ASTGreaterEq, ASTGreaterThan, ASTLessEq, ASTLessThan, ASTLn, ASTLog, ASTMax, ASTMin, ASTMod, ASTMul, ASTNCols, ASTNeg, ASTNLevels, ASTNotEqual, ASTNRows, ASTNumber, ASTOr, ASTPI, ASTPow, ASTSin, ASTSind, ASTSqr, ASTSqrt, ASTstart, ASTSubtract, ASTTan, ASTTand, ASTVar

public class SimpleNode
extends java.lang.Object
implements Node


Field Summary
protected  Node[] children
           
protected static double DEG_TO_RAD_FACTOR
           
protected  int id
           
protected  java.lang.Object info
           
protected  Node parent
           
protected  Parser parser
           
private static int PRECISION
           
 
Constructor Summary
SimpleNode(int i)
           
SimpleNode(Parser p, int i)
           
 
Method Summary
 void dump(java.lang.String prefix)
           
 FormulaArray evaluate(Frame frame)
          Evaluates this Node.
 void gatherInfo(ASTTreeInfo info)
          Gathers info about this node and places it into the info object.
 java.lang.Object getInfo()
           
 void jjtAddChild(Node n, int i)
          This method tells the node to add its argument to the node's list of children.
 void jjtClose()
          This method is called after all the child nodes have been added.
 Node jjtGetChild(int i)
          This method returns a child node.
 int jjtGetNumChildren()
          Return the number of children the node has.
 Node jjtGetParent()
           
 void jjtOpen()
          This method is called after the node has been made the current node.
 void jjtSetParent(Node n)
          This pair of methods are used to inform the node of its parent.
 void preprocess(Frame frame)
          Performs any node level preprocessing prior to any evaluation.
 void setInfo(java.lang.Object info)
           
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String prefix)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PRECISION

private static final int PRECISION
See Also:
Constant Field Values

DEG_TO_RAD_FACTOR

protected static final double DEG_TO_RAD_FACTOR
See Also:
Constant Field Values

parent

protected Node parent

children

protected Node[] children

id

protected int id

parser

protected Parser parser

info

protected java.lang.Object info
Constructor Detail

SimpleNode

public SimpleNode(int i)

SimpleNode

public SimpleNode(Parser p,
                  int i)
Method Detail

getInfo

public java.lang.Object getInfo()

setInfo

public void setInfo(java.lang.Object info)

jjtOpen

public void jjtOpen()
Description copied from interface: Node
This method is called after the node has been made the current node. It indicates that child nodes can now be added to it.

Specified by:
jjtOpen in interface Node

jjtClose

public void jjtClose()
Description copied from interface: Node
This method is called after all the child nodes have been added.

Specified by:
jjtClose in interface Node

jjtSetParent

public void jjtSetParent(Node n)
Description copied from interface: Node
This pair of methods are used to inform the node of its parent.

Specified by:
jjtSetParent in interface Node

jjtGetParent

public Node jjtGetParent()
Specified by:
jjtGetParent in interface Node

jjtAddChild

public void jjtAddChild(Node n,
                        int i)
Description copied from interface: Node
This method tells the node to add its argument to the node's list of children.

Specified by:
jjtAddChild in interface Node

jjtGetChild

public Node jjtGetChild(int i)
Description copied from interface: Node
This method returns a child node. The children are numbered from zero, left to right.

Specified by:
jjtGetChild in interface Node

jjtGetNumChildren

public int jjtGetNumChildren()
Description copied from interface: Node
Return the number of children the node has.

Specified by:
jjtGetNumChildren in interface Node

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(java.lang.String prefix)

dump

public void dump(java.lang.String prefix)

gatherInfo

public void gatherInfo(ASTTreeInfo info)
Gathers info about this node and places it into the info object.

Parameters:
info - collection of tree info

evaluate

public FormulaArray evaluate(Frame frame)
                      throws IllegalFormulaException
Evaluates this Node.

Specified by:
evaluate in interface Node
Parameters:
frame -
Returns:
the result of the evaluation.
Throws:
IllegalFormulaException

preprocess

public void preprocess(Frame frame)
                throws IllegalFormulaException
Performs any node level preprocessing prior to any evaluation. This should only be called once on the tree. This default implementation just calls preprocess on its children.

Specified by:
preprocess in interface Node
Parameters:
frame -
Throws:
IllegalFormulaException