PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma Namespace Reference

Classes

class  ACIntroducer
 
class  Array
 Variable length array implementation. More...
 
class  Array< Item * >
 Variable length array implementation specialized for pointer types. More...
 
class  BCList
 List of fixed-size buckets. More...
 
class  BCStack
 Stack of fixed-size buckets. More...
 
class  Builder
 Syntax tree builder base class. 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  CBuilder
 
class  CCandidateInfo
 Representation of a candidate for the C++ function overload resolution mechanism. More...
 
class  CCArrayToPointerConv
 
class  CCAssocScopes
 
class  CCBooleanConv
 
class  CCBuilder
 
class  CCConversion
 
class  CCConversions
 
class  CCConvSeq
 
class  CCDerivedToBaseConv
 
class  CCEllipsisConvSeq
 
class  CCFloatingIntegralConv
 
class  CCFloatingPointConv
 
class  CCFloatingPointPromotion
 
class  CCFunctionToPointerConv
 
class  CCIdentityConv
 
class  CCInstantiation
 
class  CCIntegralConv
 
class  CCIntegralPromotion
 
class  CClassInfo
 Semantic information about a class. More...
 
class  CClassInstance
 Semantic information about an instance of a class template. More...
 
class  CCLexer
 
class  CCLvalueToRvalueConv
 
class  CCNameLookup
 
class  CConstant
 Semantic information object for arithmetic constants. More...
 
class  CCopyBeforeManipulator
 
class  CCopyManipulator
 
class  CCOverloading
 
class  CCParser
 
class  CCPointerConv
 
class  CCPointerToMemberConv
 
class  CCQualificationConv
 
class  CCSemantic
 
class  CCSemDeclarator
 
class  CCSemExpr
 
class  CCSemVisitor
 
class  CCStandardConvSeq
 
class  CCSyntax
 
class  CCUserDefinedConv
 
class  CCUserDefinedConvSeq
 
class  CEnumeratorInfo
 Semantic information about an enumeration constant. More...
 
class  CEnumInfo
 Semantic information about an enumeration. More...
 
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  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  Chain
 Simple single-linked chain implementation. More...
 
class  CKillManipulator
 
class  CLabelInfo
 Semantic information about a jump label. More...
 
class  CLanguage
 Language specific encoding of entity names. More...
 
class  CLexer
 
class  CLexerBuffer
 
class  CLinkage
 Linkage of an entity name (object, function, etc). More...
 
class  CLocalScope
 Semantic information about a local scope in a function body, also called block scope. More...
 
class  CMatch
 
class  CMatchChecker
 
class  CMemberAliasInfo
 Semantic information about a member alias. More...
 
class  CMoveBeforeManipulator
 
class  CMoveManipulator
 
class  CNamespaceInfo
 Semantic information about a user-defined namespace. More...
 
class  CObjectInfo
 Abstract base class of all semantic information classes. More...
 
class  Config
 Load and hold PUMA configuration options in the correct order from the command line or a configuration file. More...
 
class  ConfOption
 Configuration option abstraction. More...
 
class  ConstSizeMemPool
 Constant size memory block pool. More...
 
class  CopyManipulator
 
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  CRecord
 Semantic information about a class or union. More...
 
class  CReplaceManipulator
 
class  CScanner
 
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  CSemantic
 
class  CSemDatabase
 Semantic information database. More...
 
class  CSemDeclarator
 Class for analysing an entity declarator. More...
 
class  CSemDeclSpecs
 Class for analysing a sequence of declaration specifiers. More...
 
class  CSemExpr
 
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  CSemVisitor
 
class  CSourceInfo
 Source file information for an entity. More...
 
class  CSpecifiers
 C/C++ declaration specifiers for the declaration of an entity. More...
 
class  CStorage
 Storage class of an object. More...
 
class  CStrLiteral
 String literal abstraction. More...
 
class  CStructure
 Base class of all semantic information classes for entities that can contain other entity declarations (like classes, namespaces, functions). More...
 
class  CSubMatch
 
class  CSwapManipulator
 
class  CSyntax
 
class  CT_AccessDecl
 Tree node representing a member access declaration. More...
 
class  CT_AccessSpec
 Tree node representing an access specifier. More...
 
class  CT_AddrExpr
 Tree node representing an address expression. More...
 
class  CT_AlignofExpr
 Tree node representing an alignof expression. More...
 
class  CT_Any
 Tree node representing a wildcard. More...
 
class  CT_AnyCondition
 Tree node representing the condition of a wildcard. More...
 
class  CT_AnyExtension
 Tree node representing a wildcard extension. More...
 
class  CT_AnyList
 Tree node representing a list wildcard. 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_ArrayDeclarator
 Tree node representing an array declarator. More...
 
class  CT_ArrayDelimiter
 Tree node representing an array delimiter. More...
 
class  CT_AsmBlock
 Tree node representing an inline assembly block. More...
 
class  CT_AsmDef
 Tree node representing an inline assembly definition. More...
 
class  CT_BaseSpec
 Tree node representing a base class specifier. More...
 
class  CT_BaseSpecList
 Tree node representing a base specifier list. More...
 
class  CT_BinaryExpr
 Tree node representing a binary expression. More...
 
class  CT_BitFieldDeclarator
 Tree node representing a bit-field declarator. More...
 
class  CT_Bool
 Tree node representing a boolean literal. More...
 
