Puma Reference Manual Puma: Puma Namespace Reference



Puma Namespace Reference


Classes

class  AllocChecker
class  Array
 Variable length array implementation. More...
class  Array< Item * >
class  BCList
class  BCStack
class  Chain
class  ChainCnt
class  ConstSizeMemPool
class  DString
 Global hash table based string container. More...
class  FdSource
class  FileSource
class  Heap
class  KeyboardSource
class  List
 Double-linked list implementation. More...
class  ListElement
 Double-linked list element type to be used as elements for Puma::List. More...
class  MemPool
class  Pipe
class  PipedCmd
class  Printable
 Provides that possibility for an object to be used with output streams (std::ostream). More...
class  PtrStack
class  RatioCounter
class  RefCnt
class  RegComp
class  Sink
class  SmartPtr
class  Source
class  Stack
class  StrCol
class  StrHashKey
class  StrHashTable
class  StringSource
class  FileInfo
class  SysCall
class  TerminalSink
class  PumaTokenSource
class  VerboseMgr
class  VoidPtrArray
class  Config
 Puma configuration information. More...
class  ConfOption
class  ErrorCollector
class  ErrorSeverity
class  ErrorSink
class  ErrorStream
class  Filename
class  FilenameInfo
class  FileUnit
class  Flags
class  LanguageID
class  Location
class  LocManager
class  MacroUnit
class  OptsParser
 The Options Parser searches command line parameters for options and handles their option arguments, if applicable. More...
class  ParserKey
class  PathInfo
class  PathIterator
class  PathManager
class  Project
class  ProjectFile
struct  SaveMode
class  SimpleParser
 Simple string parser. More...
class  Token
 Abstraction of a language token. More...
class  Tokenizer
class  TokenStream
class  Unit
 Token chain abstraction of a source file or string. More...
class  UnitIterator
class  UnitManager
class  UnitState
class  UnitTokenSrc
class  ImportHandler
class  PreAnswer
class  PreArgDesc
class  PreAssertionEvaluator
class  PreExpr
class  PreFileIncluder
class  PreLevelState
class  PreMacro
class  PreMacroExpander
class  PreMacroManager
class  PreParserState
class  PrePredicate
class  PrePredicateManager
class  PrePrintVisitor
class  PreprocessorParser
class  PreSemIterator
class  PreSonIterator
class  PreTree
 Base class for all C preprocessor syntax tree nodes. More...
class  PreTreeComposite
 Base class for all C preprocessor syntax tree composite nodes. More...
class  PreTreeIterator
class  PreProgram
 The root node of the preprocessor syntax tree. More...
class  PreDirectiveGroups
 Preprocessor tree node representing the directive groups in the program. More...
class  PreConditionalGroup
 Preprocessor tree node representing a group of conditional directives. More...
class  PreElsePart
 Preprocessor tree node representing a group of directives in the #else part of an #if conditional. More...
class  PreElifPart
 Preprocessor tree node representing a group of directives in the #elif part of an #if conditional. More...
class  PreIfDirective
 Preprocessor tree node representing an #if directive. More...
class  PreIfdefDirective
 Preprocessor tree node representing an #ifdef directive. More...
class  PreIfndefDirective
 Preprocessor tree node representing an #ifndef directive. More...
class  PreElifDirective
 Preprocessor tree node representing an #elif directive. More...
class  PreElseDirective
 Preprocessor tree node representing an #else directive. More...
class  PreEndifDirective
 Preprocessor tree node representing an #endif directive. More...
class  PreIncludeDirective
 Preprocessor tree node representing an #include or #include_next directive. More...
class  PreAssertDirective
 Preprocessor tree node representing an #assert directive. More...
class  PreUnassertDirective
 Preprocessor tree node representing an #unassert directive. More...
class  PreDefineFunctionDirective
 Preprocessor tree node representing a #define directive for function-like macros. More...
class  PreDefineConstantDirective
 Preprocessor tree node representing a #define directive for constants. More...
class  PreUndefDirective
 Preprocessor tree node representing an #undef directive. More...
class  PreWarningDirective
 Preprocessor tree node representing a #warning directive. More...
class  PreErrorDirective
 Preprocessor tree node representing an #error directive. More...
class  PreIdentifierList
 Preprocessor tree node representing the identifier list of a function-like macro definition. More...
class  PreTokenList
 Preprocessor tree node representing the token list of a macro body. More...
class  PreTokenListPart
 Preprocessor tree node representing a part of the token list of a macro body. More...
class  PreCondSemNode
 Preprocessor semantic tree node for conditions. More...
class  PreInclSemNode
 Preprocessor semantic tree node for the #include directive containing the unit to include. More...
class  PreError
 Preprocessor tree node representing a parse error. More...
class  PreTreeToken
 Preprocessor syntax tree leaf class representing a token. More...
class  PreVisitor
class  ACAdviceInfo
 Semantic information about an AspectC++ 'advice' declaration. More...
class  ACAspectInfo
 Semantic information about an AspectC++ 'aspect' declaration. More...
class  ACClassDatabase
 AspectC++ specific database of all aspect, slice, and pointcut info objects. More...
class  ACIntroductionInfo
 Semantic information about an AspectC++ introduction 'advice' declaration. More...
class  ACPointcutInfo
 Semantic information about an AspectC++ 'pointcut' declaration. More...
class  ACSliceInfo
 Semantic information about an AspectC++ 'slice' declaration. More...
class  CArgumentInfo
 Semantic information about a function parameter. More...
class  CAttributeInfo
 Semantic information about a local or global object or a class data member. More...
class  CBaseClassInfo
 Semantic information about a base class of a class. More...
