ANTLR Support Libraries 2.7.1+
|
#include <AST.hpp>
Public Member Functions | |
AST () | |
AST (const AST &) | |
virtual | ~AST () |
virtual const char * | typeName (void) const =0 |
Return the type name for this AST node. (for XML output) More... | |
virtual RefAST | clone (void) const =0 |
Clone this AST node. More... | |
virtual bool | equals (RefAST t) const =0 |
Is node t equal to this in terms of token type and text? More... | |
virtual bool | equalsList (RefAST t) const =0 |
virtual bool | equalsListPartial (RefAST t) const =0 |
virtual bool | equalsTree (RefAST t) const =0 |
virtual bool | equalsTreePartial (RefAST t) const =0 |
virtual std ::vector< RefAST > | findAll (RefAST t)=0 |
virtual std ::vector< RefAST > | findAllPartial (RefAST t)=0 |
virtual void | addChild (RefAST c)=0 |
Add a node to the end of the child list for this node. More... | |
virtual size_t | getNumberOfChildren () const =0 |
Get the number of children. Returns 0 if the node is a leaf. More... | |
virtual RefAST | getFirstChild () const =0 |
Get the first child of this node; null if no children. More... | |
virtual RefAST | getNextSibling () const =0 |
Get the next sibling in line after this one. More... | |
virtual std ::string | getText () const =0 |
Get the token text for this node. More... | |
virtual int | getType () const =0 |
Get the token type for this node. More... | |
virtual void | initialize (int t, const std ::string &txt)=0 |
virtual void | initialize (RefAST t)=0 |
virtual void | initialize (RefToken t)=0 |
virtual void | setFirstChild (RefAST c)=0 |
Set the first child of a node. More... | |
virtual void | setNextSibling (RefAST n)=0 |
Set the next sibling after this one. More... | |
virtual void | setText (const std ::string &txt)=0 |
Set the token text for this node. More... | |
virtual void | setType (int type)=0 |
Set the token type for this node. More... | |
virtual std ::string | toString () const =0 |
Return this AST node as a string. More... | |
virtual std ::string | toStringList () const =0 |
Print out a child-sibling tree in LISP notation. More... | |
virtual std ::string | toStringTree () const =0 |
Private Member Functions | |
AST (RefAST other) | |
AST & | operator= (const AST &other) |
AST & | operator= (RefAST other) |
Private Attributes | |
ASTRef * | ref |
Friends | |
struct | ASTRef |
|
inline |
|
inline |
|
inlinevirtual |
|
private |
|
pure virtual |
Add a node to the end of the child list for this node.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Clone this AST node.
Implemented in CommonAST, BaseAST, CommonASTWithHiddenTokens, and ASTNULLType.
|
pure virtual |
Is node t equal to this in terms of token type and text?
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Is t an exact structural and equals() match of this tree. The 'this' reference is considered the start of a sibling list.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Is 't' a subtree of this list? The siblings of the root are NOT ignored.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Is tree rooted at 'this' equal to 't'? The siblings of 'this' are ignored.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Is 't' a subtree of the tree rooted at 'this'? The siblings of 'this' are ignored.
Implemented in BaseAST, and ASTNULLType.
Walk the tree looking for all exact subtree matches. Return a vector of RefAST that lets the caller walk the list of subtree roots found herein.
Implemented in BaseAST, and ASTNULLType.
Walk the tree looking for all subtrees. Return a vector of RefAST that lets the caller walk the list of subtree roots found herein.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Get the first child of this node; null if no children.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Get the next sibling in line after this one.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Get the number of children. Returns 0 if the node is a leaf.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Get the token text for this node.
Implemented in BaseAST, CommonAST, and ASTNULLType.
|
pure virtual |
Get the token type for this node.
Implemented in BaseAST, CommonAST, and ASTNULLType.
|
pure virtual |
Various initialization routines. Used by several factories to initialize an AST element.
Implemented in CommonAST, ASTNULLType, and CommonASTWithHiddenTokens.
|
pure virtual |
Implemented in CommonAST, ASTNULLType, and CommonASTWithHiddenTokens.
|
pure virtual |
Implemented in CommonAST, ASTNULLType, and CommonASTWithHiddenTokens.
|
pure virtual |
Set the first child of a node.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Set the next sibling after this one.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Set the token text for this node.
Implemented in BaseAST, CommonAST, and ASTNULLType.
|
pure virtual |
Set the token type for this node.
Implemented in BaseAST, CommonAST, and ASTNULLType.
|
pure virtual |
Return this AST node as a string.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Print out a child-sibling tree in LISP notation.
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Implemented in BaseAST, and ASTNULLType.
|
pure virtual |
Return the type name for this AST node. (for XML output)
Implemented in CommonAST, BaseAST, CommonASTWithHiddenTokens, and ASTNULLType.
|
friend |
|
private |