PUMA Library Reference Manual
Loading...
Searching...
No Matches
CTree.h File Reference

Description

C/C++ syntax tree classes.

#include "Puma/ErrorSeverity.h"
#include "Puma/CSemObject.h"
#include "Puma/CSemScope.h"
#include "Puma/CSemValue.h"
#include "Puma/CExprValue.h"
#include "Puma/CStrLiteral.h"
#include "Puma/CTypeInfo.h"
#include "Puma/Printable.h"
#include "Puma/CTokens.h"
#include "Puma/Token.h"
#include <iostream>
#include <map>
#include <string.h>

Classes

class  Puma::CTree
 Base class for all C/C++ syntax tree classes. More...
 
class  Puma::CT_Error
 Error tree node that is inserted into the tree for syntactic constructs that could not be parsed. More...
 
class  Puma::CT_Token
 Tree node representing a single token in the source code. More...
 
class  Puma::CT_List
 Base class for tree nodes representing lists. More...
 
class  Puma::CT_ExprList
 Tree node representing an expression list. More...
 
class  Puma::CT_DeclaratorList
 Tree node representing a list of declarators. More...
 
class  Puma::CT_EnumeratorList
 Tree node representing a list of enumerator constants. More...
 
class  Puma::CT_DeclList
 Tree node representing a list of declarations. More...
 
class  Puma::CT_DeclSpecSeq
 Tree node representing a sequence of declaration specifiers. More...
 
class  Puma::CT_CmpdStmt
 Tree node representing a compound statement. More...
 
class  Puma::CT_HandlerSeq
 Tree node representing an exception handler sequence. More...
 
class  Puma::CT_TemplateParamList
 Tree node representing a template parameter list. More...
 
class  Puma::CT_TemplateArgList
 Tree node representing a template argument list. More...
 
class  Puma::CT_ExtensionList
 Tree node representing a sequence of compiler specific extensions such as attribute((...)) nodes. More...
 
class  Puma::CT_Expression
 Base class for all expression tree nodes. More...
 
class  Puma::CT_Call
 Tree node representing explicit or implicit function calls including built-in or user-defined functions and overloaded operators. More...
 
class  Puma::CT_ImplicitCall
 Tree node representing implicit function calls detected by the semantic analysis. More...
 
class  Puma::CT_String
 Tree node representing a string literal. More...
 
class  Puma::CT_WideString
 Tree node representing a wide string literal. More...
 
class  Puma::CT_Integer
 Tree node representing an integer constant. More...
 
class  Puma::CT_Character
 Tree node representing a single character constant. More...
 
class  Puma::CT_WideCharacter
 Tree node representing a wide character constant. More...
 
class  Puma::CT_Float
 Tree node representing a floating point constant. More...
 
class  Puma::CT_Bool
 Tree node representing a boolean literal. More...
 
class  Puma::CT_BracedExpr
 Tree node representing a braced expression. More...
 
class  Puma::CT_SimpleName
 Base class for all tree nodes representing a name. More...
 
class  Puma::CT_SpecialName
 Base class for tree nodes representing a special name, like destructor names. More...
 
class  Puma::CT_PrivateName
 Tree node representing a private name. More...
 
class  Puma::CT_DestructorName
 Tree node representing a destructor name. More...
 
class  Puma::CT_TemplateName
 Tree node representing a template name. More...
 
class  Puma::CT_OperatorName
 Tree node representing the name of an overloaded operator. More...
 
class  Puma::CT_ConversionName
 Tree node representing the name of a conversion function. More...
 
class  Puma::CT_QualName
 Tree node representing a qualified name. More...
 
class  Puma::CT_RootQualName
 Tree node representing a qualified name with introducing name separator. More...
 
class  Puma::CT_BinaryExpr
 Tree node representing a binary expression. More...
 
class  Puma::CT_MembPtrExpr
 Tree node representing a member pointer expression. More...
 
class  Puma::CT_MembRefExpr
 Tree node representing a member reference expression. More...
 
class  Puma::CT_UnaryExpr
 Base class for tree nodes representing unary expressions. More...
 
class  Puma::CT_PostfixExpr
 Tree node representing a postfix expression. More...
 
