Projektrahmen: Cargo-Workspace, README und PLAN
Workspace mit sechs Crates (tb-frontend, tb-vm, tb-runtime, tb-ui, tb-cli, tb-ide) als Geruest fuer die Re-Implementierung des DOS-BASIC-Dialekts. Binaries: tbdos (IDE/TUI) und tbdosc (Standalone-Compiler). PLAN.md dokumentiert Phasen, Explorations- schritte und die Abwaegung der VM-/Runtime-Optionen (Entscheidung: eigene Bytecode-VM, TBVM). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
12
crates/tb-vm/Cargo.toml
Normal file
12
crates/tb-vm/Cargo.toml
Normal file
@@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "tb-vm"
|
||||
description = "Terminal Basic: Bytecode-Definition, Codegenerator und virtuelle Maschine"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
authors.workspace = true
|
||||
|
||||
[dependencies]
|
||||
tb-frontend.workspace = true
|
||||
thiserror.workspace = true
|
||||
log.workspace = true
|
||||
3
crates/tb-vm/src/bytecode.rs
Normal file
3
crates/tb-vm/src/bytecode.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
//! Bytecode-Format der TBVM: Opcodes, Konstantenpool, Modul-/Prozedurtabellen.
|
||||
|
||||
// Platzhalter — wird in Phase 2 ausgearbeitet (siehe PLAN.md)
|
||||
3
crates/tb-vm/src/codegen.rs
Normal file
3
crates/tb-vm/src/codegen.rs
Normal file
@@ -0,0 +1,3 @@
|
||||
//! Codegenerator: übersetzt den typgeprüften AST aus `tb-frontend` in TBVM-Bytecode.
|
||||
|
||||
// Platzhalter — wird in Phase 2 ausgearbeitet (siehe PLAN.md)
|
||||
6
crates/tb-vm/src/interp.rs
Normal file
6
crates/tb-vm/src/interp.rs
Normal file
@@ -0,0 +1,6 @@
|
||||
//! Interpreterschleife der TBVM.
|
||||
//!
|
||||
//! Läuft kooperativ: die Ausführung kann an Anweisungsgrenzen angehalten werden
|
||||
//! (Debugger, Ereignisverarbeitung der Forms-Engine, Strg+Untbr).
|
||||
|
||||
// Platzhalter — wird in Phase 2 ausgearbeitet (siehe PLAN.md)
|
||||
13
crates/tb-vm/src/lib.rs
Normal file
13
crates/tb-vm/src/lib.rs
Normal file
@@ -0,0 +1,13 @@
|
||||
//! Virtuelle Maschine für Terminal Basic (TBVM).
|
||||
//!
|
||||
//! Eigene Stack-basierte Bytecode-VM (Entscheidung siehe PLAN.md, Abschnitt
|
||||
//! „VM-/Runtime-Optionen"). Kernanforderungen:
|
||||
//! - Serialisierbares Bytecode-Format (`.tbc`) als Compiler-Ziel
|
||||
//! - Unterbrechbar/wiederaufnehmbar für Debugger (Einzelschritt, Breakpoints)
|
||||
//! und für die ereignisgesteuerte Forms-Hauptschleife
|
||||
//! - BASIC-Fehlersemantik (`ON ERROR GOTO`, `RESUME`, `ERR`/`ERL`)
|
||||
//! - `GOSUB`/`RETURN` neben regulären Prozeduraufrufen
|
||||
|
||||
pub mod bytecode;
|
||||
pub mod codegen;
|
||||
pub mod interp;
|
||||
Reference in New Issue
Block a user