cecko
Classes | Typedefs
cktables.hpp File Reference
#include "ckir.hpp"
#include <memory>
#include <functional>
#include <type_traits>
#include <unordered_set>
#include <unordered_map>
#include <optional>
Include dependency graph for cktables.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  cecko::CINamePtr
 The common base for all named objects. More...
 
struct  cecko::CKTypeRefPack
 Type descriptor with optional "const" flag. More...
 
struct  cecko::CKTypeRefSafePack
 Type descriptor with optional "const" flag. More...
 
class  cecko::CIAbstractType
 Abstract type descriptor. More...
 
class  cecko::CKVoidType
 The built-in "void" type. More...
 
class  cecko::CKBoolType
 The built-in "_Bool" type. More...
 
class  cecko::CKCharType
 The built-in "char" type. More...
 
class  cecko::CKIntType
 The built-in "int" type. More...
 
class  cecko::CKPtrType
 Pointer type descriptor. More...
 
class  cecko::CKArrayType
 Array type descriptor. More...
 
class  cecko::CKStructElement
 Struct element descriptor. More...
 
struct  cecko::CKStructItem
 Temporary struct element descriptor. More...
 
class  cecko::CKStructType
 Struct type descriptor. More...
 
class  cecko::CKEnumType
 Enumeration type descriptor. More...
 
class  cecko::CKFunctionType
 Function type descriptor. More...
 
class  cecko::CKAbstractNamed
 Abstract named-object (constant, variable, or function) descriptor. More...
 
class  cecko::CKTypedef
 Typedef descriptor. More...
 
class  cecko::CKConstant
 Enumeration constant descriptor. More...
 
class  cecko::CKVar
 Common base of variable descriptors. More...
 
class  cecko::CKGlobalVar
 Global variable descriptor. More...
 
struct  cecko::CKFunctionFormalPack
 Temporary additional function argument descriptor. More...
 
class  cecko::CKFunction
 Function descriptor. More...
 
class  cecko::CKLocalVar
 Local variable descriptor. More...
 
struct  cecko::CKContext
 Semantic layer of compiler context. More...
 

Typedefs

using cecko::loc_t = unsigned
 Line number in the compiled source file.
 
using cecko::CKTypeObs = const CIAbstractType *
 Pointer to a type descriptor (CIAbstractType)
 
using cecko::CKTypeSafeObs = safe_ptr< const CIAbstractType, safe_default< const CKVoidType > >
 Safe pointer to a type descriptor (CIAbstractType)
 
using cecko::CIName = std::string
 Identifier as represented in the attribute of a IDF/TYPEIDF token.
 
using cecko::CKStructElementObs = const CKStructElement *
 Pointer to a struct element descriptor (CKStructElement)
 
using cecko::CKStructElementSafeObs = safe_ptr< const CKStructElement >
 Safe pointer to a struct element descriptor (CKStructElement)
 
using cecko::CKStructItemArray = std::vector< CKStructItem >
 A temporary array of struct element descriptors (CKStructItem)
 
using cecko::CKConstantConstObs = const CKConstant *
 Pointer to an enumeration constant descriptor (CKConstant)
 
using cecko::CKConstantConstSafeObs = safe_ptr< const CKConstant >
 Safe pointer to an enumeration constant descriptor (CKConstant)
 
using cecko::CKConstantObsVector = std::vector< CKConstantConstObs >
 Temporary vector of enumeration constant descriptors (CKConstantConstObs)
 
using cecko::CKTypeObsArray = std::vector< CKTypeObs >
 Array of (function argument) type descriptors (CKTypeObs)
 
using cecko::CKVoidTypeObs = const CKVoidType *
 Built-in "void" type descriptor (CKVoidType)
 
using cecko::CKVoidTypeSafeObs = safe_ptr< const CKVoidType >
 Built-in "void" type descriptor (CKVoidType)
 
using cecko::CKBoolTypeObs = const CKBoolType *
 Built-in "_Bool" type descriptor (CKBoolType)
 
using cecko::CKBoolTypeSafeObs = safe_ptr< const CKBoolType >
 Built-in "_Bool" type descriptor (CKBoolType)
 
using cecko::CKCharTypeObs = const CKCharType *
 Built-in "char" type descriptor (CKCharType)
 
using cecko::CKCharTypeSafeObs = safe_ptr< const CKCharType >
 Built-in "char" type descriptor (CKCharType)
 
using cecko::CKIntTypeObs = const CKIntType *
 Built-in "int" type descriptor (CKIntType)
 
using cecko::CKIntTypeSafeObs = safe_ptr< const CKIntType >
 Built-in "int" type descriptor (CKIntType)
 
using cecko::CKPtrTypeSafeObs = safe_ptr< const CKPtrType >
 Pointer type descriptor (CKPtrType)
 
using cecko::CKArrayTypeSafeObs = safe_ptr< const CKArrayType >
 Array type descriptor (CKArrayType)
 
using cecko::CKFunctionTypeObs = const CKFunctionType *
 Function type descriptor (CKFunctionType)
 
using cecko::CKFunctionTypeSafeObs = safe_ptr< const CKFunctionType >
 Function type descriptor (CKFunctionType)
 
using cecko::CKStructTypeObs = CKStructType *
 Struct type descriptor (CKStructType)
 
using cecko::CKStructTypeSafeObs = safe_ptr< CKStructType >
 Struct type descriptor (CKStructType)
 
using cecko::CKEnumTypeObs = CKEnumType *
 Enumeration type descriptor (CKEnumType)
 
using cecko::CKEnumTypeSafeObs = safe_ptr< CKEnumType >
 Enumeration type descriptor (CKEnumType)
 
using cecko::CKNamedObs = CKAbstractNamed *
 Pointer to a named-object (constant, variable, or function) descriptor (CKAbstractNamed)
 
using cecko::CKNamedSafeObs = safe_ptr< CKAbstractNamed, safe_default< CKConstant > >
 Safe pointer to a named-object (constant, variable, or function) descriptor (CKAbstractNamed)
 
using cecko::CKTypedefConstObs = const CKTypedef *
 Typedef descriptor (CKTypedef)
 
using cecko::CKTypedefConstSafeObs = safe_ptr< const CKTypedef >
 Typedef descriptor (CKTypedef)
 
using cecko::CINameOpt = std::optional< CIName >
 Optional (function argument) name.
 
using cecko::CKFunctionFormalPackArray = std::vector< CKFunctionFormalPack >
 Temporary array of additional function argument descriptors (CKFunctionFormalPack)
 
using cecko::CKFunctionObs = CKFunction *
 Function descriptor (CKFunction)
 
using cecko::CKFunctionSafeObs = safe_ptr< CKFunction >
 Function descriptor (CKFunction)
 

Detailed Description

cktables.hpp

Semantic tables.