class  CCandidateInfo
 Representation of a candidate for the C++ function overload resolution mechanism. More...
class  CClassInfo
 Semantic information about a class. More...
class  CClassInstance
 Semantic information about an instance of a class template. More...
class  CEnumeratorInfo
 Semantic information about an enumeration constant. More...
class  CEnumInfo
 Semantic information about an enumeration. More...
class  CFctInstance
 Semantic information about an instance of a function template. More...
class  CFileInfo
 Semantic information about a source file (translation unit). More...
class  CFunctionInfo
 Semantic information about a function, method, overloaded operator, or user conversion function. More...
class  CLabelInfo
 Semantic information about a jump label. More...
class  CLocalScope
 Semantic information about a local scope in a function body, also called block scope. More...
class  CMemberAliasInfo
 Semantic information about a member alias. More...
class  CNamespaceInfo
 Semantic information about a user-defined namespace. More...
class  CObjectInfo
 Abstract base class of all semantic information classes. More...
class  CRecord
 Semantic information about a class or union. More...
class  CScopeInfo
 Semantic information about a scope. More...
class  CScopeRequest
 Provides additional scope information for semantic objects that are not scopes itself (like objects). More...
class  CSemDatabase
 Semantic information database. More...
class  CSourceInfo
 Source file information for an entity. More...
class  CSpecifiers
 C/C++ declaration specifiers for the declaration of an entity. More...
class  CStructure
 Base class of all semantic information classes for entities that can contain other entity declarations (like classes, namespaces, functions). More...
class  CTemplateInfo
 Semantic information about a template declaration. More...
class  CTemplateInstance
 Semantic information about a template instance. More...
class  CTemplateParamInfo
 Semantic information about a template parameter. More...
class  CTypeAddress
 Type of a reference. More...
class  CTypeArray
 Type of an array. More...
class  CTypeBitField
 Type of a bit-field. More...
class  CTypeClass
 Type of a class. More...
class  CTypedefInfo
 Semantic information about a typedef. More...
class  CTypeEnum
 Type of an enumeration. More...
class  CTypeFunction
 Type of a function. More...
class  CTypeInfo
 Type information for an entity (class, function, object, etc). More...
class  CTypeList
 List of types. More...
class  CTypeMemberPointer
 Type of a member pointer. More...
class  CTypePointer
 Type of a pointer. More...
class  CTypePrimitive
 Primitive type. More...
class  CTypeQualified
 Type qualification. More...
class  CTypeRecord
 Type of a class or union. More...
class  CTypeTemplateParam
 Type of a template parameter. More...
class  CTypeUnion
 Type of a union. More...
class  CTypeVarArray
 Type of a variable length array. More...
class  CUnionInfo
 Semantic information about a union. More...
class  CUnionInstance
 Semantic information about an instance of a union template. More...
class  CUsingInfo
 Semantic information about a using-directive. More...
class  CMatch
class  CMatchChecker
class  CSubMatch
class  CTreeMatcher
class  ManipCommander
class  ManipController
class  ManipError
class  Manipulator
class  ManipulatorSequence
class  CopyManipulator
class  CutManipulator
class  KillManipulator
class  PasteManipulator
class  PasteBeforeManipulator
class  MoveManipulator
class  MoveBeforeManipulator
class  CKillManipulator
class  CCopyManipulator
class  CCopyBeforeManipulator
class  CMoveManipulator
class  CMoveBeforeManipulator
class  CReplaceManipulator
class  CSwapManipulator
class  MatchCollector
class  Rule
class  RuleTable
class  ACIntroAnalyzer
class  ACIntroducer
class  CT_AdviceDecl
 Tree node representing an advice declaration. More...
class  CT_OrderList
 Tree node representing an order list. More...
class  CT_OrderDecl
 Tree node representing an order declaration. More...
class  CT_PointcutDecl
 Tree node representing a pointcut declaration. More...
class  CT_Intro
 Tree node representing an introduction advice declaration. More...
class  CT_ClassSliceDecl
 Tree node representing a slice declaration for a class. More...
class  CT_SliceRef
 Tree node representing a slice reference. More...
class  Builder
 Syntax tree builder base class. More...
class  CConstant
 Semantic information object for arithmetic constants. More...
class  CCAssocScopes
class  CCBuilder
class  CCConversion
class  CCIdentityConv
class  CCLvalueToRvalueConv
class  CCArrayToPointerConv
class  CCFunctionToPointerConv
class  CCBooleanConv
class  CCIntegralConv
class  CCIntegralPromotion
class  CCFloatingPointConv
class  CCFloatingPointPromotion
class  CCFloatingIntegralConv
class  CCPointerConv
class  CCPointerToMemberConv
class  CCDerivedToBaseConv
class  CCQualificationConv
class  CCUserDefinedConv
class  CCConversions
class  CCConvSeq
class  CCStandardConvSeq
class  CCUserDefinedConvSeq
class  CCEllipsisConvSeq
class  CCInstantiation
class  CCNameLookup
class  CCOverloading
class  CCParser
class  CCSemantic
class  CCSemDeclarator
class  CCSemExpr
class  CCSemVisitor
class  CCSyntax
struct  DeducedArgument
class  InstantiationCandidate
class  CExprValue
 Base class for syntax tree nodes representing expressions that can be resolved to a constant value (arithmetic constants and string literals). More...
class  CBuilder
class  CLanguage
 Language specific encoding of entity names. More...
class  CLinkage
 Linkage of an entity name (object, function, etc). More...
class  CParser
 C parser abstraction. More...
class  CPrintVisitor
 Tree visitor for printing the C/C++ syntax tree. More...
class  CProject
class  CProtection
 Access protection of C++ class members for the purpose of member access control. More...
class  CSemantic
class  CSemDeclarator
 Class for analysing an entity declarator. More...
class  CSemDeclSpecs
 Class for analysing a sequence of declaration specifiers. More...
class  CSemExpr
class  CSemVisitor
class  CStorage
 Storage class of an object. More...
class  CStrLiteral
 String literal abstraction. More...
class  CSyntax
class  CTranslationUnit
 Abstraction of a translation unit. More...
class  CTree
 Base class for all C/C++ syntax tree classes. More...
class  CT_Error
 Error tree node that is inserted into the tree for syntactic constructs that could not be parsed. More...
class  CT_Token
 Tree node representing a single token in the source code. More...
class  CT_List
 Base class for tree nodes representing lists. More...
class  CT_ExprList
 Tree node representing an expression list. More...
class  CT_DeclaratorList
 Tree node representing a list of declarators. More...
class  CT_EnumeratorList
 Tree node representing a list of enumerator constants. More...
class  CT_DeclList
 Tree node representing a list of declarations. More...
class  CT_DeclSpecSeq
 Tree node representing a sequence of declaration specifiers. More...
class  CT_CmpdStmt
 Tree node representing a compound statement. More...
class  CT_HandlerSeq
 Tree node representing an exception handler sequence. More...
class  CT_TemplateParamList
 Tree node representing a template parameter list. More...
class  CT_TemplateArgList
 Tree node representing a template argument list. More...
class  CT_Expression
 Base class for all expression tree nodes. More...
class  CT_Call
 Tree node representing explicit or implicit function calls including built-in or user-defined functions and overloaded operators. More...
class  CT_ImplicitCall
 Tree node representing implicit function calls detected by the semantic analysis. More...
class  CT_String
 Tree node representing a string literal. More...
class  CT_WideString
 Tree node representing a wide string literal. More...
class  CT_Integer
 Tree node representing an integer constant. More...
class  CT_Character
 Tree node representing a single character constant. More...
class  CT_WideCharacter
 Tree node representing a wide character constant. More...
class  CT_Float
 Tree node representing a floating point constant. More...
class  CT_Bool
 Tree node representing a boolean literal. More...
class  CT_BracedExpr
 Tree node representing a braced expression. More...
class  CT_SimpleName
 Base class for all tree nodes representing a name. More...
class  CT_SpecialName
 Base class for tree nodes representing a special name, like destructor names. More...
class  CT_PrivateName
 Tree node representing a private name. More...
class  CT_DestructorName
 Tree node representing a destructor name. More...
class  CT_TemplateName
 Tree node representing a template name. More...
class  CT_OperatorName
 Tree node representing the name of an overloaded operator. More...
class  CT_ConversionName
 Tree node representing the name of a conversion function. More...
class  CT_QualName
 Tree node representing a qualified name. More...
class  CT_RootQualName
 Tree node representing a qualified name with introducing name separator. More...
class  CT_BinaryExpr
 Tree node representing a binary expression. More...
class  CT_MembPtrExpr
 Tree node representing a member pointer expression. More...
class  CT_MembRefExpr
 Tree node representing a member reference expression. More...
class  CT_UnaryExpr
 Base class for tree nodes representing unary expressions. More...
class  CT_PostfixExpr
 Tree node representing a postfix expression. More...
class  CT_AddrExpr
 Tree node representing an address expression. More...
class  CT_DerefExpr
 Tree node representing a pointer dereferencing expression. More...
class  CT_DeleteExpr
 Tree node representing a delete expression. More...
class  CT_NewExpr
 Tree node representing a new expression. More...
class  CT_IfThenExpr
 Tree node representing an if-then expression. More...
class  CT_CmpdLiteral
 Tree node representing a compound literal. More...
class  CT_ConstructExpr
 Tree node representing a construct expression. More...
class  CT_ThrowExpr
 Tree node representing a throw expression. More...
class  CT_IndexExpr
 Tree node representing an index expression. More...
class  CT_CallExpr
 Tree node representing a function call expression. More...
class  CT_CastExpr
 Tree node representing a cast expression. More...
class  CT_StaticCast
 Tree node representing a static cast. More...
class  CT_ConstCast
 Tree node representing a const cast. More...
class  CT_ReintCast
 Tree node representing a reinterpret cast. More...
class  CT_DynamicCast
 Tree node representing a dynamic cast. More...
class  CT_ImplicitCast
 Tree node representing an implicit cast. More...
class  CT_TypeidExpr
 Tree node representing a typeid expression. More...
class  CT_SizeofExpr
 Tree node representing a sizeof expression. More...
class  CT_IndexDesignator
 Tree node representing an index designator. More...
class  CT_MembDesignator
 Tree node representing a member designator. More...
class  CT_DesignatorSeq
 Tree node representing a designator sequence. More...
class  CT_DeclSpec
 Base class for all tree nodes representing declaration specifiers. More...
class  CT_PrimDeclSpec
 Tree node representing a primitive declaration specifier. More...
class  CT_NamedType
 Tree node representing a named type. More...
class  CT_ClassSpec
 Tree node representing a class specifier. More...
class  CT_UnionSpec
 Tree node representing a union specifier. More...
class  CT_EnumSpec
 Tree node representing an enumeration specifier. More...
class  CT_ExceptionSpec
 Tree node representing an exception specifier. More...
class  CT_Decl
 Base class for all tree nodes representing declarations. More...
class  CT_Program
 Root node of C/C++ syntax trees. More...
class  CT_ObjDecl
 Tree node representing an object declaration. More...
class  CT_TemplateDecl
 Tree node representing a template declaration. More...
class  CT_TemplateParamDecl
 Base class for all tree nodesrepresenting a template parameter declaration. More...
