#include <BaseAST.hpp>
Public Member Functions | |
BaseAST () | |
BaseAST (const BaseAST &other) | |
virtual | ~BaseAST () |
virtual const char * | typeName (void) const =0 |
Return the class name. | |
virtual RefAST | clone (void) const =0 |
Clone this AST node. | |
virtual bool | equals (RefAST t) const |
Is node t equal to this in terms of token type and text? | |
virtual bool | equalsList (RefAST t) const |
virtual bool | equalsListPartial (RefAST t) const |
virtual bool | equalsTree (RefAST t) const |
virtual bool | equalsTreePartial (RefAST t) const |
virtual std::vector< RefAST > | findAll (RefAST t) |
virtual std::vector< RefAST > | findAllPartial (RefAST t) |
virtual void | addChild (RefAST c) |
Add a node to the end of the child list for this node. | |
virtual size_t | getNumberOfChildren () const |
virtual RefAST | getFirstChild () const |
Get the first child of this node; null if no children. | |
virtual RefAST | getNextSibling () const |
Get the next sibling in line after this one. | |
virtual std::string | getText () const |
Get the token text for this node. | |
virtual int | getType () const |
Get the token type for this node. | |
virtual void | removeChildren () |
Remove all children. | |
virtual void | setFirstChild (RefAST c) |
Set the first child of a node. | |
virtual void | setNextSibling (RefAST n) |
Set the next sibling after this one. | |
virtual void | setText (const std::string &txt) |
Set the token text for this node. | |
virtual void | setType (int type) |
Set the token type for this node. | |
virtual std::string | toString () const |
Return string representation for the AST. | |
virtual std::string | toStringList () const |
Print out a child sibling tree in LISP notation. | |
virtual std::string | toStringTree () const |
Protected Attributes | |
RefBaseAST | down |
RefBaseAST | right |
Private Member Functions | |
void | doWorkForFindAll (std::vector< RefAST > &v, RefAST target, bool partialMatch) |
BaseAST::BaseAST | ( | ) | [inline] |
BaseAST::BaseAST | ( | const BaseAST & | other | ) | [inline] |
virtual BaseAST::~BaseAST | ( | ) | [inline, virtual] |
virtual void BaseAST::addChild | ( | RefAST | c | ) | [inline, virtual] |
Add a node to the end of the child list for this node.
Implements AST.
virtual RefAST BaseAST::clone | ( | void | ) | const [pure virtual] |
void BaseAST::doWorkForFindAll | ( | std::vector< RefAST > & | v, | |
RefAST | target, | |||
bool | partialMatch | |||
) | [private] |
bool BaseAST::equals | ( | RefAST | t | ) | const [inline, virtual] |
Is node t equal to this in terms of token type and text?
Implements AST.
bool BaseAST::equalsList | ( | RefAST | t | ) | const [virtual] |
bool BaseAST::equalsListPartial | ( | RefAST | sub | ) | const [virtual] |
Is 't' a subtree of this list? The siblings of the root are NOT ignored.
Is 'sub' a subtree of this list? The siblings of the root are NOT ignored.
Implements AST.
bool BaseAST::equalsTree | ( | RefAST | t | ) | const [virtual] |
Is tree rooted at 'this' equal to 't'? The siblings of 'this' are ignored.
Implements AST.
bool BaseAST::equalsTreePartial | ( | RefAST | sub | ) | const [virtual] |
Is 't' a subtree of the tree rooted at 'this'? The siblings of 'this' are ignored.
Is 'sub' a subtree of the tree rooted at 'this'? The siblings of 'this' are ignored.
Implements AST.
Walk the tree looking for all exact subtree matches. Return an ASTEnumerator that lets the caller walk the list of subtree roots found herein.
Implements AST.
Walk the tree looking for all subtrees. Return an ASTEnumerator that lets the caller walk the list of subtree roots found herein.
Implements AST.
virtual RefAST BaseAST::getFirstChild | ( | ) | const [inline, virtual] |
Get the first child of this node; null if no children.
Implements AST.
virtual RefAST BaseAST::getNextSibling | ( | ) | const [inline, virtual] |
Get the next sibling in line after this one.
Implements AST.
size_t BaseAST::getNumberOfChildren | ( | ) | const [virtual] |
Get the number of child nodes of this node (shallow e.g. not of the whole tree it spans).
Implements AST.
virtual std ::string BaseAST::getText | ( | ) | const [inline, virtual] |
virtual int BaseAST::getType | ( | ) | const [inline, virtual] |
virtual void BaseAST::removeChildren | ( | ) | [inline, virtual] |
Remove all children.
virtual void BaseAST::setFirstChild | ( | RefAST | c | ) | [inline, virtual] |
Set the first child of a node.
Implements AST.
virtual void BaseAST::setNextSibling | ( | RefAST | n | ) | [inline, virtual] |
Set the next sibling after this one.
Implements AST.
virtual void BaseAST::setText | ( | const std::string & | txt | ) | [inline, virtual] |
virtual void BaseAST::setType | ( | int | type | ) | [inline, virtual] |
virtual std ::string BaseAST::toString | ( | ) | const [inline, virtual] |
std::string BaseAST::toStringList | ( | ) | const [virtual] |
Print out a child sibling tree in LISP notation.
Implements AST.
std::string BaseAST::toStringTree | ( | ) | const [virtual] |
Implements AST.
virtual const char* BaseAST::typeName | ( | void | ) | const [pure virtual] |
RefBaseAST BaseAST::down [protected] |
RefBaseAST BaseAST::right [protected] |