Base Class for TCLTree Nodes.
acceptPostOrder
public void acceptPostOrder(AbstractTCLVisitor visitor)
throws VisitorException
accept a visitor for traversal in Postorder.
the right and left
subtrees are visited before the root node is visited.
visitor
-
acceptPreOrder
public void acceptPreOrder(AbstractTCLVisitor visitor)
throws VisitorException
accept a visitor for traversal in Preorder.
the root node is visited before the left and the right subtrees
are visited.
visitor
-
evaluate
public EvaluationResult evaluate(EvaluationContext context)
throws EvaluationException
Evaluate this Node.
context
- an EvaluationContext
value contains
all context information necessary for the evaluation
- an
EvaluationResult
value
EvaluationException
- these errors mostly occur if e.g. an expression contains a reference
to a non-existent struct member or if it is tried to add a
string and a number
getKind
public TCKind getKind()
Return the Runtimetype of this node.
If the Runtime type cannot be guessed statically this Method
returns null.
- a
TCKind
value or null if the Runtimetype
cannot be determined
statically.
getName
public String getName()
getNameForType
public static String getNameForType(int t)
converts an int tree token type to a name.
Does this by reflecting on nsdidl.IDLTreeTokenTypes,
and is dependent on how ANTLR 2.00 outputs that class.
this snippet was stolen from http://www.codetransform.com/
getNextType
public int getNextType()
get the AST Token Type of this nodes sibling
- a AST Token Type
getType
public int getType()
Get the AST Token Type for this node.
- the AST Token Type value
TCLParserTokenTypes
hasNextSibling
public boolean hasNextSibling()
Check wether this node has a Sibling.
- true, if this node has a Sibling
initialize
public void initialize(AST t)
satisfy abstract method from BaseAST. Not used.
initialize
public void initialize(Token tok)
satisfy abstract method from BaseAST. Not used.
initialize
public void initialize(int t,
String txt)
satisfy abstract method from BaseAST. Not used.
isBoolean
public boolean isBoolean()
isNumber
public boolean isNumber()
isStatic
public boolean isStatic()
isString
public boolean isString()
left
public AbstractTCLNode left()
Access the left child. This method returns null if this node
has no left child
- the left Child or null.
printToStringBuffer
public void printToStringBuffer(StringBuffer buffer)
right
public AbstractTCLNode right()
Access the right child. This method returns null if this node
has no right child
- the right Child or null.
setKind
protected void setKind(TCKind kind)
setType
public void setType(int type)
Set AST Token Type for this node.
type
- must be a valid TCLTokenType.
TCLParserTokenTypes
toStringTree
public String toStringTree()
create a visualization of this node and all its children.
- a String representation of this Node and all its children