Files
TerminalBasic/README.md
Chili Palmer 5821ace0cf 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>
2026-09-01 16:21:09 +02:00

52 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.