class  CT_NonTypeParamDecl
 Tree node representing a template non-type parameter declaration. More...
class  CT_TypeParamDecl
 Tree node representing a template type parameter declaration. More...
class  CT_EnumDef
 Tree node representing the definition of an enumeration. More...
class  CT_Enumerator
 Tree node representing a single enumeration constant. More...
class  CT_FctDef
 Tree node representing a function definition. More...
class  CT_AsmDef
 Tree node representing an inline assembly definition. More...
class  CT_Handler
 Tree node representing an exception handler. More...
class  CT_LinkageSpec
 Tree node representing a list of declaration with a specific linkage. More...
class  CT_ArgDecl
 Tree node representing the declaration of a function parameter. More...
class  CT_ArgDeclList
 Tree node representing a function parameter list. More...
class  CT_ArgDeclSeq
 Tree node representing a K&R function parameter declarations list. More...
class  CT_ArgNameList
 Tree node representing a K&R function parameter name list. More...
class  CT_NamespaceDef
 Tree node representing a namespace definition. More...
class  CT_NamespaceAliasDef
 Tree node representing a namespace alias definition. More...
class  CT_UsingDirective
 Tree node representing a namespace using directive. More...
class  CT_Declarator
 Base class for all tree nodes representing declarators. More...
class  CT_InitDeclarator
 Tree node representing a declarator with initializer. More...
class  CT_BracedDeclarator
 Tree node representing a braced declarator. More...
class  CT_ArrayDelimiter
 Tree node representing an array delimiter. More...
class  CT_ArrayDeclarator
 Tree node representing an array declarator. More...
class  CT_FctDeclarator
 Tree node representing a function declarator. More...
class  CT_RefDeclarator
 Tree node representing a reference declarator. More...
class  CT_PtrDeclarator
 Tree node representing a pointer declarator. More...
class  CT_MembPtrDeclarator
 Tree node representing a member pointer declarator. More...
class  CT_BitFieldDeclarator
 Tree node representing a bit-field declarator. More...
class  CT_Statement
 Base class for all tree nodes representing statements. More...
class  CT_LabelStmt
 Tree node representing a label statement. More...
class  CT_DefaultStmt
 Tree node representing a default statement of a switch statement. More...
class  CT_TryStmt
 Tree node representing a try-catch statement. More...
class  CT_CaseStmt
 Tree node representing a case statement. More...
class  CT_ExprStmt
 Tree node representing an expression statement. More...
class  CT_DeclStmt
 Tree node representing a declaration statement. More...
class  CT_SwitchStmt
 Tree node representing a switch statement. More...
class  CT_IfStmt
 Tree node representing a if-statement. More...
class  CT_IfElseStmt
 Tree node representing a if-else-statement. More...
class  CT_BreakStmt
 Tree node representing a break-statement. More...
class  CT_ContinueStmt
 Tree node representing a continue-statement. More...
class  CT_GotoStmt
 Tree node representing a goto-stmt. More...
class  CT_ReturnStmt
 Tree node representing a return-statement. More...
class  CT_WhileStmt
 Tree node representing a while-statement. More...
class  CT_DoStmt
 Tree node representing a do-while-statement. More...
class  CT_ForStmt
 Tree node representing a for-statement. More...
class  CT_Condition
 Tree node representing a control-statement condition. More...
class  CT_ClassDef
 Tree node representing a class definition. More...
class  CT_UnionDef
 Tree node representing the definition of a union. More...
class  CT_MembList
 Tree node representing a member declarations list. More...
class  CT_MembInitList
 Tree node representing a constructor initializer list. More...
class  CT_MembInit
 Tree node representing a member initializer. More...
class  CT_BaseSpecList
 Tree node representing a base specifier list. More...
class  CT_AccessSpec
 Tree node representing an access specifier. More...
class  CT_BaseSpec
 Tree node representing a base class specifier. More...
class  CT_AccessDecl
 Tree node representing a member access declaration. More...
class  CT_UsingDecl
 Tree node representing a using declaration. More...
class  CT_Any
 Tree node representing a wildcard. More...
class  CT_AnyList
 Tree node representing a list wildcard. More...
class  CT_AnyExtension
 Tree node representing a wildcard extension. More...
class  CT_AnyCondition
 Tree node representing the condition of a wildcard. More...
class  CUnit
 Specialized token unit for C/C++ tokens. More...
class  CSemObject
 Semantic information for syntax tree nodes referencing objects, classes, or any other entity. More...
class  CSemScope
 Scope information object for syntax tree nodes. More...
class  CSemValue
 Semantic information object about values in the syntax tree. More...
class  CVisitor
 Tree visitor implementation for CTree based syntax trees. More...
class  CWStrLiteral
 Wide string literal abstraction. More...
class  CT_GnuAsmSpec
 Tree node representing an extended inline assembly specifier. More...
class  CT_GnuAsmDef
 Tree node representing an extended inline assembly definition. More...
class  CT_GnuAsmOperand
 Tree node representing an extended inline assembly operand. More...
class  CT_GnuAsmOperands
 Tree node representing a list of extended inline assembly operands. More...
class  CT_GnuAsmClobbers
 Tree node representing a list of extended inline assembly clobbers. More...
class  CT_GnuStatementExpr
 Tree node representing a statement expression. More...
class  CT_GnuTypeof
 Tree node representing a typeof expression. More...
class  Parser
 Generic parser abstraction. More...
class  Semantic
 Semantic analysis base class. More...
class  Syntax
 Syntactic analysis base class. More...
class  TokenProvider
 Reads tokens from a token source. More...
class  Tracing
 Implements tracing support for the parser. More...
class  CT_AsmBlock
 Tree node representing an inline assembly block. More...
