|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Stable type graph for the compiler-support MVP. More...
#include <initializer_list>#include <sstream>#include <string>#include <utility>#include <ah-errors.H>#include <tpl_dynArray.H>Go to the source code of this file.
Classes | |
| struct | Aleph::Compiler_Type |
| One node inside the type graph. More... | |
| class | Aleph::Compiler_Type_Context |
| Context owning all compiler type nodes. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
Typedefs | |
| using | Aleph::Compiler_Type_Id = size_t |
Enumerations | |
| enum class | Aleph::Compiler_Type_Kind { Aleph::Builtin , Aleph::Tuple , Aleph::Function , Aleph::Struct , Aleph::Enum , Aleph::Type_Variable } |
| Category of one stored type node. More... | |
| enum class | Aleph::Compiler_Builtin_Type { Aleph::Invalid , Aleph::Unit , Aleph::Bool , Aleph::Integer , Aleph::String , Aleph::Character } |
| Built-in scalar types available in the MVP type graph. More... | |
Functions | |
| const char * | Aleph::compiler_type_kind_name (const Compiler_Type_Kind kind) noexcept |
| Returns a stable debug name for a type kind. | |
| const char * | Aleph::compiler_builtin_type_name (const Compiler_Builtin_Type builtin) noexcept |
| Returns a stable debug name for a built-in type. | |
Stable type graph for the compiler-support MVP.
This header introduces a compact type representation that can be shared by parsers, semantic analyzers, and future inference passes. Types are owned by Compiler_Type_Context and referenced through stable integer identifiers.
The current model is intentionally small:
struct and enum typesThis layer is independent from the AST on purpose. It can be reused by a hand-written parser, a yacc-generated parser, or a future typed IR.
Definition in file Compiler_Types.H.