PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma::PreDefineFunctionDirective Class Reference

#include <Puma/PreTreeNodes.h>

+ Inheritance diagram for Puma::PreDefineFunctionDirective:

Description

Preprocessor tree node representing a #define directive for function-like macros.

Example:

#define MUL(a,b) (a * b)

Public Member Functions

 PreDefineFunctionDirective (PreTree *a, PreTree *b, PreTree *c, PreTree *d, PreTree *e, PreTree *f, PreTree *g, PreTree *h)
 Constructor. More...
 
 PreDefineFunctionDirective (PreTree *a, PreTree *b, PreTree *c, PreTree *d, PreTree *e, PreTree *f, PreTree *g)
 Constructor. More...
 
 PreDefineFunctionDirective (PreTree *a, PreTree *b, PreTree *c, PreTree *d, PreTree *e, PreTree *f)
 Constructor. More...
 
 PreDefineFunctionDirective (PreTree *a, PreTree *b, PreTree *c, PreTree *d, PreTree *e)
 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 accept (PreVisitor &)=0
 Part of the tree visitor pattern. 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...
 
virtual void accept (PreVisitor &)=0
 Part of the tree visitor pattern. 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...
 

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

◆ PreDefineFunctionDirective() [1/4]

Puma::PreDefineFunctionDirective::PreDefineFunctionDirective ( PreTree a,
PreTree b,
PreTree c,
PreTree d,
PreTree e,
PreTree f,
PreTree g,
PreTree h 
)
inline

Constructor.

Parameters
aThe #define token.
bThe macro name.
cLeft parenthesis before the parameter list.
dThe macro parameter list.
eComma before the last parameter.
fThe token '...'.
gRight parenthesis behind the parameter list.
hThe macro body.

◆ PreDefineFunctionDirective() [2/4]

Puma::PreDefineFunctionDirective::PreDefineFunctionDirective ( PreTree a,
PreTree b,
PreTree c,
PreTree d,
PreTree e,
PreTree f,
PreTree g 
)
inline

Constructor.

Parameters
aThe #define token.
bThe macro name.
cLeft parenthesis before the parameter list.
dThe macro parameter list.
eThe token '...'.
fRight parenthesis behind the parameter list.
gThe macro body.

◆ PreDefineFunctionDirective() [3/4]

Puma::PreDefineFunctionDirective::PreDefineFunctionDirective ( PreTree a,
PreTree b,
PreTree c,
PreTree d,
PreTree e,
PreTree f 
)
inline

Constructor.

Parameters
aThe #define token.
bThe macro name.
cLeft parenthesis before the parameter list.
dThe macro parameter list.
eRight parenthesis behind the parameter list.
fThe macro body.

◆ PreDefineFunctionDirective() [4/4]

Puma::PreDefineFunctionDirective::PreDefineFunctionDirective ( PreTree a,
PreTree b,
PreTree c,
PreTree d,
PreTree e 
)
inline

Constructor.

Parameters
aThe #define token.
bThe macro name.
cLeft parenthesis before the parameter list.
dRight parenthesis behind the parameter list.
eThe macro body.

Member Function Documentation

◆ accept()

void Puma::PreDefineFunctionDirective::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.