class  CCommentRecognizer
class  CRecognizer
class  CScanBuffer
class  CScanner
class  KeywordRecognizer
class  MappedOrangeRecognizer
struct  States
class  OrangeRecognizer
class  ScanBuffer

Typedefs

typedef long LONG_LONG
typedef unsigned long U_LONG_LONG
typedef DIR * DirHandle
typedef FILE * FileHandle
typedef map< string, ProjectFilePFMap
typedef PFMap::value_type PFMPair
typedef PFMap::const_iterator PFMConstIter
typedef CSemDatabase CClassDatabase
 Backward compatibility alias for CSemDatabase.

Enumerations

enum  PreMacroOpTokens {
  TOK_MO_HASH = 450,
  TOK_MO_HASHHASH
}
enum  ManipIgnoreMask {
  MIM_NONE = 0,
  MIM_UNBALANCED = 1
}
enum  CTokens {
  TOK_AT = 100,
  TOK_ZERO_VAL,
  TOK_INT_VAL,
  TOK_FLT_VAL,
  TOK_STRING_VAL,
  TOK_CHAR_VAL,
  TOK_COMMA,
  TOK_ASSIGN,
  TOK_QUESTION,
  TOK_OR,
  TOK_ROOF,
  TOK_AND,
  TOK_PLUS,
  TOK_MINUS,
  TOK_MUL,
  TOK_DIV,
  TOK_MODULO,
  TOK_LESS,
  TOK_GREATER,
  TOK_OPEN_ROUND,
  TOK_CLOSE_ROUND,
  TOK_OPEN_SQUARE,
  TOK_CLOSE_SQUARE,
  TOK_OPEN_CURLY,
  TOK_CLOSE_CURLY,
  TOK_SEMI_COLON,
  TOK_COLON,
  TOK_NOT,
  TOK_TILDE,
  TOK_DOT,
  TOK_MUL_EQ,
  TOK_DIV_EQ,
  TOK_MOD_EQ,
  TOK_ADD_EQ,
  TOK_SUB_EQ,
  TOK_LSH_EQ,
  TOK_RSH_EQ,
  TOK_AND_EQ,
  TOK_XOR_EQ,
  TOK_IOR_EQ,
  TOK_OR_OR,
  TOK_AND_AND,
  TOK_EQL,
  TOK_NEQ,
  TOK_LEQ,
  TOK_GEQ,
  TOK_LSH,
  TOK_RSH,
  TOK_DOT_STAR,
  TOK_PTS_STAR,
  TOK_INCR,
  TOK_DECR,
  TOK_PTS,
  TOK_COLON_COLON,
  TOK_ELLIPSIS,
  TOK_LAST_CORE = TOK_ELLIPSIS,
  TOK_ASM,
  TOK_AUTO,
  TOK_BREAK,
  TOK_CASE,
  TOK_CHAR,
  TOK_CONST,
  TOK_CONTINUE,
  TOK_DEFAULT,
  TOK_DO,
  TOK_DOUBLE,
  TOK_ELSE,
  TOK_ENUM,
  TOK_EXTERN,
  TOK_FLOAT,
  TOK_FOR,
  TOK_GOTO,
  TOK_IF,
  TOK_INLINE,
  TOK_INT,
  TOK_LONG,
  TOK_REGISTER,
  TOK_RESTRICT,
  TOK_RETURN,
  TOK_SHORT,
  TOK_SIGNED,
  TOK_SIZEOF,
  TOK_STATIC,
  TOK_STRUCT,
  TOK_SWITCH,
  TOK_TYPEDEF,
  TOK_UNION,
  TOK_UNSIGNED,
  TOK_VOID,
  TOK_VOLATILE,
  TOK_WCHAR_T,
  TOK_WHILE,
  TOK_ASM_2,
  TOK_ASM_3,
  TOK_C_BOOL,
  TOK_CONST_2,
  TOK_CONST_3,
  TOK_INLINE_2,
  TOK_INLINE_3,
  TOK_RESTRICT_2,
  TOK_RESTRICT_3,
  TOK_SIGNED_2,
  TOK_SIGNED_3,
  TOK_VOLATILE_2,
  TOK_VOLATILE_3,
  TOK_WCHAR_T_2,
  TOK_TYPEOF,
  TOK_TYPEOF_2,
  TOK_TYPEOF_3,
  TOK_INT64,
  TOK_CDECL,
  TOK_CDECL_2,
  TOK_STDCALL,
  TOK_STDCALL_2,
  TOK_FASTCALL,
  TOK_FASTCALL_2,
  TOK_IF_EXISTS,
  TOK_IF_NOT_EXISTS,
  TOK_LAST_C = TOK_IF_NOT_EXISTS,
  TOK_BOOL_VAL,
  TOK_BOOL,
  TOK_CATCH,
  TOK_CLASS,
  TOK_CONST_CAST,
  TOK_DELETE,
  TOK_DYN_CAST,
  TOK_EXPLICIT,
  TOK_EXPORT,
  TOK_FRIEND,
  TOK_MUTABLE,
  TOK_NAMESPACE,
  TOK_NEW,
  TOK_OPERATOR,
  TOK_PRIVATE,
  TOK_PROTECTED,
  TOK_PUBLIC,
  TOK_REINT_CAST,
  TOK_STAT_CAST,
  TOK_TEMPLATE,
  TOK_THIS,
  TOK_THROW,
  TOK_TRY,
  TOK_TYPEID,
  TOK_TYPENAME,
  TOK_USING,
  TOK_VIRTUAL,
  TOK_AND_AND_ISO_646,
  TOK_AND_EQ_ISO_646,
  TOK_AND_ISO_646,
  TOK_OR_ISO_646,
  TOK_TILDE_ISO_646,
  TOK_NOT_ISO_646,
  TOK_NEQ_ISO_646,
  TOK_OR_OR_ISO_646,
  TOK_IOR_EQ_ISO_646,
  TOK_ROOF_ISO_646,
  TOK_XOR_EQ_ISO_646,
  TOK_LAST_CC = TOK_XOR_EQ_ISO_646,
  TOK_POINTCUT,
  TOK_ASPECT,
  TOK_ADVICE,
  TOK_SLICE,
  TOK_UNKNOWN_T,
  TOK_LAST_AC = TOK_UNKNOWN_T,
  TOK_ID,
  TOK_EPSILON,
  TOK_NO
}
 Types of tokens for language C and C++. More...
enum  {
  TOK_WSPACE = 400,
  TOK_CCSINGLE = 350,
  TOK_CCMULTIBEGIN,
  TOK_CCMULTIEND,
  TOK_CCOMMENT
}
 White space and comment token types. More...
enum  CWildcardTokens {
  TOK_WC_AND = 500,
  TOK_WC_OR,
  TOK_WC_XOR,
  TOK_WC_SEQ,
  TOK_WC_IF,
  TOK_WC_ELIF,
  TOK_WC_ENDIF,
  TOK_WC_NOT,
  TOK_WC_EXACT,
  TOK_WC_FIRST,
  TOK_WC_LAST,
  TOK_WC_LEAF,
  TOK_WC_PRUNE,
  TOK_WC_COLLECT,
  TOK_WC_NODENAME,
  TOK_WC_ELEMENT,
  TOK_DO_EXPR,
  TOK_DO_EXPR_LIST,
  TOK_DO_ID_EXPR,
  TOK_DO_IDENTIFIER,
  TOK_DO_DECL_SPEC,
  TOK_DO_DECL_SPEC_SEQ,
  TOK_DO_INIT_DECLARATOR_LIST,
  TOK_DO_INIT_DECLARATOR,
  TOK_DO_DECLARATOR,
  TOK_DO_INIT,
  TOK_DO_ARG_DECL_SEQ,
  TOK_DO_FCT_BODY,
  TOK_DO_CLASS_SPEC,
  TOK_DO_MEMBER_SPEC,
  TOK_DO_MEMBER_DECL,
  TOK_DO_BASE_CLAUSE,
  TOK_DO_CTOR_INIT,
  TOK_DO_MEM_INIT,
  TOK_DO_STMT,
  TOK_DO_STMT_SEQ,
  TOK_ANY_EXPR,
  TOK_ANY_EXPR_LIST,
  TOK_ANY_ID_EXPR,
  TOK_ANY_IDENTIFIER,
  TOK_ANY_DECL_SPEC,
  TOK_ANY_DECL_SPEC_SEQ,
  TOK_ANY_INIT_DECLARATOR_LIST,
  TOK_ANY_INIT_DECLARATOR,
  TOK_ANY_DECLARATOR,
  TOK_ANY_INIT,
  TOK_ANY_ARG_DECL_SEQ,
  TOK_ANY_FCT_BODY,
  TOK_ANY_CLASS_SPEC,
  TOK_ANY_MEMBER_SPEC,
  TOK_ANY_MEMBER_DECL,
  TOK_ANY_BASE_CLAUSE,
  TOK_ANY_CTOR_INIT,
  TOK_ANY_MEM_INIT,
  TOK_ANY_STMT,
  TOK_ANY_STMT_SEQ,
  TOK_IS_CLASS,
  TOK_IS_ENUM,
  TOK_IS_TYPEDEF
}
 Types of wildcard tokens. More...

Functions

template<int N>
void * malloc ()
template<int N>
void free (void *p)
template<int N>
void clean ()
ostream & operator<< (ostream &os, const Printable &object)
 Output stream operator for Puma::Printable objects.
ostream & endvm (ostream &outs)
void endMessage (ErrorSink &)
std::ostream & operator<< (std::ostream &os, const Location &loc)
ostream & operator<< (ostream &os, const Token &object)
ostream & operator<< (ostream &out, const CExprValue &ev)
std::ostream & endu (std::ostream &outs)
 End-of-unit stream manipulator.

Variables

StrHashTable ___str_dict
 Global string hash table used by Puma::DString.
const ErrorSeverity sev_none
const ErrorSeverity sev_message
const ErrorSeverity sev_warning
const ErrorSeverity sev_error
const ErrorSeverity sev_fatal
CTypeInfo CTYPE_EMPTY
 Empty type.
CTypePrimitive CTYPE_BOOL
 bool
CTypePrimitive CTYPE_CHAR
 char
CTypePrimitive CTYPE_SIGNED_CHAR
 signed char
CTypePrimitive CTYPE_UNSIGNED_CHAR
 unsigned char
CTypePrimitive CTYPE_WCHAR_T
 wchar_t
CTypePrimitive CTYPE_SHORT
 short
CTypePrimitive CTYPE_UNSIGNED_SHORT
 unsigned short
CTypePrimitive CTYPE_INT
 int
CTypePrimitive CTYPE_UNSIGNED_INT
 unsigned int
CTypePrimitive CTYPE_LONG
 long
CTypePrimitive CTYPE_UNSIGNED_LONG
 unsigned long
CTypePrimitive CTYPE_LONG_LONG
 long long
CTypePrimitive CTYPE_UNSIGNED_LONG_LONG
 unsigned long long
CTypePrimitive CTYPE_FLOAT
 float
CTypePrimitive CTYPE_DOUBLE
 double
CTypePrimitive CTYPE_LONG_DOUBLE
 long double
CTypePrimitive CTYPE_VOID
 void