class  CT_BracedDeclarator
 Tree node representing a braced declarator. More...
 
class  CT_BracedExpr
 Tree node representing a braced expression. More...
 
class  CT_BreakStmt
 Tree node representing a break-statement. 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_CallExpr
 Tree node representing a function call expression. More...
 
class  CT_CaseStmt
 Tree node representing a case statement. More...
 
class  CT_CastExpr
 Tree node representing a cast expression. More...
 
class  CT_Character
 Tree node representing a single character constant. More...
 
class  CT_ClassDef
 Tree node representing a class definition. More...
 
class  CT_ClassSpec
 Tree node representing a class specifier. More...
 
class  CT_CmpdLiteral
 Tree node representing a compound literal. More...
 
class  CT_CmpdStmt
 Tree node representing a compound statement. More...
 
class  CT_Condition
 Tree node representing a control-statement condition. More...
 
class  CT_ConstCast
 Tree node representing a const cast. More...
 
class  CT_ConstructExpr
 Tree node representing a construct expression. More...
 
class  CT_ContinueStmt
 Tree node representing a continue-statement. More...
 
class  CT_ConversionName
 Tree node representing the name of a conversion function. More...
 
class  CT_Decl
 Base class for all tree nodes representing declarations. More...
 
class  CT_Declarator
 Base class for all tree nodes representing declarators. More...
 
class  CT_DeclaratorList
 Tree node representing a list of declarators. More...
 
class  CT_DeclList
 Tree node representing a list of declarations. More...
 
class  CT_DeclSpec
 Base class for all tree nodes representing declaration specifiers. More...
 
class  CT_DeclSpecSeq
 Tree node representing a sequence of declaration specifiers. More...
 
class  CT_DeclStmt
 Tree node representing a declaration statement. More...
 
class  CT_DefaultStmt
 Tree node representing a default statement of a switch statement. More...
 
class  CT_DelayedParse
 Tree node representing a piece of code to be parsed delayed. More...
 
class  CT_DelayedParseConstInit
 Tree node representing a delayed constant initializer. More...
 
class  CT_DelayedParseCtorInit
 Tree node representing a delayed constructor initializer. More...
 
class  CT_DelayedParseFctBody
 Tree node representing a delayed function body. More...
 
class  CT_DelayedParseFctTryBlock
 Tree node representing a delayed function try-block. More...
 
class  CT_DelayedParseParamInit
 Tree node representing a delayed parameter initializer. More...
 
class  CT_DelayedParsePureSpec
 Tree node representing a delayed pure specifier. More...
 
class  CT_DelayedParseSkippedFctBody
 Tree node representing a delayed skipped function body. More...
 
class  CT_DeleteExpr
 Tree node representing a delete expression. More...
 
class  CT_DerefExpr
 Tree node representing a pointer dereferencing expression. More...
 
class  CT_DesignatorSeq
 Tree node representing a designator sequence. More...
 
class  CT_DestructorName
 Tree node representing a destructor name. More...
 
class  CT_DoStmt
 Tree node representing a do-while-statement. More...
 
class  CT_DynamicCast
 Tree node representing a dynamic cast. 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_EnumeratorList
 Tree node representing a list of enumerator constants. More...
 
class  CT_EnumSpec
 Tree node representing an enumeration specifier. More...
 
class  CT_Error
 Error tree node that is inserted into the tree for syntactic constructs that could not be parsed. More...
 
class  CT_ExceptionSpec
 Tree node representing an exception specifier. More...
 
class  CT_Expression
 Base class for all expression tree nodes. More...
 
class  CT_ExprList
 Tree node representing an expression list. More...
 
class  CT_ExprStmt
 Tree node representing an expression statement. More...
 
class  CT_ExtensionList
 Tree node representing a sequence of compiler specific extensions such as attribute((...)) nodes. More...
 
class  CT_FctDeclarator
 Tree node representing a function declarator. More...
 
class  CT_FctDef
 Tree node representing a function definition. More...
 
class  CT_Float
 Tree node representing a floating point constant. More...
 
class  CT_ForStmt
 Tree node representing a for-statement. More...
 
class  CT_GnuAsmClobbers
 Tree node representing a list of extended inline assembly clobbers. 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_GnuAsmSpec
 Tree node representing an extended inline assembly specifier. More...
 
class  CT_GnuAttribute
 Tree node representing a attribute (gnu c syntax extension) Example: More...
 
class  CT_GnuCaseStmt
 Tree node representing a label statement with case range. More...
 
class  CT_GnuLocalLabelStmt
 Tree node representing a list of local labels. More...
 
class  CT_GnuStatementExpr
 Tree node representing a statement expression. More...
 
class  CT_GnuTypeof
 Tree node representing a typeof expression. More...
 
class  CT_GotoStmt
 Tree node representing a goto-stmt. More...
 
class  CT_Handler
 Tree node representing an exception handler. More...
 
class  CT_HandlerSeq
 Tree node representing an exception handler sequence. More...
 
class  CT_IfElseStmt
 Tree node representing a if-else-statement. More...
 
class  CT_IfStmt
 Tree node representing a if-statement. More...
 
class  CT_IfThenExpr
 Tree node representing an if-then expression. More...
 
class  CT_ImplicitCall
 Tree node representing implicit function calls detected by the semantic analysis. More...
 
class  CT_ImplicitCast
 Tree node representing an implicit cast. More...
 