class  Puma::CT_AddrExpr
 Tree node representing an address expression. More...
 
class  Puma::CT_DerefExpr
 Tree node representing a pointer dereferencing expression. More...
 
class  Puma::CT_DeleteExpr
 Tree node representing a delete expression. More...
 
class  Puma::CT_NewExpr
 Tree node representing a new expression. More...
 
class  Puma::CT_IfThenExpr
 Tree node representing an if-then expression. More...
 
class  Puma::CT_CmpdLiteral
 Tree node representing a compound literal. More...
 
class  Puma::CT_ConstructExpr
 Tree node representing a construct expression. More...
 
class  Puma::CT_ThrowExpr
 Tree node representing a throw expression. More...
 
class  Puma::CT_IndexExpr
 Tree node representing an index expression. More...
 
class  Puma::CT_CallExpr
 Tree node representing a function call expression. More...
 
class  Puma::CT_CastExpr
 Tree node representing a cast expression. More...
 
class  Puma::CT_StaticCast
 Tree node representing a static cast. More...
 
class  Puma::CT_ConstCast
 Tree node representing a const cast. More...
 
class  Puma::CT_ReintCast
 Tree node representing a reinterpret cast. More...
 
class  Puma::CT_DynamicCast
 Tree node representing a dynamic cast. More...
 
class  Puma::CT_ImplicitCast
 Tree node representing an implicit cast. More...
 
class  Puma::CT_TypeidExpr
 Tree node representing a typeid expression. More...
 
class  Puma::CT_SizeofExpr
 Tree node representing a sizeof expression. More...
 
class  Puma::CT_AlignofExpr
 Tree node representing an alignof expression. More...
 
class  Puma::CT_TypeTraitExpr
 Tree node representing an type trait expression. More...
 
class  Puma::CT_OffsetofExpr
 Tree node representing an offsetof expression. More...
 
class  Puma::CT_IndexDesignator
 Tree node representing an index designator. More...
 
class  Puma::CT_MembDesignator
 Tree node representing a member designator. More...
 
class  Puma::CT_DesignatorSeq
 Tree node representing a designator sequence. More...
 
class  Puma::CT_DeclSpec
 Base class for all tree nodes representing declaration specifiers. More...
 
class  Puma::CT_PrimDeclSpec
 Tree node representing a primitive declaration specifier. More...
 
class  Puma::CT_NamedType
 Tree node representing a named type. More...
 
class  Puma::CT_ClassSpec
 Tree node representing a class specifier. More...
 
class  Puma::CT_UnionSpec
 Tree node representing a union specifier. More...
 
class  Puma::CT_EnumSpec
 Tree node representing an enumeration specifier. More...
 
class  Puma::CT_ExceptionSpec
 Tree node representing an exception specifier. More...
 
class  Puma::CT_Decl
 Base class for all tree nodes representing declarations. More...
 
class  Puma::CT_Program
 Root node of C/C++ syntax trees. More...
 
class  Puma::CT_ObjDecl
 Tree node representing an object declaration. More...
 
class  Puma::CT_TemplateDecl
 Tree node representing a template declaration. More...
 
class  Puma::CT_TemplateParamDecl
 Base class for all tree nodesrepresenting a template parameter declaration. More...
 
class  Puma::CT_NonTypeParamDecl
 Tree node representing a template non-type parameter declaration. More...
 
class  Puma::CT_TypeParamDecl
 Tree node representing a template type parameter declaration. More...
 
class  Puma::CT_EnumDef
 Tree node representing the definition of an enumeration. More...
 
class  Puma::CT_Enumerator
 Tree node representing a single enumeration constant. More...
 
class  Puma::CT_FctDef
 Tree node representing a function definition. More...
 
class  Puma::CT_AsmDef
 Tree node representing an inline assembly definition. More...
 
class  Puma::CT_Handler
 Tree node representing an exception handler. More...
 
class  Puma::CT_LinkageSpec
 Tree node representing a list of declaration with a specific linkage. More...
 
class  Puma::CT_ArgDecl
 Tree node representing the declaration of a function parameter. More...
 
class  Puma::CT_ArgDeclList
 Tree node representing a function parameter list. More...
 
