PUMA Library Reference Manual
Puma::CTreeMatcher Class Reference

#include <CTreeMatcher.h>

+ Inheritance diagram for Puma::CTreeMatcher:

Classes

struct  match_state
 

Public Types

enum  {
  ANY = 1,
  ANY_LIST,
  MATCH_ALL,
  MATCH_EXACT,
  MATCH_FIRST,
  MATCH_LAST,
  MATCH_LEAF,
  MATCH_PRUNE
}
 

Public Member Functions

 CTreeMatcher (unsigned int max=0)
 
 CTreeMatcher (CTree *matchTree, unsigned int max=0)
 
virtual ~CTreeMatcher ()
 
void init (CTree *matchTree, unsigned int max=0)
 
bool match (CTree *, CTree *, CMatch *) const
 
virtual void action (CMatch *match)
 
virtual bool correct (CTree *node)
 
virtual void match (CTranslationUnit &, CTranslationUnit &, CTree *=(CTree *) 0)
 
int matchTree (int, match_state &, CTree *, CTree *) const
 
int matchList (int, match_state &, CTree *, CTree *=(CTree *) 0, CTree *=(CTree *) 0) const
 
int matchNodeName (CTree *, CTree *) const
 
- Public Member Functions inherited from Puma::CVisitor
 CVisitor ()
 Constructor. More...
 
virtual ~CVisitor ()
 Destructor. More...
 
void abort (bool v=true)
 Set the aborted state. More...
 
void prune (bool v=true)
 Set the pruned state (don't visit the sub-tree). More...
 
bool aborted () const
 Check if the node visiting is aborted. More...
 
bool pruned () const
 Check if the visiting the sub-tree is aborted. More...
 
void visit (CTree *node)
 Visit the given syntax tree node. More...
 
virtual void post_visit (CTree *node)
 Apply actions after the given node is visited. More...
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ANY 
ANY_LIST 
MATCH_ALL 
MATCH_EXACT 
MATCH_FIRST 
MATCH_LAST 
MATCH_LEAF 
MATCH_PRUNE 

Constructor & Destructor Documentation

◆ CTreeMatcher() [1/2]

Puma::CTreeMatcher::CTreeMatcher ( unsigned int  max = 0)
inline

◆ CTreeMatcher() [2/2]

Puma::CTreeMatcher::CTreeMatcher ( CTree matchTree,
unsigned int  max = 0 
)
inline

◆ ~CTreeMatcher()

virtual Puma::CTreeMatcher::~CTreeMatcher ( )
inlinevirtual

Member Function Documentation

◆ action()

virtual void Puma::CTreeMatcher::action ( CMatch match)
inlinevirtual

◆ correct()

virtual bool Puma::CTreeMatcher::correct ( CTree node)
inlinevirtual

◆ init()

void Puma::CTreeMatcher::init ( CTree matchTree,
unsigned int  max = 0 
)

◆ match() [1/2]

virtual void Puma::CTreeMatcher::match ( CTranslationUnit ,
CTranslationUnit ,
CTree = (CTree *) 0 
)
virtual

◆ match() [2/2]

bool Puma::CTreeMatcher::match ( CTree ,
CTree ,
CMatch  
) const

◆ matchList()

int Puma::CTreeMatcher::matchList ( int  ,
match_state ,
CTree ,
CTree = (CTree *) 0,
CTree = (CTree *) 0 
) const

◆ matchNodeName()

int Puma::CTreeMatcher::matchNodeName ( CTree ,
CTree  
) const

◆ matchTree()

int Puma::CTreeMatcher::matchTree ( int  ,
match_state ,
CTree ,
CTree  
) const