class  CT_IndexDesignator
 Tree node representing an index designator. More...
 
class  CT_IndexExpr
 Tree node representing an index expression. More...
 
class  CT_InitDeclarator
 Tree node representing a declarator with initializer. More...
 
class  CT_Integer
 Tree node representing an integer constant. More...
 
class  CT_LabelStmt
 Tree node representing a label statement. More...
 
class  CT_LinkageSpec
 Tree node representing a list of declaration with a specific linkage. More...
 
class  CT_List
 Base class for tree nodes representing lists. More...
 
class  CT_MembDesignator
 Tree node representing a member designator. More...
 
class  CT_MembInit
 Tree node representing a member initializer. More...
 
class  CT_MembInitList
 Tree node representing a constructor initializer list. More...
 
class  CT_MembList
 Tree node representing a member declarations list. More...
 
class  CT_MembPtrDeclarator
 Tree node representing a member pointer declarator. 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_NamedType
 Tree node representing a named type. More...
 
class  CT_NamespaceAliasDef
 Tree node representing a namespace alias definition. More...
 
class  CT_NamespaceDef
 Tree node representing a namespace definition. More...
 
class  CT_NewExpr
 Tree node representing a new expression. More...
 
class  CT_NonTypeParamDecl
 Tree node representing a template non-type parameter declaration. More...
 
class  CT_ObjDecl
 Tree node representing an object declaration. More...
 
class  CT_OffsetofExpr
 Tree node representing an offsetof expression. More...
 
class  CT_OperatorName
 Tree node representing the name of an overloaded operator. More...
 
class  CT_PostfixExpr
 Tree node representing a postfix expression. More...
 
class  CT_PrimDeclSpec
 Tree node representing a primitive declaration specifier. More...
 
class  CT_PrivateName
 Tree node representing a private name. More...
 
class  CT_Program
 Root node of C/C++ syntax trees. More...
 
class  CT_PtrDeclarator
 Tree node representing a pointer declarator. More...
 
class  CT_QualName
 Tree node representing a qualified name. More...
 
class  CT_RefDeclarator
 Tree node representing a reference declarator. More...
 
class  CT_ReintCast
 Tree node representing a reinterpret cast. More...
 
class  CT_ReturnStmt
 Tree node representing a return-statement. More...
 
class  CT_RootQualName
 Tree node representing a qualified name with introducing name separator. More...
 
class  CT_SimpleName
 Base class for all tree nodes representing a name. More...
 
class  CT_SizeofExpr
 Tree node representing a sizeof expression. More...
 
class  CT_SpecialName
 Base class for tree nodes representing a special name, like destructor names. More...
 
class  CT_Statement
 Base class for all tree nodes representing statements. More...
 
class  CT_StaticAssert
 Tree node representing a C++1X static_assert declaration. More...
 
class  CT_StaticCast
 Tree node representing a static cast. More...
 
class  CT_String
 Tree node representing a string literal. More...
 
class  CT_SwitchStmt
 Tree node representing a switch statement. More...
 
class  CT_TemplateArgList
 Tree node representing a template argument list. More...
 
class  CT_TemplateDecl
 Tree node representing a template declaration. More...
 
class  CT_TemplateName
 Tree node representing a template name. More...
 
class  CT_TemplateParamDecl
 Base class for all tree nodesrepresenting a template parameter declaration. More...
 
class  CT_TemplateParamList
 Tree node representing a template parameter list. More...
 
class  CT_ThrowExpr
 Tree node representing a throw expression. More...
 
class  CT_Token
 Tree node representing a single token in the source code. More...
 
class  CT_TryStmt
 Tree node representing a try-catch statement. More...
 
class  CT_TypeidExpr
 Tree node representing a typeid expression. More...
 
class  CT_TypeParamDecl
 Tree node representing a template type parameter declaration. More...
 
class  CT_TypeTraitExpr
 Tree node representing an type trait expression. More...
 
class  CT_UnaryExpr
 Base class for tree nodes representing unary expressions. More...
 
class  CT_UnionDef
 Tree node representing the definition of a union. More...
 
class  CT_UnionSpec
 Tree node representing a union specifier. More...
 
class  CT_UsingDecl
 Tree node representing a using declaration. More...
 
class  CT_UsingDirective
 Tree node representing a namespace using directive. More...
 
class  CT_WhileStmt
 Tree node representing a while-statement. More...
 
class  CT_WideCharacter
 Tree node representing a wide character constant. More...
 
class  CT_WideString
 Tree node representing a wide string literal. 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  CTranslationUnit
 Abstraction of a translation unit. More...
 
class  CTree
 Base class for all C/C++ syntax tree classes. More...
 
class  CTreeMatcher
 
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  CUnit
 Specialized token unit for C/C++ tokens. More...
 
class  CUsingInfo
 Semantic information about a using-directive. More...
 
class  CutManipulator
 
class  CVisitor
 Tree visitor implementation for CTree based syntax trees. More...
 
class  CWStrLiteral
 Wide string literal abstraction. More...
 
struct  DeducedArgument
 
class  DString
 Global dictionary based string container. More...
 
class  ErrorCollector
 Error stream implementation that collects all messages in an internal message stack. More...
 
class  ErrorSeverity
 Severity of errors represented by a short integer and a textual representation. More...
 
