java.lang.Object antlr.BaseAST
A Child-Sibling Tree. A tree with PLUS at the root and with two children 3 and 4 is structured as: PLUS | 3 -- 4 and can be specified easily in LISP notation as (PLUS 3 4) where every '(' starts a new subtree. These trees are particular useful for translators because of the flexibility of the children lists. They are also very easy to walk automatically, whereas trees with specific children reference fields can't easily be walked automatically. This class contains the basic support for an AST. Most people will create ASTs that are subclasses of BaseAST or of CommonAST.
Constructor Summary | |
BaseAST()
|
Method Summary | |
void |
addChild(AST node)
Add a node to the end of the child list for this node |
static java.lang.String |
decode(java.lang.String text)
|
static java.lang.String |
encode(java.lang.String text)
|
boolean |
equals(AST t)
Is node t equal to this in terms of token type and text? |
boolean |
equalsList(AST t)
Is t an exact structural and equals() match of this tree. |
boolean |
equalsListPartial(AST sub)
Is 'sub' a subtree of this list? The siblings of the root are NOT ignored. |
boolean |
equalsTree(AST t)
Is tree rooted at 'this' equal to 't'? The siblings of 'this' are ignored. |
boolean |
equalsTreePartial(AST sub)
Is 't' a subtree of the tree rooted at 'this'? The siblings of 'this' are ignored. |
ASTEnumeration |
findAll(AST target)
Walk the tree looking for all exact subtree matches. |
ASTEnumeration |
findAllPartial(AST sub)
Walk the tree looking for all subtrees. |
int |
getColumn()
|
AST |
getFirstChild()
Get the first child of this node; null if not children |
int |
getLine()
|
AST |
getNextSibling()
Get the next sibling in line after this one |
int |
getNumberOfChildren()
How many children does this node have? |
java.lang.String |
getText()
Get the token text for this node |
static java.lang.String[] |
getTokenNames()
Return an array of strings that maps token ID to it's text. |
int |
getType()
Get the token type for this node |
abstract void |
initialize(AST t)
|
abstract void |
initialize(int t,
java.lang.String txt)
|
abstract void |
initialize(Token t)
|
void |
removeChildren()
Remove all children |
void |
setFirstChild(AST c)
Set the first child of a node. |
void |
setNextSibling(AST n)
Set the next sibling after this one. |
void |
setText(java.lang.String text)
Set the token text for this node |
void |
setType(int ttype)
Set the token type for this node |
static void |
setVerboseStringConversion(boolean verbose,
java.lang.String[] names)
|
java.lang.String |
toString()
|
java.lang.String |
toStringList()
Print out a child-sibling tree in LISP notation |
java.lang.String |
toStringTree()
|
void |
xmlSerialize(java.io.Writer out)
|
void |
xmlSerializeNode(java.io.Writer out)
|
void |
xmlSerializeRootClose(java.io.Writer out)
|
void |
xmlSerializeRootOpen(java.io.Writer out)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public BaseAST()
Method Detail |
public void addChild(AST node)
addChild
in interface AST
public int getNumberOfChildren()
getNumberOfChildren
in interface AST
public boolean equals(AST t)
equals
in interface AST
public boolean equalsList(AST t)
equalsList
in interface AST
public boolean equalsListPartial(AST sub)
equalsListPartial
in interface AST
public boolean equalsTree(AST t)
equalsTree
in interface AST
public boolean equalsTreePartial(AST sub)
equalsTreePartial
in interface AST
public ASTEnumeration findAll(AST target)
findAll
in interface AST
public ASTEnumeration findAllPartial(AST sub)
findAllPartial
in interface AST
public AST getFirstChild()
getFirstChild
in interface AST
public AST getNextSibling()
getNextSibling
in interface AST
public java.lang.String getText()
getText
in interface AST
public int getType()
getType
in interface AST
public int getLine()
getLine
in interface AST
public int getColumn()
getColumn
in interface AST
public abstract void initialize(int t, java.lang.String txt)
initialize
in interface AST
public abstract void initialize(AST t)
initialize
in interface AST
public abstract void initialize(Token t)
initialize
in interface AST
public void removeChildren()
public void setFirstChild(AST c)
AST
setFirstChild
in interface AST
public void setNextSibling(AST n)
AST
setNextSibling
in interface AST
public void setText(java.lang.String text)
setText
in interface AST
public void setType(int ttype)
setType
in interface AST
public static void setVerboseStringConversion(boolean verbose, java.lang.String[] names)
public static java.lang.String[] getTokenNames()
public java.lang.String toString()
toString
in interface AST
public java.lang.String toStringList()
toStringList
in interface AST
public java.lang.String toStringTree()
toStringTree
in interface AST
public static java.lang.String decode(java.lang.String text)
public static java.lang.String encode(java.lang.String text)
public void xmlSerializeNode(java.io.Writer out) throws java.io.IOException
java.io.IOException
public void xmlSerializeRootOpen(java.io.Writer out) throws java.io.IOException
java.io.IOException
public void xmlSerializeRootClose(java.io.Writer out) throws java.io.IOException
java.io.IOException
public void xmlSerialize(java.io.Writer out) throws java.io.IOException
java.io.IOException