Entscheidungen festgehalten: TBVM bestaetigt und eingebettet in die Executables; durchgaengig UTF-8 statt CP437 (dokumentierte Abweichung). - docs/: Sprachreferenz, Forms-Referenz, Dateiformate, TBVM-Design - tb-runtime::errors: klassischer Laufzeitfehler-Katalog (implementiert) - tb-ui::screen: 80x25-Unicode-Zellenpuffer mit 16-Farben-Abbildung, Scrollbereich (VIEW PRINT), Letterboxing; Ratatui-Widget + Tests - Spike: cargo run -p tb-ui --example spike (Farben, Unicode, Tasten, Maus) - tests/compat/: erste Referenzprogramme mit byte-genauer Sollausgabe Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1.7 KiB
Dateiformate
Terminal Basic liest und schreibt die Textformate des Vorbilds, durchgängig in UTF-8 (Abweichung: das Vorbild nutzte die DOS-Codepage). Binäre „Fast-Load"-Varianten des Vorbilds sind Nicht-Ziel — nur Textformate.
Quelltext: .BAS
Reiner Text, eine Anweisung(sfolge) pro Zeile. Optionale Kopfzeilen der IDE
(DECLARE-Prototypen) werden beim Speichern erzeugt/aktualisiert.
Metabefehle in Kommentaren: '$INCLUDE: 'datei.bi', '$STATIC, '$DYNAMIC.
Formular: .FRM
Textformat, zwei Abschnitte: Formular-Beschreibung, dann Code.
VERSION 1.00
Begin Form Form1
Caption = "Beispiel"
Height = 15
Left = 10
Top = 4
Width = 50
Begin CommandButton cmdOK
Caption = "&OK"
Height = 1
Left = 18
Top = 11
Width = 10
End
End
SUB cmdOK_Click ()
UNLOAD Form1
END SUB
VERSION-Zeile, dann verschachtelteBegin <Typ> <Name> … End-Blöcke mitEigenschaft = Wert-Zeilen (Strings in"…").- Danach normaler BASIC-Code des Formular-Moduls.
- TODO: exakte Eigenschaftsnamen/-reihenfolge und Einrückung des Vorbilds an Originaldateien verifizieren (Ziel: Roundtrip-Kompatibilität).
Projekt: .MAK
Zeilenweise Liste der Projektdateien (.BAS, .FRM, .BI), TODO:
Optionszeilen des Vorbilds prüfen. Terminal Basic akzeptiert zusätzlich
Kommentarzeilen mit '.
Kompilat: .tbc (neu, eigenes Format)
Container für TBVM-Bytecode, Entwurf in tbvm-design.md.
tbdosc build erzeugt wahlweise .tbc oder ein eigenständiges Executable
(Runner + eingebettetes .tbc).