|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Reusable bytecode format and lowering from Compiler_IR_Model.H.
More...
#include <cctype>#include <cstdlib>#include <limits>#include <sstream>#include <string>#include <utility>#include <Compiler_IR_Model.H>#include <ah-arena.H>#include <ah-errors.H>#include <tpl_dynArray.H>Go to the source code of this file.
Classes | |
| struct | Aleph::Compiler_Bytecode_Constant |
| One constant stored in a function-level constant pool. More... | |
| struct | Aleph::Compiler_Bytecode_Instruction |
| One lowered bytecode instruction. More... | |
| struct | Aleph::Compiler_Bytecode_Block_Info |
| Debug metadata that maps original IR basic blocks to bytecode PCs. More... | |
| struct | Aleph::Compiler_Bytecode_Function |
| Bytecode for one lowered function or top-level body. More... | |
| struct | Aleph::Compiler_Bytecode_Module |
| Bytecode module sharing global slot layout with the source IR module. More... | |
| class | Aleph::Compiler_Bytecode_Context |
| Arena-backed ownership context for bytecode functions and modules. More... | |
| struct | Aleph::Compiler_Bytecode_Context::Owned_Object |
| struct | Aleph::Compiler_Bytecode_Validation_Report |
| Structural validation report for one bytecode function or module. More... | |
| class | Aleph::Compiler_Bytecode_Lowering |
| Lowers explicit IR into register-based bytecode. More... | |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
| namespace | Aleph::Compiler_Bytecode_Detail |
Typedefs | |
| using | Aleph::Compiler_Bytecode_Register_Id = size_t |
| using | Aleph::Compiler_Bytecode_Constant_Id = size_t |
| using | Aleph::Compiler_Bytecode_Function_Id = size_t |
| using | Aleph::Compiler_Bytecode_Block_Id = size_t |
| using | Aleph::Compiler_Bytecode_PC = size_t |
Enumerations | |
| enum class | Aleph::Compiler_Bytecode_Constant_Kind { Aleph::Unit , Aleph::Boolean , Aleph::Integer , Aleph::String , Aleph::Character , Aleph::Raw_Text } |
| Constant kinds supported by the bytecode constant pool. More... | |
| enum class | Aleph::Compiler_Bytecode_Opcode { Aleph::Load_Constant , Aleph::Load_Local , Aleph::Store_Local , Aleph::Load_Global , Aleph::Store_Global , Aleph::Load_Function , Aleph::Unary , Aleph::Binary , Aleph::Call , Aleph::Jump , Aleph::Branch , Aleph::Return , Aleph::Halt , Aleph::Trap } |
| VM opcodes supported by the bytecode MVP. More... | |
Reusable bytecode format and lowering from Compiler_IR_Model.H.
This header defines the first VM-oriented intermediate format in the compiler platform. Compared with Compiler_IR_Model.H, the bytecode layer is deliberately closer to execution:
The current MVP is intentionally register-based instead of stack-based. That keeps lowering from IR direct and deterministic while still providing a compact, VM-friendly format for the future Bytecode_Interpreter.H.
The current header includes:
Definition in file Bytecode.H.