Package com.singularsys.jep.parser
Class SimpleNode
java.lang.Object
com.singularsys.jep.parser.SimpleNode
- All Implemented Interfaces:
Node
- Direct Known Subclasses:
ASTConstant
,ASTFunNode
,ASTStart
,ASTVarNode
The base class for all AST node classes. Contains basic tree node methods
for traversal, adding and removing children and parent nodes, and other
methods.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.singularsys.jep.parser.Node
Node.HookKey
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns an Iterator which iterates over the children of the Node.children()
Returns an Iterable object which can be used in a for/in loop.childrenAccept
(ParserVisitor visitor, Object data) Accept the visitor.void
getHook
(Node.HookKey key) Get the value associated with a key.int
getId()
Returns the id of the node (for simpler identification).hookKeys()
Get all the keys defined for this node.jjtAccept
(ParserVisitor visitor, Object data) Accept the visitor.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.jjtGetChild
(int i) This method returns a child node.int
Return the number of children the node has.Gets the parent nodevoid
jjtOpen()
This method is called after the node has been made the current node.void
jjtSetParent
(Node n) Sets the parent node.removeHook
(Node.HookKey key) Remove the keysetHook
(Node.HookKey key, Object value) Sets the value associated with a key.
-
Field Details
-
parent
-
children
-
id
protected final int id -
keys
-
vals
-
-
Constructor Details
-
SimpleNode
public SimpleNode(int i)
-
-
Method Details
-
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. -
jjtClose
public void jjtClose()Description copied from interface:Node
This method is called after all the child nodes have been added. -
jjtSetParent
Description copied from interface:Node
Sets the parent node.- Specified by:
jjtSetParent
in interfaceNode
-
jjtGetParent
Description copied from interface:Node
Gets the parent node- Specified by:
jjtGetParent
in interfaceNode
-
jjtAddChild
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 interfaceNode
-
jjtGetChild
Description copied from interface:Node
This method returns a child node. The children are numbered from zero, left to right.- Specified by:
jjtGetChild
in interfaceNode
-
jjtGetNumChildren
public int jjtGetNumChildren()Description copied from interface:Node
Return the number of children the node has.- Specified by:
jjtGetNumChildren
in interfaceNode
- Returns:
- the number of child nodes
-
jjtAccept
Accept the visitor.- Specified by:
jjtAccept
in interfaceNode
- Throws:
ParseException
JepException
-
childrenAccept
Accept the visitor.- Throws:
JepException
-
toString
-
dump
-
getId
public int getId()Returns the id of the node (for simpler identification). -
getHook
Get the value associated with a key. -
setHook
Sets the value associated with a key. -
hookKeys
Description copied from interface:Node
Get all the keys defined for this node. -
removeHook
Description copied from interface:Node
Remove the key- Specified by:
removeHook
in interfaceNode
- Returns:
- the object which was associated with the key
-
childIterator
Returns an Iterator which iterates over the children of the Node. The remove method is unsupported.- Specified by:
childIterator
in interfaceNode
- Returns:
- a new Iterator
-
children
Returns an Iterable object which can be used in a for/in loop.for(Node child:node.children()) { ... }
-