class  ErrorSink
 This is an interface for classes that may be used to consume error messages during a process where many errors can occur like parsing a program. More...
 
class  ErrorStream
 An error stream is a special ErrorSink that prints out an error message as soon as it is complete. More...
 
class  FdSource
 File descriptor wrapper implementing the Source interface. More...
 
class  FileInfo
 File information. More...
 
class  Filename
 Abstraction of a filename using a smart pointer for automatic memory allocation / deallocation. More...
 
class  FilenameInfo
 Information about a filename supporting Puma::SmartPtr. More...
 
class  FileSource
 File wrapper implementing the Source interface. More...
 
class  FileUnit
 Special Unit for files. More...
 
class  Heap
 Heap implementation using standard malloc and free. More...
 
class  ImportHandler
 
class  InstantiationBuilder
 
class  InstantiationCandidate
 
class  InstantiationParser
 
class  InstantiationSemantic
 
class  InstantiationSyntax
 
class  InstantiationTokenProvider
 Provides token infos (token pointer + context) from a syntax tree. More...
 
class  InstantiationTokenSource
 
class  KeyboardSource
 Keyboard input wrapper implementing the Source interface. More...
 
class  KillManipulator
 
class  LanguageID
 A language ID is a unique identifier for a language. More...
 
class  Lexer
 
class  LexerBuffer
 
struct  LexerMap
 
class  List
 Double-linked list implementation. More...
 
class  ListElement
 Double-linked list element type to be used as elements for class List. More...
 
class  Location
 Location of a token in a source file. More...
 
class  MacroUnit
 Specialized unit for preprocessor macro expansions. More...
 
class  ManipCommander
 
class  ManipController
 
class  ManipError
 
class  Manipulator
 
class  ManipulatorSequence
 
class  MatchCollector
 
class  MemPool
 Memory pool implementation based on a linked list of memory blocks. More...
 
class  MoveBeforeManipulator
 
class  MoveManipulator
 
class  OptsParser
 The options parser searches command line parameters for options and handles their option arguments, if applicable. More...
 
class  Parser
 Generic parser abstraction. More...
 
class  ParserKey
 Options parser key helper. More...
 
class  PasteBeforeManipulator
 
class  PasteManipulator
 
class  PathInfo
 A path information object consists of a source and optionally its destination path. More...
 
class  PathIterator
 A path iterator is used to iterate the contents of the paths a project is managing. More...
 
class  PathManager
 Source and destination path and file management. More...
 
class  Pipe
 Pipe between an input source and an output sink. More...
 
class  PipedCmd
 Executes a shell command and gives access to the output of the command. More...
 
class  PreAnswer
 
class  PreArgDesc
 
class  PreAssertDirective
 Preprocessor tree node representing an #assert directive. More...
 
class  PreAssertionEvaluator
 
class  PreConditionalGroup
 Preprocessor tree node representing a group of conditional directives. More...
 
class  PreCondSemNode
 Preprocessor semantic tree node for conditions. More...
 
class  PreDefineConstantDirective
 Preprocessor tree node representing a #define directive for constants. More...
 
class  PreDefineFunctionDirective
 Preprocessor tree node representing a #define directive for function-like macros. More...
 
class  PreDirectiveGroups
 Preprocessor tree node representing the directive groups in the program. More...
 
class  PreElifDirective
 Preprocessor tree node representing an #elif directive. More...
 
class  PreElifPart
 Preprocessor tree node representing a group of directives in the #elif part of an #if conditional. More...
 
class  PreElseDirective
 Preprocessor tree node representing an #else directive. More...
 
class  PreElsePart
 Preprocessor tree node representing a group of directives in the #else part of an #if conditional. More...
 
class  PreEndifDirective
 Preprocessor tree node representing an #endif directive. More...
 
class  PreError
 Preprocessor tree node representing a parse error. More...
 
class  PreErrorDirective
 Preprocessor tree node representing an #error directive. More...
 
class  PreExpr
 
class  PreExprLexer
 
class  PreFileIncluder
 
class  PreIdentifierList
 Preprocessor tree node representing the identifier list of a function-like macro definition. More...
 
class  PreIfdefDirective
 Preprocessor tree node representing an #ifdef directive. More...
 
class  PreIfDirective
 Preprocessor tree node representing an #if directive. More...
 
class  PreIfndefDirective
 Preprocessor tree node representing an #ifndef directive. More...
 
class  PreInclSemNode
 Preprocessor semantic tree node for the #include directive containing the unit to include. More...
 
class  PreIncludeDirective
 Preprocessor tree node representing an #include or #include_next directive. More...
 
class  PreLevelState
 
class  PreMacro
 
class  PreMacroExpander
 
class  PreMacroManager
 
class  PreParserState
 
class  PrePredicate
 
class  PrePredicateManager
 
class  PrePrintVisitor
 
class  PreprocessorParser
 
class  PreProgram
 The root node of the preprocessor syntax tree. More...
 
class  PreSemIterator
 
class  PreSonIterator
 
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  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  PreTreeToken
 Preprocessor syntax tree leaf class representing a token. More...
 
class  PreUnassertDirective
 Preprocessor tree node representing an #unassert directive. More...
 
class  PreUndefDirective
 Preprocessor tree node representing an #undef directive. More...
 
class  PreVisitor
 
class  PreWarningDirective
 Preprocessor tree node representing a #warning directive. More...
 
class  Printable
 Provides that possibility for an object to be used with output streams (std::ostream). More...
 
class  Project
 A project is a set of source directories. More...
 
class  ProjectFile
 Project file abstraction used to store all filenames relevant for a specific file. More...
 
class  PtrStack
 Layered stack for pointers to objects. More...
 
class  RegComp
 Regular expression matching. More...
 
class  Rule
 
class  RuleTable
 
class  SaveMode
 Project file save modes. More...
 
class  Semantic
 Semantic analysis base class. More...
 
class  SimpleParser
 Simple string tokenizer taking a string and providing a list of the tokens recognized. More...
 
class  Sink
 Output sink interface. More...
 
class  SmartPtr
 Template based smart pointer implementation. More...
 
class  Source
 Interface for all input sources. More...
 
class  Stack
 Stack implementation based on a variable length array. More...
 
class  StrCol
 Collection of string helper functions. More...
 
class  StrHashKey
 String hash table key. More...
 
class  StrHashTable
 String hash table backed by a fixed size array of single-linked chains. More...
 
class  StringSource
 String input source implementation implementing the Source interface. More...
 
class  Syntax
 Syntactic analysis base class. More...
 
class  SysCall
 Encapsulates system dependent file system operations. More...
 
class  TerminalSink
 Terminal sink implementation. More...
 
class  Token
 Abstraction of a lexical token. More...
 
class  TokenInfo
 Provides information about a token as it is needed by the parser. More...
 
class  Tokenizer
 Tokenizers read input from a Source to form tokens which are stored in a Unit. More...
 
class  TokenProvider
 Reads tokens from a token source. More...
 
class  TokenSource
 Token source interface. More...
 
class  TokenStream
 Continuous token stream from a stack of token units, such as include files and files included by these files (nested includes). More...
 
class  Tracing
 Implements tracing support for the parser. More...
 
class  Unit
 Token chain abstraction of a source file or string. More...
 
class  UnitIterator
 Token unit iterator supporting iteration from the beginning of a unit or any token within that unit. More...
 
class  UnitManager
 Class to manage the units built to parse the files of the source project. More...
 
class  UnitState
 Unit state information, like modification state and time of last modification. More...
 
class  UnitTokenSrc
 Token unit iterator implementing the token source interface. More...
 
class  VerboseMgr
 Indented output stream with a adjustable verbosity level. More...
 
class  VoidPtrArray
 Array implementation specialized for void pointers. More...
 

Typedefs

typedef long LONG_LONG
 Type long long. More...
 
typedef unsigned long U_LONG_LONG
 Type unsigned long long. More...
 
typedef DIR * DirHandle
 Directory handle type. More...
 
typedef FILE * FileHandle
 File handle type. More...
 
typedef CSemDatabase CClassDatabase
 Backward compatibility alias for CSemDatabase. More...
 

Enumerations

enum  DirEntryType {
  DET_REGULAR ,
  DET_DIRECTORY ,
  DET_LINK ,
  DET_OTHER ,
  DET_NOT_IMPLEMENTED
}
 SysCall.h Puma/SysCall.h Directory entry types. More...
 
enum  PreMacroOpTokens {
  TOK_MO_HASH = 450 ,
  TOK_MO_HASHHASH
}
 
enum  ManipIgnoreMask {
  MIM_NONE = 0 ,
  MIM_UNBALANCED = 1 ,
  MIM_MACRO = 2
}
 
enum  ManipMode {
  MM_NO_MACRO_MANIP ,
  MM_EXPAND_MACROS
}
 
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_FIRST_CORE = TOK_AT ,
  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_WHILE ,
  TOK_FIRST_C = TOK_ASM ,
  TOK_LAST_C = TOK_WHILE ,
  TOK_ASM_2 ,
  TOK_INLINE_2 ,
  TOK_FIRST_EXT_C = TOK_ASM_2 ,
  TOK_LAST_EXT_C = TOK_INLINE_2 ,
  TOK_ALIGNOF ,
  TOK_ALIGNOF_2 ,
  TOK_ALIGNOF_3 ,
  TOK_ASM_3 ,
  TOK_C_BOOL ,
  TOK_CONST_2 ,
  TOK_CONST_3 ,
  TOK_INLINE_3 ,
  TOK_INT128 ,
  TOK_OFFSETOF ,
  TOK_RESTRICT_2 ,
  TOK_RESTRICT_3 ,
  TOK_SIGNED_2 ,
  TOK_SIGNED_3 ,
  TOK_VOLATILE_2 ,
  TOK_VOLATILE_3 ,
  TOK_THREAD ,
  TOK_TYPEOF ,
  TOK_TYPEOF_2 ,
  TOK_TYPEOF_3 ,
  TOK_TYPEOF_4 ,
  TOK_ATTRIBUTE ,
  TOK_EXTENSION ,
  TOK_PSV ,
  TOK_PMP ,
  TOK_LABEL ,
  TOK_EXTERNAL ,
  TOK_FIRST_GNUC = TOK_ALIGNOF ,
  TOK_LAST_GNUC = TOK_EXTERNAL ,
  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_FIRST_VC = TOK_INT64 ,
  TOK_LAST_VC = 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_WCHAR_T ,
  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_FIRST_CC = TOK_BOOL_VAL ,
  TOK_LAST_CC = TOK_XOR_EQ_ISO_646 ,
  TOK_WCHAR_T_2 ,
  TOK_FIRST_EXT_CC = TOK_WCHAR_T_2 ,
  TOK_LAST_EXT_CC = TOK_WCHAR_T_2 ,
  TOK_FIRST_GNUCC ,
  TOK_LAST_GNUCC ,
  TOK_HAS_NOTHROW_ASSIGN ,
  TOK_HAS_NOTHROW_COPY ,
  TOK_HAS_NOTHROW_CTOR ,
  TOK_HAS_TRIVIAL_ASSIGN ,
  TOK_HAS_TRIVIAL_COPY ,
  TOK_HAS_TRIVIAL_CTOR ,
  TOK_HAS_TRIVIAL_DTOR ,
  TOK_HAS_VIRTUAL_DTOR ,
  TOK_IS_ABSTRACT ,
  TOK_IS_BASE_OF ,
  TOK_IS_CLASS ,
  TOK_IS_EMPTY ,
  TOK_IS_ENUM ,
  TOK_IS_POD ,
  TOK_IS_TRIVIAL ,
  TOK_IS_POLYMORPHIC ,
  TOK_IS_UNION ,
  TOK_FIRST_TYPETRAIT = TOK_HAS_NOTHROW_ASSIGN ,
  TOK_LAST_TYPETRAIT = TOK_IS_UNION ,
  TOK_STATIC_ASSERT ,
  TOK_FIRST_CC1X = TOK_STATIC_ASSERT ,
  TOK_LAST_CC1X = TOK_STATIC_ASSERT ,
  TOK_POINTCUT ,
  TOK_ASPECT ,
  TOK_ADVICE ,
  TOK_SLICE ,
  TOK_UNKNOWN_T ,
  TOK_FIRST_AC = TOK_POINTCUT ,
  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_WC_IS_CLASS ,
  TOK_WC_IS_ENUM ,
  TOK_WC_IS_TYPEDEF
}
 Types of wildcard tokens. More...
 

Functions

template<int N>
void * malloc ()
 Constant size memory block pool variant of malloc(). More...
 
template<int N>
void free (void *block)
 Constant size memory block pool variant of free(). More...
 
template<int N>
void clean ()
 Short-cut function for calling method clean() on the corresponding fixed size memory block pool instance. More...
 
std::ostream & operator<< (std::ostream &os, const Printable &object)
 Output stream operator for Printable objects. More...
 
std::ostream & endvm (std::ostream &outs)
 Finish a VerboseMgr message and write it on the destination output stream if the verbosity level is not yet reached. More...
 
void endMessage (ErrorSink &err)
 Finish the current error message on the given error sink. More...
 
std::ostream & operator<< (std::ostream &out, const Location &location)
 Output stream operator to print the given location on the given output stream. More...
 
std::ostream & operator<< (std::ostream &os, const Token &object)
 
std::ostream & operator<< (std::ostream &out, const CExprValue &ev)
 
std::ostream & endu (std::ostream &outs)
 End-of-unit stream manipulator. More...
 
void utf8_encode (LONG_LONG i, char *&p, long int &ct)
 
LONG_LONG utf8_scan (const char *&s, bool eight_digits)
 

Variables

const ErrorSeverity sev_none
 Error has no severity. More...
 
const ErrorSeverity sev_message
 Informal message. More...
 
const ErrorSeverity sev_warning
 A warning. More...
 
const ErrorSeverity sev_error
 An error. More...
 
const ErrorSeverity sev_fatal
 A fatal error. More...
 
CTypeInfo CTYPE_EMPTY
 Empty type. More...
 
CTypePrimitive CTYPE_BOOL
 bool More...
 
CTypePrimitive CTYPE_C_BOOL
 _Bool More...
 
CTypePrimitive CTYPE_CHAR
 char More...
 
CTypePrimitive CTYPE_SIGNED_CHAR
 signed char More...
 
CTypePrimitive CTYPE_UNSIGNED_CHAR
 unsigned char More...
 
CTypePrimitive CTYPE_WCHAR_T
 wchar_t More...
 
CTypePrimitive CTYPE_SHORT
 short More...
 
CTypePrimitive CTYPE_UNSIGNED_SHORT
 unsigned short More...
 
CTypePrimitive CTYPE_INT
 int More...
 
CTypePrimitive CTYPE_UNSIGNED_INT
 unsigned int More...
 
CTypePrimitive CTYPE_LONG
 long More...
 
CTypePrimitive CTYPE_UNSIGNED_LONG
 unsigned long More...
 
CTypePrimitive CTYPE_LONG_LONG
 long long More...
 
CTypePrimitive CTYPE_UNSIGNED_LONG_LONG
 unsigned long long More...
 
CTypePrimitive CTYPE_INT128
 __int128 More...
 
CTypePrimitive CTYPE_UNSIGNED_INT128
 unsigned __int128 More...
 
CTypePrimitive CTYPE_FLOAT
 float More...
 
CTypePrimitive CTYPE_DOUBLE
 double More...
 
CTypePrimitive CTYPE_LONG_DOUBLE
 long double More...
 
CTypePrimitive CTYPE_VOID
 void More...
 
CTypePrimitive CTYPE_UNKNOWN_T
 unknown_t More...
 
CTypePrimitive CTYPE_UNDEFINED
 Undefined type. More...
 
CTypePrimitive CTYPE_ELLIPSIS
 Any type. More...
 
