cecko
|
#include "ckir.hpp"
#include <memory>
#include <functional>
#include <type_traits>
#include <unordered_set>
#include <unordered_map>
#include <optional>
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) | |
Semantic tables.