PUMA Library Reference Manual
|
#include <Puma/CTree.h>
Tree node representing the name of an overloaded operator.
Example:
Public Types | |
enum | { FCT_CALL = -100 , SUBSCRIPT , NEW_ARRAY , DEL_ARRAY } |
Complex operator types. More... | |
Public Types inherited from Puma::CT_List | |
enum | { OPEN = 1 , CLOSE = 2 , OPEN_CLOSE = 3 , SEPARATORS = 4 , FORCE_EMPTY = 8 , END_SEP = 16 , NO_LAST_SEP = 32 , INTRO = 64 } |
List properties. More... | |
Public Member Functions | |
CT_OperatorName (CTree *op) | |
Constructor. | |
CT_OperatorName (CTree *f, CTree *op, CTree *o, CTree *c) | |
Constructor. | |
const char * | NodeName () const |
Get the name of the node. | |
int | Operator () const |
Get the operator type (either the token type or one of the complex operator types). | |
void * | operator new (size_t) |
Own new operator reusing memory. | |
void | operator delete (void *) |
Own delete operator. | |
Public Member Functions inherited from Puma::CT_SpecialName | |
~CT_SpecialName () | |
Destructor. | |
const char * | Text () const |
Get the string containing the name. | |
void | Name (const char *n) |
Set the name. | |
void * | operator new (size_t) |
Own new operator reusing memory. | |
void | operator delete (void *) |
Own delete operator. | |
Public Member Functions inherited from Puma::CT_SimpleName | |
CT_SimpleName (CTree *n) | |
Constructor. | |
const char * | NodeName () const |
Get the name of the node. | |
virtual void | print (std::ostream &os) const |
Print the name on the given stream. | |
virtual CT_SimpleName * | Name () const |
Get this. | |
CTypeInfo * | Type () const |
Get the type of the entity represented by the name. | |
CExprValue * | Value () const |
Get the value of the entity represented by the name. | |
CSemValue * | SemValue () const |
Get the sematic value information of the name. | |
CSemObject * | SemObject () const |
Get the sematic information about the name. | |
virtual CT_SimpleName * | IsSimpleName () |
Get this. | |
void * | operator new (size_t) |
Own new operator reusing memory. | |
void | operator delete (void *) |
Own delete operator. | |
Public Member Functions inherited from Puma::CT_List | |
CT_List * | IsList () |
Get a pointer to this CT_List. | |
int | Entries () const |
Get the number of list entries. | |
CTree * | Entry (int n) const |
Get the n-th list entry. | |
int | Sons () const |
Get the number of sons. | |
CTree * | Son (int n) const |
Get the n-th son. | |
int | Index (CTree *son) |
Get the index of the given son, or -1 if not found. | |
int | GetProperties () const |
Get the list properties. | |
void | AddProperties (int p) |
Add a list property. | |
void | AddSon (CTree *s) |
Add a son. | |
void | PrefixSon (CTree *s) |
Prepend a son. | |
void | InsertSon (CTree *before, CTree *son) |
Insert a son before another son. | |
void | ReplaceSon (CTree *old_son, CTree *new_son) |
Replace a son. | |
void | RemoveSon (CTree *son) |
Remove a son. | |
void | InsertSon (int idx, CTree *s) |
Insert a son at the given index. | |
void | ReplaceSon (int idx, CTree *s) |
Replace the son at the given index. | |
void | RemoveSon (int idx) |
Remove the son at the given index. | |
Public Member Functions inherited from Puma::CTree | |
virtual | ~CTree () |
Destructor. | |
virtual Token * | token () const |
Get the first token of the syntactic construct represented by this sub-tree. | |
virtual Token * | end_token () const |
Get the last token of the syntactic construct represented by this sub-tree. | |
virtual CT_Token * | token_node () const |
Get the CT_Token node of the first token of the syntactic construct represented by this sub-tree. | |
virtual CT_Token * | end_token_node () const |
Get the CT_Token node of the last token of the syntactic construct represented by this sub-tree. | |
virtual CTree * | Parent () const |
Get the parent node. | |
virtual CSemScope * | SemScope () const |
Get the scope opened by the node. | |
virtual CT_String * | IsString () |
Get a pointer to CT_String if the current node represents a string. | |
virtual CT_Declarator * | IsDeclarator () |
Get a pointer to CT_Declarator if the current node represents a declarator. | |
virtual CT_Statement * | IsStatement () |
Get a pointer to CT_Statement if the current node represents a statement. | |
virtual CT_Expression * | IsExpression () |
Get a pointer to CT_Expression if the current node represents a expression. | |
virtual CT_Decl * | IsDeclaration () |
Get a pointer to CT_Decl if the current node represents a declaration. | |
virtual CT_Call * | IsCall () |
Get a pointer to CT_Call if the current node represents a call expression. | |
virtual CT_DelayedParse * | IsDelayedParse () |
Get a pointer to CT_DelayedParse if the current node represents a delayed code fragment. | |
bool | HasValueNull () const |
Return true if the tree has the constant value 0. | |
Public Member Functions inherited from Puma::Printable | |
virtual | ~Printable () |
Destructor. | |
Public Member Functions inherited from Puma::CSemValue | |
CSemValue () | |
Constructor. | |
virtual | ~CSemValue () |
Destructor. | |
void | setValue (CExprValue *v) |
Set the semantic value information object. | |
void | setValueRef (CExprValue *v) |
Set the semantic value information object as reference. | |
void | setType (CTypeInfo *t) |
Set the type information object. | |
void | setTypeRef (CTypeInfo *t) |
Set the type information object as reference. | |
CExprValue * | getValue () |
Get the semantic information about the value. | |
CTypeInfo * | getType () |
Get the type of the value. | |
Public Member Functions inherited from Puma::CSemObject | |
CSemObject () | |
Constructor. | |
void | Object (CObjectInfo *o) |
Set the semantic information object for the entity. | |
CObjectInfo * | Object () const |
Get the semantic information object. | |
Static Public Member Functions | |
static const char * | NodeId () |
Get the identifier for this node type. | |
Static Public Member Functions inherited from Puma::CT_SimpleName | |
static const char * | NodeId () |
Get the identifier for this node type. | |
Additional Inherited Members | |
Static Public Attributes inherited from Puma::CTree | |
static int | alloc |
static int | release |
Protected Member Functions inherited from Puma::CT_SpecialName | |
CT_SpecialName (int size=1) | |
Constructor. | |
Protected Member Functions inherited from Puma::CT_SimpleName | |
CT_SimpleName (int size) | |
Constructor. | |
CT_SimpleName (int size, int properties) | |
Constructor. | |
Protected Member Functions inherited from Puma::CT_List | |
CT_List (int size=5, int incr=5, int props=0) | |
Constructor. | |
Protected Member Functions inherited from Puma::CTree | |
CTree * | Son (CTree *const *sons, int len, int n) const |
Get the n-th son from given sons array. | |
int | Sons (CTree *const *sons, int len) const |
Get the number of sons in the given sons array. | |
void | ReplaceSon (CTree **sons, int len, CTree *old_son, CTree *new_son) |
Replace a son. | |
void | ReplaceSon (CTree *&son, CTree *old_son, CTree *new_son) |
Replace a son if it equals the given son. | |
void | AddSon (CTree *&son, CTree *new_son) |
Add a new son. | |
void | SetParent (const CTree *parent) |
Set the parent tree node. | |
void | SetParent (CTree *node, const CTree *parent) |
Set the parent tree node of the given tree node. | |
CTree () | |
Default constructor. | |
Protected Attributes inherited from Puma::CSemValue | |
CExprValue * | value |
The semantic value information object. | |
CTypeInfo * | type |
The type information object. | |
anonymous enum |
Complex operator types.
Enumerator | |
---|---|
FCT_CALL | |
SUBSCRIPT | Function call operator, i.e. (). |
NEW_ARRAY | Array subscript operator, i.e. []. |
DEL_ARRAY | New array operator, i.e. new[]. Delete array operator, i.e. delete[]. |
Puma::CT_OperatorName::CT_OperatorName | ( | CTree * | op | ) |
Constructor.
op | The token containing the operator. |
Constructor.
f | The operator function keyword 'operator'. |
op | The token containing the operator. |
o | The token of '[' or '('. |
c | The token of ']' or ')'. |
|
static |
Get the identifier for this node type.
Can be compared with NodeName().
|
inlinevirtual |
|
inline |
Get the operator type (either the token type or one of the complex operator types).
void Puma::CT_OperatorName::operator delete | ( | void * | ) |
Own delete operator.
void * Puma::CT_OperatorName::operator new | ( | size_t | ) |
Own new operator reusing memory.