|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Simple portable VM for executing the register bytecode in Bytecode.H.
More...
#include <sstream>#include <string>#include <utility>#include <Bytecode.H>#include <Interpreter_Runtime.H>Go to the source code of this file.
Classes | |
| struct | Aleph::Compiler_Bytecode_Value |
| One value stored in bytecode registers, locals, or globals. More... | |
| struct | Aleph::Compiler_Bytecode_Runtime_Error |
| Structured runtime error produced by the bytecode VM. More... | |
| struct | Aleph::Compiler_Bytecode_Execution_Result |
| Result of one bytecode execution request. More... | |
| class | Aleph::Compiler_Bytecode_VM |
Small portable VM for executing one Compiler_Bytecode_Module. More... | |
| struct | Aleph::Compiler_Bytecode_VM::Frame |
Namespaces | |
| namespace | Aleph |
| Main namespace for Aleph-w library functions. | |
| namespace | Aleph::Compiler_Bytecode_Interpreter_Detail |
Enumerations | |
| enum class | Aleph::Compiler_Bytecode_Value_Kind { Aleph::Invalid , Aleph::Value , Aleph::Function_Ref } |
| Runtime categories that can live inside bytecode registers/slots. More... | |
| enum class | Aleph::Compiler_Bytecode_Completion_Kind { Aleph::Returned , Aleph::Halted , Aleph::Runtime_Error } |
| Final status produced by one VM execution request. More... | |
Simple portable VM for executing the register bytecode in Bytecode.H.
This header closes the first end-to-end execution loop over the compiler platform:
HIR -> IR -> Bytecode -> Bytecode_Interpreter
The VM is intentionally conservative and explicit:
Bytecode.HInterpreter_Runtime.H can be injected into globalsThe execution model is deliberately small. It is meant to be easy to read, validate, and extend before any future optimized backend or threaded VM.
Definition in file Bytecode_Interpreter.H.