PUMA Library Reference Manual
Puma::PreConditionalGroup Class Reference

#include <Puma/PreTreeNodes.h>

+ Inheritance diagram for Puma::PreConditionalGroup:

Description

Preprocessor tree node representing a group of conditional directives. Example:

#if ... #elif ... #else ... #endif

Public Member Functions

 PreConditionalGroup (PreTree *i, PreTree *dg, PreTree *ei)
 Constructor. More...
 
 PreConditionalGroup (PreTree *i, PreTree *e, PreTree *dg, PreTree *ei)
 Constructor. More...
 
void accept (PreVisitor &v)
 Part of the tree visitor pattern. More...
 
- Public Member Functions inherited from Puma::PreTreeComposite
virtual ~PreTreeComposite ()
 Destructor. More...
 
virtual void add_son (PreTree *s)
 Add a son (syntactic child node). More...
 
virtual void replace_son (int n, PreTree *new_s)
 Replace the n-th son. More...
 
virtual PreTreeson (int n) const
 Get the n-th son. More...
 
virtual int sons () const
 Get the number of sons. More...
 
virtual void add_daughter (PreTree *d)
 Add a daughter (semantic child node). More...
 
virtual void replace_daughter (int n, PreTree *new_d)
 Replace the n-th daughter. More...
 
virtual PreTreedaughter (int n) const
 Get the n-th daughter. More...
 
virtual int daughters () const
 Get the number of daughters. More...
 
virtual TokenstartToken () const
 Get the first token of the syntactic construct represented by the sub-tree. More...
 
virtual TokenendToken () const
 Get the last token of the syntactic construct represented by the sub-tree. More...
 
- Public Member Functions inherited from Puma::PreTree
virtual ~PreTree ()
 Destructor. More...
 
virtual bool isLeaf () const
 Check if the node is a leaf, i.e. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Puma::PreTreeComposite
static const int DYNAMIC = -1
 Dynamic number of sons and daughters. More...
 
- Protected Member Functions inherited from Puma::PreTreeComposite
 PreTreeComposite (int s, int d)
 Constructor. More...
 
- Protected Member Functions inherited from Puma::PreTree
 PreTree ()
 Constructor. More...
 

Constructor & Destructor Documentation

◆ PreConditionalGroup() [1/2]

Puma::PreConditionalGroup::PreConditionalGroup ( PreTree i,
PreTree dg,
PreTree ei 
)
inline

Constructor.

Parameters
iThe #if part.
dgThe directive group.
eiThe #endif part.

◆ PreConditionalGroup() [2/2]

Puma::PreConditionalGroup::PreConditionalGroup ( PreTree i,
PreTree e,
PreTree dg,
PreTree ei 
)
inline

Constructor.

Parameters
iThe #if part.
eThe #elif or #else part.
dgThe directive group.
eiThe #endif part.

Member Function Documentation

◆ accept()

void Puma::PreConditionalGroup::accept ( PreVisitor v)
inlinevirtual

Part of the tree visitor pattern.

Calls the node visiting functions suitable for this node type.

Parameters
vThe visitor object on which to call the visiting functions.

Implements Puma::PreTreeComposite.