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:
51
README.md
Normal file
51
README.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# Terminal Basic
|
||||
|
||||
Eine plattformübergreifende Re-Implementierung des letzten großen BASIC-Dialekts
|
||||
für DOS (1992) — Sprache, Laufzeitbibliothek, Forms-Engine und IDE — in Rust,
|
||||
mit [Ratatui](https://ratatui.rs) als Terminal-UI-Schicht.
|
||||
|
||||
> Dieses Projekt ist eine unabhängige Neuentwicklung und steht in keiner
|
||||
> Verbindung zu Microsoft. Produktnamen Dritter werden bewusst nicht verwendet.
|
||||
|
||||
## Ziele
|
||||
|
||||
- **Volle Sprachkompatibilität**: alle Sprachelemente des Dialekts —
|
||||
Prozeduren (`SUB`/`FUNCTION`), benutzerdefinierte Typen, `GOSUB`,
|
||||
`ON ERROR`/`RESUME`, Typ-Suffixe, feste und dynamische Arrays,
|
||||
`PRINT USING`, `DATA`/`READ` usw.
|
||||
- **Volle Library-Kompatibilität für die DOS-Oberflächenprogrammierung**:
|
||||
die ereignisgesteuerte Forms-Engine mit allen Steuerelementen, Menüs,
|
||||
Maus- und Tastaturereignissen, nachgebildet auf einem emulierten
|
||||
80×25-Textbildschirm (Codepage 437, 16 Farben) über Ratatui.
|
||||
- **Plattformübergreifend**: läuft in Terminals unter Linux, macOS und Windows.
|
||||
- **Compiler + VM**: der Compiler erzeugt Bytecode für eine eigene virtuelle
|
||||
Maschine (TBVM); die Abwägung der Runtime-Optionen ist in
|
||||
[PLAN.md](PLAN.md) dokumentiert.
|
||||
- **IDE im Terminal**: Nachbildung der klassischen DOS-IDE mit Editor,
|
||||
Formular-Designer, Direktfenster und Debugger.
|
||||
|
||||
## Aufbau des Workspace
|
||||
|
||||
| Crate | Inhalt |
|
||||
|---|---|
|
||||
| `tb-frontend` | Lexer, Parser, AST, semantische Analyse |
|
||||
| `tb-vm` | Bytecode-Format, Codegenerator, virtuelle Maschine (TBVM) |
|
||||
| `tb-runtime` | Laufzeitbibliothek: Strings, Mathematik, Datei-E/A, Datum/Zeit, Fehlercodes |
|
||||
| `tb-ui` | Textbildschirm-Emulation und Forms-Engine auf Ratatui |
|
||||
| `tb-cli` | `tbdosc`: Standalone-Compiler — wandelt Quellen und Projekte in binäre Ergebnisse um |
|
||||
| `tb-ide` | `tbdos`: die integrierte Entwicklungsumgebung (TUI) zum Erstellen von Programmen |
|
||||
|
||||
## Status
|
||||
|
||||
Projektrahmen. Die Implementierungs- und Explorationsschritte sind in
|
||||
[PLAN.md](PLAN.md) beschrieben; dort wird der Fortschritt fortgeschrieben.
|
||||
|
||||
## Bauen
|
||||
|
||||
```
|
||||
cargo build
|
||||
cargo run -p tb-cli # tbdosc — Standalone-Compiler
|
||||
cargo run -p tb-ide # tbdos — IDE (TUI)
|
||||
```
|
||||
|
||||
Benötigt wird nur eine aktuelle stabile Rust-Toolchain.
|
||||
Reference in New Issue
Block a user