Phase 1: Sprach-Frontend (Lexer, AST, Parser, Semantik) + Entscheidungen
Frontend: - Lexer komplett: Typ-Suffixe, Literal-Typisierung (Entscheidung: > 7 signifikante Stellen -> DOUBLE), Hex/Oktal, Zeilenfortsetzung mit _, Strings mit ""-Escape, case-insensitive Keywords (Bibliotheksnamen bleiben Bezeichner) - AST fuer Module/Prozeduren/Anweisungen/Ausdruecke - Parser: fehlertolerant, zeilenorientiert; Kern-Anweisungssatz inkl. Bloecke, ON [LOCAL] ERROR, DEF FN (einzeilig); Datei-E/A als Phase-3-Platzhalter - Semantik: Symboltabellen, implizite Deklaration, DEFtype, OPTION EXPLICIT, Arrays, Builtin-Signaturen, Labelpruefung; Hardware-Features (PEEK/POKE/...) werden zur Compile-Zeit abgewiesen - Meilenstein: Testkorpus parst und wird typgeprueft (corpus.rs); 27 Tests Entscheidungen eingearbeitet: - Binaries heissen tb (IDE) und tbc (Compiler) - Dynamische Terminalgroesse statt 80x25 (Minimum 80x25, btop-artiger Hinweis darunter); tb-ui::screen mit resize(), Spike angepasst - Vollstaendigkeits-Leitplanke: 100% Sprache/Stdlib minus deklarierte Non-Features; Original-Doku als Guiding Principle; Inventar-Aufgabe - CURRENCY als i64-Festkomma; ISAM wird implementiert; breite Zeichen belegen 2 Zellen; GET/PUT-Strings als UTF-32; Blink als hell simuliert - LICENSE: MIT Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -149,7 +149,7 @@ Die Umgebung führt P-Code-übersetzte Zeilen sofort aus; der separate
|
||||
Compiler erzeugt native EXEs (wahlweise standalone oder mit Runtime-Modul).
|
||||
Nur die Umgebung hat: Immediate Window, Watches/Watchpoints, Breakpoints,
|
||||
Stepping, History-Trace, Set Next Statement, automatische Bereichs-/
|
||||
Überlaufprüfungen. → Terminal Basic: `tbdos` (IDE) und `tbdosc`
|
||||
Überlaufprüfungen. → Terminal Basic: `tb` (IDE) und `tbc`
|
||||
(Standalone-Compiler) teilen sich dieselbe TBVM, damit es — anders als im
|
||||
Vorbild — **keine** Verhaltensunterschiede zwischen IDE-Lauf und
|
||||
kompiliertem Programm gibt (dokumentierte Abweichung, gewollt).
|
||||
@@ -162,6 +162,9 @@ kompiliertem Programm gibt (dokumentierte Abweichung, gewollt).
|
||||
F12/Shift+F12-Wechsel bleibt erhalten.
|
||||
3. Zeilenweises Syntax-Checking mit Formatierung/Normalisierung ist
|
||||
Editor-Standard (abschaltbar wie im Vorbild).
|
||||
4. IDE-Lauf und `tbdosc`-Kompilat verhalten sich identisch (gleiche TBVM).
|
||||
4. IDE-Lauf und `tbc`-Kompilat verhalten sich identisch (gleiche TBVM).
|
||||
5. MS-DOS-spezifische Toolbox-Controls (Dir/Drive/File List) werden als
|
||||
plattformneutrale Datei-Browser-Controls nachgebildet.
|
||||
6. **Dynamische Terminalgröße** (2026-09-02): die IDE nutzt das gesamte
|
||||
Terminal — Desktop, Fensterverwaltung und Formulare passen sich an;
|
||||
Mindestgröße 80×25, darunter nur ein Hinweis (btop-artig).
|
||||
|
||||
Reference in New Issue
Block a user