ANTLR Support Libraries 2.7.1+
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
AST Class Referenceabstract

#include <AST.hpp>

Inheritance diagram for AST:
Inheritance graph
[legend]
Collaboration diagram for AST:
Collaboration graph
[legend]

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< RefASTfindAll (RefAST t)=0
 
virtual std ::vector< RefASTfindAllPartial (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)
 
ASToperator= (const AST &other)
 
ASToperator= (RefAST other)
 

Private Attributes

ASTRefref
 

Friends

struct ASTRef
 

Constructor & Destructor Documentation

◆ AST() [1/3]

AST::AST ( )
inline

◆ AST() [2/3]

AST::AST ( const AST )
inline

◆ ~AST()

virtual AST::~AST ( )
inlinevirtual

◆ AST() [3/3]

AST::AST ( RefAST  other)
private

Member Function Documentation

◆ addChild()

virtual void AST::addChild ( RefAST  c)
pure virtual

Add a node to the end of the child list for this node.

Implemented in BaseAST, and ASTNULLType.

◆ clone()

virtual RefAST AST::clone ( void  ) const
pure virtual

Clone this AST node.

Implemented in CommonAST, BaseAST, CommonASTWithHiddenTokens, and ASTNULLType.

◆ equals()

virtual bool AST::equals ( RefAST  t) const
pure virtual

Is node t equal to this in terms of token type and text?

Implemented in BaseAST, and ASTNULLType.

◆ equalsList()

virtual bool AST::equalsList ( RefAST  t) const
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.

◆ equalsListPartial()

virtual bool AST::equalsListPartial ( RefAST  t) const
pure virtual

Is 't' a subtree of this list? The siblings of the root are NOT ignored.

Implemented in BaseAST, and ASTNULLType.

◆ equalsTree()

virtual bool AST::equalsTree ( RefAST  t) const
pure virtual

Is tree rooted at 'this' equal to 't'? The siblings of 'this' are ignored.

Implemented in BaseAST, and ASTNULLType.

◆ equalsTreePartial()

virtual bool AST::equalsTreePartial ( RefAST  t) const
pure virtual

Is 't' a subtree of the tree rooted at 'this'? The siblings of 'this' are ignored.

Implemented in BaseAST, and ASTNULLType.

◆ findAll()

virtual std ::vector<RefAST> AST::findAll ( RefAST  t)
pure virtual

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.

◆ findAllPartial()

virtual std ::vector<RefAST> AST::findAllPartial ( RefAST  t)
pure virtual

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.

◆ getFirstChild()

virtual RefAST AST::getFirstChild ( ) const
pure virtual

Get the first child of this node; null if no children.

Implemented in BaseAST, and ASTNULLType.

◆ getNextSibling()

virtual RefAST AST::getNextSibling ( ) const
pure virtual

Get the next sibling in line after this one.

Implemented in BaseAST, and ASTNULLType.

◆ getNumberOfChildren()

virtual size_t AST::getNumberOfChildren ( ) const
pure virtual

Get the number of children. Returns 0 if the node is a leaf.

Implemented in BaseAST, and ASTNULLType.

◆ getText()

virtual std ::string AST::getText ( ) const
pure virtual

Get the token text for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

◆ getType()

virtual int AST::getType ( ) const
pure virtual

Get the token type for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

◆ initialize() [1/3]

virtual void AST::initialize ( int  t,
const std ::string &  txt 
)
pure virtual

Various initialization routines. Used by several factories to initialize an AST element.

Implemented in CommonAST, ASTNULLType, and CommonASTWithHiddenTokens.

◆ initialize() [2/3]

virtual void AST::initialize ( RefAST  t)
pure virtual

◆ initialize() [3/3]

virtual void AST::initialize ( RefToken  t)
pure virtual

◆ operator=() [1/2]

AST& AST::operator= ( const AST other)
private

◆ operator=() [2/2]

AST& AST::operator= ( RefAST  other)
private

◆ setFirstChild()

virtual void AST::setFirstChild ( RefAST  c)
pure virtual

Set the first child of a node.

Implemented in BaseAST, and ASTNULLType.

◆ setNextSibling()

virtual void AST::setNextSibling ( RefAST  n)
pure virtual

Set the next sibling after this one.

Implemented in BaseAST, and ASTNULLType.

◆ setText()

virtual void AST::setText ( const std ::string &  txt)
pure virtual

Set the token text for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

◆ setType()

virtual void AST::setType ( int  type)
pure virtual

Set the token type for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

◆ toString()

virtual std ::string AST::toString ( ) const
pure virtual

Return this AST node as a string.

Implemented in BaseAST, and ASTNULLType.

◆ toStringList()

virtual std ::string AST::toStringList ( ) const
pure virtual

Print out a child-sibling tree in LISP notation.

Implemented in BaseAST, and ASTNULLType.

◆ toStringTree()

virtual std ::string AST::toStringTree ( ) const
pure virtual

Implemented in BaseAST, and ASTNULLType.

◆ typeName()

virtual const char* AST::typeName ( void  ) const
pure virtual

Return the type name for this AST node. (for XML output)

Implemented in CommonAST, BaseAST, CommonASTWithHiddenTokens, and ASTNULLType.

Friends And Related Function Documentation

◆ ASTRef

friend struct ASTRef
friend

Member Data Documentation

◆ ref

ASTRef* AST::ref
private

The documentation for this class was generated from the following file: