Puma Reference Manual Puma: Puma::PreTreeComposite Class Reference



Puma::PreTreeComposite Class Reference

Base class for all C preprocessor syntax tree composite nodes. More...

#include <Puma/PreTreeComposite.h>

Inherits Puma::PreTree.

Inherited by Puma::PreAssertDirective, Puma::PreConditionalGroup, Puma::PreDefineConstantDirective, Puma::PreDefineFunctionDirective, Puma::PreDirectiveGroups, Puma::PreElifDirective, Puma::PreElifPart, Puma::PreElseDirective, Puma::PreElsePart, Puma::PreEndifDirective, Puma::PreErrorDirective, Puma::PreIdentifierList, Puma::PreIfdefDirective, Puma::PreIfDirective, Puma::PreIfndefDirective, Puma::PreIncludeDirective, Puma::PreProgram, Puma::PreTokenList, Puma::PreTokenListPart, Puma::PreUnassertDirective, Puma::PreUndefDirective, and Puma::PreWarningDirective.

List of all members.

Public Member Functions

virtual ~PreTreeComposite ()
 Destructor.
virtual void accept (PreVisitor &)=0
 Part of the tree visitor pattern.
virtual void add_son (PreTree *s)
 Add a son (syntactic child node).
virtual void replace_son (int n, PreTree *new_s)
 Replace the n-th son.
virtual PreTreeson (int n) const
 Get the n-th son.
virtual int sons () const
 Get the number of sons.
virtual void add_daughter (PreTree *d)
 Add a daughter (semantic child node).
virtual void replace_daughter (int n, PreTree *new_d)
 Replace the n-th daughter.
virtual PreTreedaughter (int n) const
 Get the n-th daughter.
virtual int daughters () const
 Get the number of daughters.
virtual TokenstartToken () const
 Get the first token of the syntactic construct represented by the sub-tree.
virtual TokenendToken () const
 Get the last token of the syntactic construct represented by the sub-tree.

Static Public Attributes

static const int DYNAMIC = -1
 Dynamic number of sons and daughters.

Protected Member Functions

 PreTreeComposite (int s, int d)
 Constructor.

Detailed Description

Base class for all C preprocessor syntax tree composite nodes.


Constructor & Destructor Documentation

Puma::PreTreeComposite::PreTreeComposite ( int  s,
int  d 
) [protected]

Constructor.

Parameters:
s Number of sons (syntactic child nodes).
d Number of daughters (semantic child nodes).
virtual Puma::PreTreeComposite::~PreTreeComposite (  )  [virtual]

Destructor.


Member Function Documentation

virtual void Puma::PreTreeComposite::accept ( PreVisitor  )  [pure virtual]
virtual void Puma::PreTreeComposite::add_daughter ( PreTree d  )  [virtual]

Add a daughter (semantic child node).

Parameters:
d The daughter to add.
virtual void Puma::PreTreeComposite::add_son ( PreTree s  )  [virtual]

Add a son (syntactic child node).

Parameters:
s The son to add.
virtual PreTree* Puma::PreTreeComposite::daughter ( int  n  )  const [virtual]

Get the n-th daughter.

Parameters:
n The index of the daughter.

Reimplemented from Puma::PreTree.

virtual int Puma::PreTreeComposite::daughters (  )  const [virtual]

Get the number of daughters.

Reimplemented from Puma::PreTree.

virtual Token* Puma::PreTreeComposite::endToken (  )  const [virtual]

Get the last token of the syntactic construct represented by the sub-tree.

Reimplemented from Puma::PreTree.

virtual void Puma::PreTreeComposite::replace_daughter ( int  n,
PreTree new_d 
) [virtual]

Replace the n-th daughter.

Parameters:
n The index of the daughter.
new_d The new daughter.
virtual void Puma::PreTreeComposite::replace_son ( int  n,
PreTree new_s 
) [virtual]

Replace the n-th son.

Parameters:
n The index of the son to replace.
new_s The new son.
virtual PreTree* Puma::PreTreeComposite::son ( int  n  )  const [virtual]

Get the n-th son.

Parameters:
n The index of the son.

Reimplemented from Puma::PreTree.

virtual int Puma::PreTreeComposite::sons (  )  const [virtual]

Get the number of sons.

Reimplemented from Puma::PreTree.

virtual Token* Puma::PreTreeComposite::startToken (  )  const [virtual]

Get the first token of the syntactic construct represented by the sub-tree.

Reimplemented from Puma::PreTree.


Member Data Documentation

const int Puma::PreTreeComposite::DYNAMIC = -1 [static]

Dynamic number of sons and daughters.




Puma Reference Manual. Created on 11 Sep 2009.