Stand und Plan

Stand: November 2026. Der Compiler hat rund 4 500 Zeilen Python und 298 Tests, die alle durchlaufen.

Phase 1: der komplette Durchstich ✅

Ziel war, vom eigenen Quelltext bis zum Programm auf dem Arduino Uno zu kommen, lieber mit einer winzigen Sprache, die durchgängig funktioniert.

Teil Stand
Integer-Typen und bool, let / let mut mit Typableitung, const ✅
Rechnen, Vergleiche, Logik, Bits, as ✅
if / elif / else, while, loop, break, continue, return ✅
Funktionen, extern fn zur Anbindung an C ✅
lesbare Fehlermeldungen mit Zeile, Spalte und Hinweis (20 Testprogramme) ✅
Blink-Beispiel für den Uno: 776 Byte Flash, 0 Byte RAM ✅

Phase 2: Daten und Aktoren 🚧

Teil Stand Anmerkung
structs mit Methoden ✅ Arrays als Felder fehlen noch
Enums mit Daten, match mit Vollständigkeitsprüfung ✅
Result[T, E] und ? ✅ ein nicht beachtetes Ergebnis wird noch nicht gemeldet
Arrays fester Größe, for i in 0..N ✅ mit Bereichsprüfung; for x in arr fehlt
str und strbuf[N] 🟡 Strings im Flash des AVR noch nicht durchgängig
repeat / until ✅
Aktoren mit Mailbox, ->>, Mailbox-Regeln ✅
Timer und serielle Schnittstelle als Aktoren 🟡 laufen auf dem PC; auf dem Uno fehlt noch ein Baustein
Board-Datei 🟡 Format TOML
Zephyr als zweites Zielsystem ⏳ noch nicht begonnen

Als Nächstes

  1. Board-Datei auf dem Uno: Die Einstellungen aus der Board-Datei kommen auf dem AVR noch nicht an. Danach laufen Timer-Aktoren auch auf echter Hardware. Dazu ein Test, der jedes Beispiel wirklich mit avr-gcc baut.
  2. Kein Ergebnis darf still verloren gehen: Ein Result, das niemand prüft, wird ein Fehler beim Übersetzen.
  3. Ausgabe: Senden über die serielle Schnittstelle und Zahlen mit Vorzeichen in Strings.
  4. Mehrere Timer, for x in arr, Arrays in structs.
  5. Danach Zephyr als zweites Zielsystem, zuerst auf dem Teensy 4.1.

Später

Die Gründe hinter jeder Entscheidung stehen in der Sprachreferenz.


Erstellt: 05.11.2026