int TRACE_SCOPES
 

Typedef Documentation

◆ CClassDatabase

Backward compatibility alias for CSemDatabase.

◆ DirHandle

typedef DIR* Puma::DirHandle

Directory handle type.

◆ FileHandle

typedef FILE* Puma::FileHandle

File handle type.

◆ LONG_LONG

typedef long Puma::LONG_LONG

Type long long.

◆ U_LONG_LONG

typedef unsigned long Puma::U_LONG_LONG

Type unsigned long long.

Enumeration Type Documentation

◆ anonymous enum

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.

◆ CTokens

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_FIRST_CORE 

Core token group separator for the scanner!

TOK_LAST_CORE 
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_WHILE 

while

TOK_FIRST_C 

C token group separator for the scanner!

TOK_LAST_C 
TOK_ASM_2 

__asm

TOK_INLINE_2 

__inline

TOK_FIRST_EXT_C 

Common C extension token group separator for the scanner!

TOK_LAST_EXT_C 
TOK_ALIGNOF 

__alignof

TOK_ALIGNOF_2 

__alignof

TOK_ALIGNOF_3 

alignof

TOK_ASM_3 

asm

TOK_C_BOOL 

_Bool

TOK_CONST_2 

__const

TOK_CONST_3 

const

TOK_INLINE_3 

inline

TOK_INT128 

__int128

TOK_OFFSETOF 

__builtin_offsetof

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_THREAD 

__thread

TOK_TYPEOF 

typeof

TOK_TYPEOF_2 

__typeof

TOK_TYPEOF_3 

typeof

TOK_TYPEOF_4 

__decltype

TOK_ATTRIBUTE 

attribute

TOK_EXTENSION 

extension

TOK_PSV 

psv

TOK_PMP 

pmp

TOK_LABEL 

label

TOK_EXTERNAL 

external

TOK_FIRST_GNUC 

GNU C extension token group separator for the scanner!

TOK_LAST_GNUC 
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_FIRST_VC 

Visual C/C++ extension token group separator for the scanner!

TOK_LAST_VC 
TOK_BOOL_VAL 

true, false

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_WCHAR_T 

wchar_t

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_FIRST_CC 

C++ token group separator for the scanner!

TOK_LAST_CC 
TOK_WCHAR_T_2 

__wchar_t

TOK_FIRST_EXT_CC 

Common C++ extension token group separator for the scanner!

TOK_LAST_EXT_CC 
TOK_FIRST_GNUCC 

GNU C++ extension token group separator for the scanner!

TOK_LAST_GNUCC 
TOK_HAS_NOTHROW_ASSIGN 

__has_nothrow_assign

TOK_HAS_NOTHROW_COPY 

__has_nothrow_copy

TOK_HAS_NOTHROW_CTOR 

__has_nothrow_constructor

TOK_HAS_TRIVIAL_ASSIGN 

__has_trivial_assign

TOK_HAS_TRIVIAL_COPY 

__has_trivial_copy

TOK_HAS_TRIVIAL_CTOR 

__has_trivial_constructor

TOK_HAS_TRIVIAL_DTOR 

__has_trivial_destructor

TOK_HAS_VIRTUAL_DTOR 

__has_virtual_destructor

TOK_IS_ABSTRACT 

__is_abstract

TOK_IS_BASE_OF 

__is_base_of

TOK_IS_CLASS 

__is_class

TOK_IS_EMPTY 

__is_empty

TOK_IS_ENUM 

__is_enum

TOK_IS_POD 

__is_pod

TOK_IS_TRIVIAL 

__is_trivial

TOK_IS_POLYMORPHIC 

__is_polymorphic

TOK_IS_UNION 

__is_union

TOK_FIRST_TYPETRAIT 

GNU C++ extension token group separator for the scanner!

TOK_LAST_TYPETRAIT 
TOK_STATIC_ASSERT 

static_assert

TOK_FIRST_CC1X 

C++1X extension token group separator for the scanner!

TOK_LAST_CC1X 
TOK_POINTCUT 

pointcut

TOK_ASPECT 

aspect

TOK_ADVICE 

advice

TOK_SLICE 

slice

TOK_UNKNOWN_T 

unknown_t

TOK_FIRST_AC 

AspectC++ extension token group separator for the scanner!

TOK_LAST_AC 
TOK_ID 

Any identifier that is not a keyword.

TOK_EPSILON 

Epsilon.

TOK_NO 

Number of known token types.

◆ CWildcardTokens

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_WC_IS_CLASS 
TOK_WC_IS_ENUM 
TOK_WC_IS_TYPEDEF 

◆ DirEntryType

SysCall.h Puma/SysCall.h Directory entry types.

Enumerator
DET_REGULAR 

Regular file.

DET_DIRECTORY 

Directory.

DET_LINK 

Symbolic link.

DET_OTHER 

Other kind of directory entry.

DET_NOT_IMPLEMENTED 

Not implemented directory entry type.

◆ ManipIgnoreMask

Enumerator
MIM_NONE 
MIM_UNBALANCED 
MIM_MACRO 

◆ ManipMode

Enumerator
MM_NO_MACRO_MANIP 
MM_EXPAND_MACROS 

◆ PreMacroOpTokens

Enumerator
TOK_MO_HASH 
TOK_MO_HASHHASH 

Function Documentation

◆ clean()

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