CTypePrimitive CTYPE_UNKNOWN_T
 unknown_t
CTypePrimitive CTYPE_UNDEFINED
 Undefined type.
CTypePrimitive CTYPE_ELLIPSIS
 Any type.
int TRACE_SCOPES


Typedef Documentation

Backward compatibility alias for CSemDatabase.

typedef DIR* Puma::DirHandle

typedef FILE* Puma::FileHandle

typedef long Puma::LONG_LONG

typedef map<string, ProjectFile> Puma::PFMap

typedef PFMap::const_iterator Puma::PFMConstIter

typedef PFMap::value_type Puma::PFMPair

typedef unsigned long Puma::U_LONG_LONG


Enumeration Type Documentation

anonymous enum

White space and comment token types.

These types can be compared to Puma::Token::type().

Enumerator:
TOK_WSPACE  Any white space block.

TOK_CCSINGLE  C++ style single line comment.

TOK_CCMULTIBEGIN  C style multi-line comment start token.

TOK_CCMULTIEND  C style multi-line comment end token.

TOK_CCOMMENT  Comment block.

Types of tokens for language C and C++.

These types can be compared to Puma::Token::type().

Enumerator:
TOK_AT  @
TOK_ZERO_VAL  0
TOK_INT_VAL  Integer constant.

TOK_FLT_VAL  Floating point constant.

TOK_STRING_VAL  String constant.

TOK_CHAR_VAL  Character constant.

TOK_COMMA  ,
TOK_ASSIGN  =
TOK_QUESTION  ?
TOK_OR  |
TOK_ROOF  ^
TOK_AND  &
TOK_PLUS  +
TOK_MINUS  -
TOK_MUL  *
TOK_DIV  /
TOK_MODULO  %
TOK_LESS  <
TOK_GREATER  >
TOK_OPEN_ROUND  (
TOK_CLOSE_ROUND  )
TOK_OPEN_SQUARE  [
TOK_CLOSE_SQUARE  ]
TOK_OPEN_CURLY  {
TOK_CLOSE_CURLY  }
TOK_SEMI_COLON  ;
TOK_COLON  :
TOK_NOT  !
TOK_TILDE  ~
TOK_DOT  "."
TOK_MUL_EQ  *=
TOK_DIV_EQ  /=
TOK_MOD_EQ  =
TOK_ADD_EQ  +=
TOK_SUB_EQ  -=
TOK_LSH_EQ  <<=
TOK_RSH_EQ  >>=
TOK_AND_EQ  &=
TOK_XOR_EQ  ^=
TOK_IOR_EQ  |=
TOK_OR_OR  ||
TOK_AND_AND  &&
TOK_EQL  ==
TOK_NEQ  !=
TOK_LEQ  <=
TOK_GEQ  >=
TOK_LSH  <<
TOK_RSH  >>
TOK_DOT_STAR  ".*"
TOK_PTS_STAR  ->*
TOK_INCR  ++
TOK_DECR  --
TOK_PTS  ->
TOK_COLON_COLON  ::
TOK_ELLIPSIS  "..."
TOK_LAST_CORE  Core token group separator for the scanner!
TOK_ASM  asm
TOK_AUTO  auto
TOK_BREAK  break
TOK_CASE  case
TOK_CHAR  char
TOK_CONST  const
TOK_CONTINUE  continue
TOK_DEFAULT  default
TOK_DO  do
TOK_DOUBLE  double
TOK_ELSE  else
TOK_ENUM  enum
TOK_EXTERN  extern
TOK_FLOAT  float
TOK_FOR  for
TOK_GOTO  goto
TOK_IF  if
TOK_INLINE  inline
TOK_INT  int
TOK_LONG  long
TOK_REGISTER  register
TOK_RESTRICT  restrict
TOK_RETURN  return
TOK_SHORT  short
TOK_SIGNED  signed
TOK_SIZEOF  sizeof
TOK_STATIC  static
TOK_STRUCT  struct
TOK_SWITCH  switch
TOK_TYPEDEF  typedef
TOK_UNION  union
TOK_UNSIGNED  unsigned
TOK_VOID  void
TOK_VOLATILE  volatile
TOK_WCHAR_T  wchar_t
TOK_WHILE  while
TOK_ASM_2  __asm
TOK_ASM_3  __asm__
TOK_C_BOOL  _Bool
TOK_CONST_2  __const
TOK_CONST_3  __const__
TOK_INLINE_2  __inline
TOK_INLINE_3  __inline__
TOK_RESTRICT_2  __restrict
TOK_RESTRICT_3  __restrict__
TOK_SIGNED_2  __signed
TOK_SIGNED_3  __signed__
TOK_VOLATILE_2  __volatile
TOK_VOLATILE_3  __volatile__
TOK_WCHAR_T_2  __wchar_t
TOK_TYPEOF  typeof
TOK_TYPEOF_2  __typeof
TOK_TYPEOF_3  __typeof__
TOK_INT64  __int64
TOK_CDECL  _cdecl
TOK_CDECL_2  __cdecl
TOK_STDCALL  _stdcall
TOK_STDCALL_2  __stdcall
TOK_FASTCALL  _fastcall
TOK_FASTCALL_2  __fastcall
TOK_IF_EXISTS  __if_exists
TOK_IF_NOT_EXISTS  __if_not_exists
TOK_LAST_C  C token group separator for the scanner!
TOK_BOOL_VAL  Boolean constant.

TOK_BOOL  bool
TOK_CATCH  catch
TOK_CLASS  class
TOK_CONST_CAST  const_cast
TOK_DELETE  delete
TOK_DYN_CAST  dynamic_cast
TOK_EXPLICIT  explicit
TOK_EXPORT  export
TOK_FRIEND  friend
TOK_MUTABLE  mutable
TOK_NAMESPACE  namespace
TOK_NEW  new
TOK_OPERATOR  operator
TOK_PRIVATE  private
TOK_PROTECTED  protected
TOK_PUBLIC  public
TOK_REINT_CAST  reinterpret_cast
TOK_STAT_CAST  static_cast
TOK_TEMPLATE  template
TOK_THIS  this
TOK_THROW  throw
TOK_TRY  try
TOK_TYPEID  typeid
TOK_TYPENAME  typename
TOK_USING  using
TOK_VIRTUAL  virtual
TOK_AND_AND_ISO_646  and
TOK_AND_EQ_ISO_646  and_eq
TOK_AND_ISO_646  bitand
TOK_OR_ISO_646  bitor
TOK_TILDE_ISO_646  compl
TOK_NOT_ISO_646  not
TOK_NEQ_ISO_646  not_eq
TOK_OR_OR_ISO_646  or
TOK_IOR_EQ_ISO_646  or_eq
TOK_ROOF_ISO_646  xor
TOK_XOR_EQ_ISO_646  xor_eq
TOK_LAST_CC  C++ token group separator for the scanner!
TOK_POINTCUT  pointcut
TOK_ASPECT  aspect
TOK_ADVICE  advice
TOK_SLICE  slice
TOK_UNKNOWN_T  unknown_t
TOK_LAST_AC  AspectC++ token group separator for the scanner!
TOK_ID  Any identifier that is not a keyword.

TOK_EPSILON  Epsilon.

TOK_NO  Number of known token types.

Types of wildcard tokens.

These types can be compared to Puma::Token::type().

Enumerator:
TOK_WC_AND 
TOK_WC_OR 
TOK_WC_XOR 
TOK_WC_SEQ 
TOK_WC_IF 
TOK_WC_ELIF 
TOK_WC_ENDIF 
TOK_WC_NOT 
TOK_WC_EXACT 
TOK_WC_FIRST 
TOK_WC_LAST 
TOK_WC_LEAF 
TOK_WC_PRUNE 
TOK_WC_COLLECT 
TOK_WC_NODENAME 
TOK_WC_ELEMENT 
TOK_DO_EXPR 
TOK_DO_EXPR_LIST 
TOK_DO_ID_EXPR 
TOK_DO_IDENTIFIER 
TOK_DO_DECL_SPEC 
TOK_DO_DECL_SPEC_SEQ 
TOK_DO_INIT_DECLARATOR_LIST 
TOK_DO_INIT_DECLARATOR 
TOK_DO_DECLARATOR 
TOK_DO_INIT 
TOK_DO_ARG_DECL_SEQ 
TOK_DO_FCT_BODY 
TOK_DO_CLASS_SPEC 
TOK_DO_MEMBER_SPEC 
TOK_DO_MEMBER_DECL 
TOK_DO_BASE_CLAUSE 
TOK_DO_CTOR_INIT 
TOK_DO_MEM_INIT 
TOK_DO_STMT 
TOK_DO_STMT_SEQ 
TOK_ANY_EXPR 
TOK_ANY_EXPR_LIST 
TOK_ANY_ID_EXPR 
TOK_ANY_IDENTIFIER 
TOK_ANY_DECL_SPEC 
TOK_ANY_DECL_SPEC_SEQ 
TOK_ANY_INIT_DECLARATOR_LIST 
TOK_ANY_INIT_DECLARATOR 
TOK_ANY_DECLARATOR 
TOK_ANY_INIT 
TOK_ANY_ARG_DECL_SEQ 
TOK_ANY_FCT_BODY 
TOK_ANY_CLASS_SPEC 
TOK_ANY_MEMBER_SPEC 
TOK_ANY_MEMBER_DECL 
TOK_ANY_BASE_CLAUSE 
TOK_ANY_CTOR_INIT 
TOK_ANY_MEM_INIT 
TOK_ANY_STMT 
TOK_ANY_STMT_SEQ 
TOK_IS_CLASS 
TOK_IS_ENUM 
TOK_IS_TYPEDEF 

Enumerator:
MIM_NONE 
MIM_UNBALANCED 

Enumerator:
TOK_MO_HASH 
TOK_MO_HASHHASH 


Function Documentation

template<int N>
void Puma::clean (  )  [inline]

void Puma::endMessage ( ErrorSink &   ) 

std::ostream& Puma::endu ( std::ostream &  outs  )  [inline]

End-of-unit stream manipulator.

Triggers scanning the C/C++ source code stream.

Parameters:
outs The Puma::CUnit stream object.

ostream& Puma::endvm ( ostream &  outs  )  [inline]

template<int N>
void Puma::free ( void *  p  )  [inline]

template<int N>
void* Puma::malloc (  )  [inline]

ostream& Puma::operator<< ( ostream &  out,
const CExprValue &  ev 
) [inline]

ostream& Puma::operator<< ( ostream &  os,
const Token &  object 
) [inline]

std::ostream& Puma::operator<< ( std::ostream &  os,
const Location &  loc 
) [inline]

ostream& Puma::operator<< ( ostream &  os,
const Printable &  object 
) [inline]

Output stream operator for Puma::Printable objects.

Calls method Printable::print() on the output stream.

Parameters:
os The output stream.
object The object to print.


Variable Documentation

Global string hash table used by Puma::DString.

bool

char

double

Any type.

Empty type.

float

int

long

long double

long long

short

signed char

Undefined type.

unknown_t

unsigned char

unsigned int

unsigned long

unsigned long long

unsigned short

void

wchar_t




Puma Reference Manual. Created on 5 Nov 2008.