PUMA Library Reference Manual
Puma::CT_Token Class Reference

#include <Puma/CTree.h>

+ Inheritance diagram for Puma::CT_Token:

Description

Tree node representing a single token in the source code.

Public Member Functions

 CT_Token (Token *token, unsigned long int number=0)
 Constructor. More...
 
const char * NodeName () const
 Get the name of the node. More...
 
int Sons () const
 Get the number of sons. More...
 
Tokentoken () const
 Get the represented token. More...
 
Tokenend_token () const
 Get the represented token. More...
 
CT_Tokentoken_node () const
 Get this. More...
 
CT_Tokenend_token_node () const
 Get this. More...
 
void Number (unsigned long int number)
 Set the token number. More...
 
unsigned long int Number () const
 Get the token number. More...
 
void * operator new (size_t)
 Own new operator reusing memory. More...
 
void operator delete (void *)
 Own delete operator. More...
 
- Public Member Functions inherited from Puma::CTree
virtual ~CTree ()
 Destructor. More...
 
virtual CTreeSon (int n) const
 Get the n-th son. More...
 
virtual void ReplaceSon (CTree *old_son, CTree *new_son)
 Replace a son. More...
 
virtual CTreeParent () const
 Get the parent node. More...
 
virtual CTypeInfoType () const
 Get the semantic type of the node. More...
 
virtual CExprValueValue () const
 Get the calculated value of the expression. More...
 
virtual CSemScopeSemScope () const
 Get the scope opened by the node. More...
 
virtual CSemValueSemValue () const
 Get the semantic value of the node. More...
 
virtual CSemObjectSemObject () const
 Get the semantic information of the node. More...
 
virtual CT_SimpleNameIsSimpleName ()
 Get a pointer to CT_SimpleName if the current node represents a name. More...
 
virtual CT_StringIsString ()
 Get a pointer to CT_String if the current node represents a string. More...
 
virtual CT_DeclaratorIsDeclarator ()
 Get a pointer to CT_Declarator if the current node represents a declarator. More...
 
virtual CT_StatementIsStatement ()
 Get a pointer to CT_Statement if the current node represents a statement. More...
 
virtual CT_ExpressionIsExpression ()
 Get a pointer to CT_Expression if the current node represents a expression. More...
 
virtual CT_DeclIsDeclaration ()
 Get a pointer to CT_Decl if the current node represents a declaration. More...
 
virtual CT_CallIsCall ()
 Get a pointer to CT_Call if the current node represents a call expression. More...
 
virtual CT_ListIsList ()
 Get a pointer to CT_List if the current node represents a list. More...
 
virtual CT_DelayedParseIsDelayedParse ()
 Get a pointer to CT_DelayedParse if the current node represents a delayed code fragment. More...
 
bool HasValueNull () const
 Return true if the tree has the constant value 0. More...
 

Static Public Member Functions

static const char * NodeId ()
 Get the identifier for this node type. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Puma::CTree
static int alloc
 
static int release
 
- Protected Member Functions inherited from Puma::CTree
CTreeSon (CTree *const *sons, int len, int n) const
 Get the n-th son from given sons array. More...
 
int Sons (CTree *const *sons, int len) const
 Get the number of sons in the given sons array. More...
 
void ReplaceSon (CTree **sons, int len, CTree *old_son, CTree *new_son)
 Replace a son. More...
 
void ReplaceSon (CTree *&son, CTree *old_son, CTree *new_son)
 Replace a son if it equals the given son. More...
 
void AddSon (CTree *&son, CTree *new_son)
 Add a new son. More...
 
void SetParent (const CTree *parent)
 Set the parent tree node. More...
 
void SetParent (CTree *node, const CTree *parent)
 Set the parent tree node of the given tree node. More...
 
 CTree ()
 Default constructor. More...
 

Constructor & Destructor Documentation

◆ CT_Token()

Puma::CT_Token::CT_Token ( Token token,
unsigned long int  number = 0 
)
inline

Constructor.

Parameters
tokenThe represented token.
numberThe token number (a consecutive number).

Member Function Documentation

◆ end_token()

Token* Puma::CT_Token::end_token ( ) const
inlinevirtual

Get the represented token.

Reimplemented from Puma::CTree.

◆ end_token_node()

CT_Token* Puma::CT_Token::end_token_node ( ) const
inlinevirtual

Get this.

Reimplemented from Puma::CTree.

◆ NodeId()

static const char* Puma::CT_Token::NodeId ( )
static

Get the identifier for this node type.

Can be compared with NodeName().

◆ NodeName()

const char* Puma::CT_Token::NodeName ( ) const
inlinevirtual

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

◆ Number() [1/2]

unsigned long int Puma::CT_Token::Number ( ) const
inline

Get the token number.

Can be used to indentify this token.

◆ Number() [2/2]

void Puma::CT_Token::Number ( unsigned long int  number)
inline

Set the token number.

Parameters
numberThe token number.

◆ operator delete()

void Puma::CT_Token::operator delete ( void *  )

Own delete operator.

◆ operator new()

void* Puma::CT_Token::operator new ( size_t  )

Own new operator reusing memory.

◆ Sons()

int Puma::CT_Token::Sons ( ) const
inlinevirtual

Get the number of sons.

Implements Puma::CTree.

◆ token()

Token* Puma::CT_Token::token ( ) const
inlinevirtual

Get the represented token.

Reimplemented from Puma::CTree.

◆ token_node()

CT_Token* Puma::CT_Token::token_node ( ) const
inlinevirtual

Get this.

Reimplemented from Puma::CTree.