ANTLR Support Libraries 2.7.1+
 All Classes Namespaces Files Functions Variables Typedefs Friends Defines
Public Member Functions | Private Member Functions | Private Attributes | Friends
AST Class Reference

#include <AST.hpp>

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

List of all members.

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)
virtual RefAST clone (void) const =0
 Clone this AST node.
virtual bool equals (RefAST t) const =0
 Is node t equal to this in terms of token type and text?
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.
virtual size_t getNumberOfChildren () const =0
 Get the number of children. Returns 0 if the node is a leaf.
virtual RefAST getFirstChild () const =0
 Get the first child of this node; null if no children.
virtual RefAST getNextSibling () const =0
 Get the next sibling in line after this one.
virtual std::string getText () const =0
 Get the token text for this node.
virtual int getType () const =0
 Get the token type for this node.
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.
virtual void setNextSibling (RefAST n)=0
 Set the next sibling after this one.
virtual void setText (const std::string &txt)=0
 Set the token text for this node.
virtual void setType (int type)=0
 Set the token type for this node.
virtual std::string toString () const =0
 Return this AST node as a string.
virtual std::string toStringList () const =0
 Print out a child-sibling tree in LISP notation.
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 ( ) [inline, virtual]
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: