Files

2.4 KiB

Why

BASIC wird als P-Code ausgeführt; wiederverwendbare BASIC-Bibliotheken benötigen deshalb ein linkbares TB-Format. Die native Runtime steckt bereits in tbrt aus 02. Ein zusätzlicher C-ABI-/Systembibliotheksexport würde unnötige Erzeugungswerkzeuge und eine zweite Aufrufschnittstelle verlangen.

What Changes

  • .tbl als versioniertes, plattformunabhängiges Format für übersetzte BASIC-Module mit Symbolen, Signaturen, Imports und benötigten Daten einführen. Die native Runtime bleibt ausschließlich Bestandteil von tbrt.
  • tbc build --library erzeugt .tbl; tbc link verbindet ein Hauptprojekt und .tbl-Bibliotheken zu einem vollständigen .tbc beziehungsweise über --exe mit der passenden tbrt-Vorlage zu einem eigenständigen Executable.
  • Den vorhandenen Projektlinker erweitern: Bibliotheken sind ohne ihre BAS-/FRM-/Include-Quellen nutzbar, Auflösung und BASIC-Semantik bleiben gemeinsam.
  • .tbl-Verweise als geordnete .MAK-Einträge sowie explizite CLI-Eingaben unterstützen. Fehlende oder inkompatible Symbole, Typen, Formate und Abhängigkeiten vor Ausgabe diagnostizieren.
  • Die Abnahme dieses Changes umfasst Backend/CLI, ein festes gemeinsames TBL-Testartefakt und die lokal ausgeführte Verbraucherprobe. Echte Vierzielnachweise werden verbindlich in 05 und für Releasepakete in 06 erbracht.
  • Erzeugung und Linken benötigen weder C-/Rust-Compiler noch nativen Linker beim Anwender. Die IDE bindet denselben Dienst in 04 an.

Capabilities

New Capabilities

  • pcode-bibliotheken: Portables TBL-Format, quellfreie Wiederverwendung, gemeinsamer P-Code-Linkvertrag und CLI-/Projektintegration.

Modified Capabilities

Keine. TBL ist eine additive Projekt-/Buildfähigkeit; die Anpassung der bisherigen IDE-Exportbeschreibungen erfolgt mit 04. Bestehende reine Quellprojekte und vollständige TBC-Programme behalten ihren Vertrag.

Impact

tb-vm/src/project.rs, bytecode.rs, project_io.rs, Frontend-Deklarationsimport und tb-cli/src/main.rs; Wiederverwendung der sicheren Veröffentlichung und tbrt-Verpackung aus 02. Abhängigkeit: 02. IDE-Dokumentmodell, Ausführung, Debugger und Make-Anbindung folgen in 04; plattformübergreifende Verbraucherprüfungen in 05/06, Dokumentation und Gesamtabnahme in 07. Dieser Entwurf ersetzt den noch nicht implementierten Entwurf phase-6-03-native-bibliotheken vollständig.