SyntaxTree

TODO add interface description @uml A tree that knows about an interval in a token stream is some kind of syntax tree. Subinterfaces distinguish between parse trees and other kinds of syntax trees we might want to create.

interface SyntaxTree : Tree {}

Members

Functions

getSourceInterval
Interval getSourceInterval()

@uml Return an {@link Interval} indicating the index in the {@link TokenStream} of the first and last token associated with this subtree. If this node is a leaf, then the interval represents a single token and has interval i..i for token index i.

Inherited Members

From Tree

getParent
Tree getParent()

@uml The parent of this node. If the return value is null, then this node is the root of the tree.

getPayload
Object getPayload()

@uml This method returns whatever object represents the data at this note. For example, for parse trees, the payload can be a {@link Token} representing a leaf node or a {@link RuleContext} object representing a rule invocation. For abstract syntax trees (ASTs), this is a {@link Token} object.

getChild
Tree getChild(int i)

@uml If there are children, get the {@code i}th value indexed from 0.

getChildCount
int getChildCount()

@uml How many children are there? If there is none, then this node represents a leaf node.

toStringTree
string toStringTree()

@uml Print out a whole tree, not just a node, in LISP format {@code (root child1 .. childN)}. Print just a node if this is a leaf.

Meta