Puma Reference Manual Puma::CT_String Class Reference



Puma::CT_String Class Reference

Tree node representing a string literal. More...

#include <Puma/CTree.h>

Inheritance diagram for Puma::CT_String:
Inheritance graph

List of all members.

Public Member Functions

 CT_String (int size)
 Constructor.
const char * NodeName () const
 Get the name of the node.
CTypeInfoType () const
 Get the type of the string.
CExprValueValue () const
 Get the string value.
CSemValueSemValue () const
 Get the semantic value info object.
virtual CT_StringIsString ()
 Get this.
- Public Member Functions inherited from Puma::CT_List
CT_ListIsList ()
 Get a pointer to this CT_List.
int Entries () const
 Get the number of list entries.
CTreeEntry (int n) const
 Get the n-th list entry.
int Sons () const
 Get the number of sons.
CTreeSon (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 Tokentoken () const
 Get the first token of the syntactic construct represented by this sub-tree.
virtual Tokenend_token () const
 Get the last token of the syntactic construct represented by this sub-tree.
virtual CT_Tokentoken_node () const
 Get the CT_Token node of the first token of the syntactic construct represented by this sub-tree.
virtual CT_Tokenend_token_node () const
 Get the CT_Token node of the last token of the syntactic construct represented by this sub-tree.
virtual CTreeParent () const
 Get the parent node.
virtual CSemScopeSemScope () const
 Get the scope opened by the node.
virtual CSemObjectSemObject () const
 Get the semantic information of the node.
virtual CT_SimpleNameIsSimpleName ()
 Get a pointer to CT_SimpleName if the current node represents a name.
virtual CT_DeclaratorIsDeclarator ()
 Get a pointer to CT_Declarator if the current node represents a declarator.
virtual CT_StatementIsStatement ()
 Get a pointer to CT_Statement if the current node represents a statement.
virtual CT_ExpressionIsExpression ()
 Get a pointer to CT_Expression if the current node represents a expression.
virtual CT_DeclIsDeclaration ()
 Get a pointer to CT_Decl if the current node represents a declaration.
virtual CT_CallIsCall ()
 Get a pointer to CT_Call if the current node represents a call expression.
virtual CT_DelayedParseIsDelayedParse ()
 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::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.
CExprValuegetValue ()
 Get the semantic information about the value.
CTypeInfogetType ()
 Get the type of the value.

Static Public Member Functions

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

Additional Inherited Members

- 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...
- 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
CTreeSon (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
CExprValuevalue
 The semantic value information object.
CTypeInfotype
 The type information object.

Detailed Description

Tree node representing a string literal.

Example:

"abc"

Constructor & Destructor Documentation

Puma::CT_String::CT_String ( int  size)
inline

Constructor.

Parameters:
sizeThe number of sub-strings.

Member Function Documentation

virtual CT_String* Puma::CT_String::IsString ( )
inlinevirtual

Get this.

Reimplemented from Puma::CTree.

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

Get the identifier for this node type.

Can be compared with NodeName().

Reimplemented in Puma::CT_WideString.

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

Get the name of the node.

Can be compared with NodeId().

Implements Puma::CTree.

Reimplemented in Puma::CT_WideString.

CSemValue* Puma::CT_String::SemValue ( ) const
inlinevirtual

Get the semantic value info object.

Returns:
The semantic value object or NULL.

Reimplemented from Puma::CTree.

CTypeInfo* Puma::CT_String::Type ( ) const
inlinevirtual

Get the type of the string.

Returns:
The type or NULL.

Reimplemented from Puma::CTree.

CExprValue* Puma::CT_String::Value ( ) const
inlinevirtual

Get the string value.

Returns:
The value or NULL.

Reimplemented from Puma::CTree.




Puma Reference Manual. Created on Sat Jun 30 2012.