ANTLR Support Libraries 2.7.1+
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Pages
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::AST ( )
inline
AST::AST ( const AST )
inline
virtual AST::~AST ( )
inlinevirtual
AST::AST ( RefAST  other)
private

Member Function Documentation

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.

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

Clone this AST node.

Implemented in CommonAST, BaseAST, CommonASTWithHiddenTokens, and ASTNULLType.

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.

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.

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.

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.

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.

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.

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.

virtual RefAST AST::getFirstChild ( ) const
pure virtual

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

Implemented in BaseAST, and ASTNULLType.

virtual RefAST AST::getNextSibling ( ) const
pure virtual

Get the next sibling in line after this one.

Implemented in BaseAST, and ASTNULLType.

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.

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

Get the token text for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

virtual int AST::getType ( ) const
pure virtual

Get the token type for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

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.

virtual void AST::initialize ( RefAST  t)
pure virtual
virtual void AST::initialize ( RefToken  t)
pure virtual
AST& AST::operator= ( const AST other)
private
AST& AST::operator= ( RefAST  other)
private
virtual void AST::setFirstChild ( RefAST  c)
pure virtual

Set the first child of a node.

Implemented in BaseAST, and ASTNULLType.

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

Set the next sibling after this one.

Implemented in BaseAST, and ASTNULLType.

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

Set the token text for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

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

Set the token type for this node.

Implemented in BaseAST, CommonAST, and ASTNULLType.

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

Return this AST node as a string.

Implemented in BaseAST, and ASTNULLType.

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

Print out a child-sibling tree in LISP notation.

Implemented in BaseAST, and ASTNULLType.

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

Implemented in BaseAST, and ASTNULLType.

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

friend struct ASTRef
friend

Member Data Documentation

ASTRef* AST::ref
private

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