Short-cut function for calling method clean() on the corresponding fixed size memory block pool instance.

Template Parameters
NThe block size.

◆ endMessage()

void Puma::endMessage ( ErrorSink err)

Finish the current error message on the given error sink.

Parameters
errThe error sink.

◆ endu()

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

End-of-unit stream manipulator.

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

Parameters
outsThe Puma::CUnit stream object.

◆ endvm()

std::ostream & Puma::endvm ( std::ostream &  outs)
inline

Finish a VerboseMgr message and write it on the destination output stream if the verbosity level is not yet reached.

Parameters
outsThe VerboseMgr stream.
Returns
A reference to the input VerboseMgr stream.

◆ free()

template<int N>
void Puma::free ( void *  block)
inline

Constant size memory block pool variant of free().

Template Parameters
NThe block size.
Parameters
blockPointer to the memory block to free.

◆ malloc()

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

Constant size memory block pool variant of malloc().

Template Parameters
NThe block size.
Returns
A pointer to the memory block.

◆ operator<<() [1/4]

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

Output stream operator for Printable objects.

Parameters
osThe output stream.
objectThe object to print.
Returns
A reference to the output stream.

◆ operator<<() [2/4]

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

◆ operator<<() [3/4]

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

◆ operator<<() [4/4]

std::ostream & Puma::operator<< ( std::ostream &  out,
const Location location 
)
inline

Output stream operator to print the given location on the given output stream.

Parameters
outThe output stream.
locationThe location to print.
Returns
A reference to the output stream.

◆ utf8_encode()

void Puma::utf8_encode ( LONG_LONG  i,
char *&  p,
long int &  ct 
)

◆ utf8_scan()

LONG_LONG Puma::utf8_scan ( const char *&  s,
bool  eight_digits 
)

Variable Documentation

◆ CTYPE_BOOL

CTypePrimitive Puma::CTYPE_BOOL
extern

bool

◆ CTYPE_C_BOOL

CTypePrimitive Puma::CTYPE_C_BOOL
extern

_Bool

◆ CTYPE_CHAR

CTypePrimitive Puma::CTYPE_CHAR
extern

char

◆ CTYPE_DOUBLE

CTypePrimitive Puma::CTYPE_DOUBLE
extern

double

◆ CTYPE_ELLIPSIS

CTypePrimitive Puma::CTYPE_ELLIPSIS
extern

Any type.

◆ CTYPE_EMPTY

CTypeInfo Puma::CTYPE_EMPTY
extern

Empty type.

◆ CTYPE_FLOAT

CTypePrimitive Puma::CTYPE_FLOAT
extern

float

◆ CTYPE_INT

CTypePrimitive Puma::CTYPE_INT
extern

int

◆ CTYPE_INT128

CTypePrimitive Puma::CTYPE_INT128
extern

__int128

◆ CTYPE_LONG

CTypePrimitive Puma::CTYPE_LONG
extern

long

◆ CTYPE_LONG_DOUBLE

CTypePrimitive Puma::CTYPE_LONG_DOUBLE
extern

long double

◆ CTYPE_LONG_LONG

CTypePrimitive Puma::CTYPE_LONG_LONG
extern

long long

◆ CTYPE_SHORT

CTypePrimitive Puma::CTYPE_SHORT
extern

short

◆ CTYPE_SIGNED_CHAR

CTypePrimitive Puma::CTYPE_SIGNED_CHAR
extern

signed char

◆ CTYPE_UNDEFINED

CTypePrimitive Puma::CTYPE_UNDEFINED
extern

Undefined type.

◆ CTYPE_UNKNOWN_T

CTypePrimitive Puma::CTYPE_UNKNOWN_T
extern

unknown_t

◆ CTYPE_UNSIGNED_CHAR

CTypePrimitive Puma::CTYPE_UNSIGNED_CHAR
extern

unsigned char

◆ CTYPE_UNSIGNED_INT

CTypePrimitive Puma::CTYPE_UNSIGNED_INT
extern

unsigned int

◆ CTYPE_UNSIGNED_INT128

CTypePrimitive Puma::CTYPE_UNSIGNED_INT128
extern

unsigned __int128

◆ CTYPE_UNSIGNED_LONG

CTypePrimitive Puma::CTYPE_UNSIGNED_LONG
extern

unsigned long

◆ CTYPE_UNSIGNED_LONG_LONG

CTypePrimitive Puma::CTYPE_UNSIGNED_LONG_LONG
extern

unsigned long long

◆ CTYPE_UNSIGNED_SHORT

CTypePrimitive Puma::CTYPE_UNSIGNED_SHORT
extern

unsigned short

◆ CTYPE_VOID

CTypePrimitive Puma::CTYPE_VOID
extern

void

◆ CTYPE_WCHAR_T

CTypePrimitive Puma::CTYPE_WCHAR_T
extern

wchar_t

◆ sev_error

const ErrorSeverity Puma::sev_error
extern

An error.

◆ sev_fatal

const ErrorSeverity Puma::sev_fatal
extern

A fatal error.

◆ sev_message

const ErrorSeverity Puma::sev_message
extern

Informal message.

◆ sev_none

const ErrorSeverity Puma::sev_none
extern

Error has no severity.

◆ sev_warning

const ErrorSeverity Puma::sev_warning
extern

A warning.

◆ TRACE_SCOPES

int Puma::TRACE_SCOPES
extern