class  Puma::CT_ArgDeclSeq
 Tree node representing a K&R function parameter declarations list. More...
 
class  Puma::CT_ArgNameList
 Tree node representing a K&R function parameter name list. More...
 
class  Puma::CT_NamespaceDef
 Tree node representing a namespace definition. More...
 
class  Puma::CT_NamespaceAliasDef
 Tree node representing a namespace alias definition. More...
 
class  Puma::CT_UsingDirective
 Tree node representing a namespace using directive. More...
 
class  Puma::CT_Declarator
 Base class for all tree nodes representing declarators. More...
 
class  Puma::CT_InitDeclarator
 Tree node representing a declarator with initializer. More...
 
class  Puma::CT_BracedDeclarator
 Tree node representing a braced declarator. More...
 
class  Puma::CT_ArrayDelimiter
 Tree node representing an array delimiter. More...
 
class  Puma::CT_ArrayDeclarator
 Tree node representing an array declarator. More...
 
class  Puma::CT_FctDeclarator
 Tree node representing a function declarator. More...
 
class  Puma::CT_RefDeclarator
 Tree node representing a reference declarator. More...
 
class  Puma::CT_PtrDeclarator
 Tree node representing a pointer declarator. More...
 
class  Puma::CT_MembPtrDeclarator
 Tree node representing a member pointer declarator. More...
 
class  Puma::CT_BitFieldDeclarator
 Tree node representing a bit-field declarator. More...
 
class  Puma::CT_Statement
 Base class for all tree nodes representing statements. More...
 
class  Puma::CT_LabelStmt
 Tree node representing a label statement. More...
 
class  Puma::CT_DefaultStmt
 Tree node representing a default statement of a switch statement. More...
 
class  Puma::CT_TryStmt
 Tree node representing a try-catch statement. More...
 
class  Puma::CT_CaseStmt
 Tree node representing a case statement. More...
 
class  Puma::CT_ExprStmt
 Tree node representing an expression statement. More...
 
class  Puma::CT_DeclStmt
 Tree node representing a declaration statement. More...
 
class  Puma::CT_SwitchStmt
 Tree node representing a switch statement. More...
 
class  Puma::CT_IfStmt
 Tree node representing a if-statement. More...
 
class  Puma::CT_IfElseStmt
 Tree node representing a if-else-statement. More...
 
class  Puma::CT_BreakStmt
 Tree node representing a break-statement. More...
 
class  Puma::CT_ContinueStmt
 Tree node representing a continue-statement. More...
 
class  Puma::CT_GotoStmt
 Tree node representing a goto-stmt. More...
 
class  Puma::CT_ReturnStmt
 Tree node representing a return-statement. More...
 
class  Puma::CT_WhileStmt
 Tree node representing a while-statement. More...
 
class  Puma::CT_DoStmt
 Tree node representing a do-while-statement. More...
 
class  Puma::CT_ForStmt
 Tree node representing a for-statement. More...
 
class  Puma::CT_Condition
 Tree node representing a control-statement condition. More...
 
class  Puma::CT_ClassDef
 Tree node representing a class definition. More...
 
class  Puma::CT_UnionDef
 Tree node representing the definition of a union. More...
 
class  Puma::CT_MembList
 Tree node representing a member declarations list. More...
 
class  Puma::CT_MembInitList
 Tree node representing a constructor initializer list. More...
 
class  Puma::CT_MembInit
 Tree node representing a member initializer. More...
 
class  Puma::CT_BaseSpecList
 Tree node representing a base specifier list. More...
 
class  Puma::CT_AccessSpec
 Tree node representing an access specifier. More...
 
class  Puma::CT_BaseSpec
 Tree node representing a base class specifier. More...
 
class  Puma::CT_AccessDecl
 Tree node representing a member access declaration. More...
 
class  Puma::CT_UsingDecl
 Tree node representing a using declaration. More...
 
class  Puma::CT_Any
 Tree node representing a wildcard. More...
 
class  Puma::CT_AnyList
 Tree node representing a list wildcard. More...
 
class  Puma::CT_AnyExtension
 Tree node representing a wildcard extension. More...
 
class  Puma::CT_AnyCondition
 Tree node representing the condition of a wildcard. More...
 

Namespaces

namespace  Puma