Drei parallele Recherchen ueber die Original-Hilfedateien des Vorbilds (dos-help.soulsphere.org, dekodierte VBDOS.HLP, CONSTANT.BI, README der Professional Edition) eingearbeitet: - Sprachreferenz: OPTION EXPLICIT und ON [LOCAL] ERROR RESUME NEXT existieren; Zeilenfortsetzung mit Underscore; Literalregeln; Limits (40-Zeichen-Bezeichner, 60 Array-Dimensionen); Event-Traps inkl. UEVENT; PRINT-USING-Zeichen inkl. **$; native Datumsfunktionen (NOW, DATESERIAL, ...) und FORMAT$; MSGBOX/INPUTBOX$-Signaturen - Forms-Referenz komplett neu: alle 16 Steuerelemente mit Eigenschaften/ Methoden/Ereignissen, Default-Tabelle, SCREEN-Objekt inkl. ControlPanel, Koordinaten in Zellen (0-254), Modalitaet (SHOW 0/1), Menuesystem, Control-Arrays, Drag&Drop; keine Default-Eigenschaften - Neue IDE-Referenz (docs/ide-referenz.md): Menuestruktur, Fenster- verwaltung, Form Designer, Farbschema, Tastenbelegung, Statuszeile - Fehlerkatalog vervollstaendigt: ISAM 80-89 und Forms 260-480, Code-Typ auf u16 erweitert, Tests ergaenzt - Dateiformate: .MAK-Format belegt, .FRM binaer/Text geklaert Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Terminal Basic
Eine plattformübergreifende Re-Imagination des letzten großen BASIC-Dialekts für DOS (1992) — Sprache, Laufzeitbibliothek, Forms-Engine und IDE — in Rust, mit Ratatui als Terminal-UI-Schicht.
Dieses Projekt ist eine unabhängige Neuentwicklung und steht in keiner Verbindung zu Microsoft. Produktnamen Dritter werden bewusst nicht verwendet.
Leitbild
Terminal Basic ist keine sklavische 1:1-Reimplementierung, sondern eine spirituelle Neuauflage: ein BASIC, mit dem man heute Terminal-Tools baut — CLI-Werkzeuge ebenso wie TUI-Anwendungen. Der Weg dorthin:
- Erst die Re-Imagination: gleiche UI/UX wie das Vorbild, gleicher Sprachstandard, gleiche Standardbibliothek. Wer das Vorbild kannte, fühlt sich sofort zu Hause; bestehende Programme laufen weitgehend unverändert.
- Dann die Anreicherung: über die Zeit kommen bewusst Elemente außerhalb des Vorbilds dazu (moderne Terminal-Fähigkeiten, Sprachkomfort, Bibliotheken). Erweiterungen sind additiv und brechen den Kernstandard nicht.
Wo Alt und Neu kollidieren, gewinnt die Plattform von heute — deshalb z. B. durchgängig UTF-8 statt Codepage 437 und keine Emulation von DOS-Hardware.
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/READusw. - 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 (16 Farben) über Ratatui. Bewusste Modernisierung: durchgängig UTF-8/Unicode statt Codepage 437.
- 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 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 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.