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()

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

getPayload
Object getPayload()

This method returns whatever object represents the data at this node. 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)

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

getChildCount
int getChildCount()

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

toStringTree
string toStringTree()

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