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
Fields -
Constructor Summary
Constructors -
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.voidgetHook(Node.HookKey key) Get the value associated with a key.intgetId()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.voidjjtAddChild(Node n, int i) This method tells the node to add its argument to the node's list of children.voidjjtClose()This method is called after all the child nodes have been added.jjtGetChild(int i) This method returns a child node.intReturn the number of children the node has.Gets the parent nodevoidjjtOpen()This method is called after the node has been made the current node.voidjjtSetParent(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:NodeThis 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:NodeThis method is called after all the child nodes have been added. -
jjtSetParent
Description copied from interface:NodeSets the parent node.- Specified by:
jjtSetParentin interfaceNode
-
jjtGetParent
Description copied from interface:NodeGets the parent node- Specified by:
jjtGetParentin interfaceNode
-
jjtAddChild
Description copied from interface:NodeThis method tells the node to add its argument to the node's list of children.- Specified by:
jjtAddChildin interfaceNode
-
jjtGetChild
Description copied from interface:NodeThis method returns a child node. The children are numbered from zero, left to right.- Specified by:
jjtGetChildin interfaceNode
-
jjtGetNumChildren
public int jjtGetNumChildren()Description copied from interface:NodeReturn the number of children the node has.- Specified by:
jjtGetNumChildrenin interfaceNode- Returns:
- the number of child nodes
-
jjtAccept
Accept the visitor.- Specified by:
jjtAcceptin interfaceNode- Throws:
ParseExceptionJepException
-
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:NodeGet all the keys defined for this node. -
removeHook
Description copied from interface:NodeRemove the key- Specified by:
removeHookin 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:
childIteratorin interfaceNode- Returns:
- a new Iterator
-
children
Returns an Iterable object which can be used in a for/in loop.for(Node child:node.children()) { ... }
-