9 Punkte von skuldnorniern 2025-10-13 | 2 Kommentare | Auf WhatsApp teilen

Blogpost „Releasing Lamina“

Lamina ist ein Compiler-Backend-Projekt, das Intermediate Representation Code (IR-Code) als Eingabe erhält und daraus Maschinencode/Binärdateien erzeugt.
Es wurde auf Grundlage meiner Sprach-/Compiler-Studien und Projekte der letzten 4–5 Jahre begonnen und soll für alle, die sich für Compiler interessieren, eine einfache Referenz sein, die sich intuitiv verstehen lässt.

Derzeit unterstützte Plattformen

  • macOS (aarch64)
  • Linux (x86_64)
  • WebAssembly (wasm32/64)

Geplante Plattformen

  • Windows (x86_64)
  • macOS (Intel)
  • Linux (aarch64)
  • Risc-V

Bei Windows aarch64 ist die Priorität niedrig, da dem Autor keine passende Hardware zur Verfügung steht, daher vorerst ausgelassen.

Aktueller Stand

Derzeit gibt es noch keine Compiler-Optimierungspässe, daher ist die Geschwindigkeit leicht langsamer als bei C#.
Im nächsten Update soll eine Machine-IR-Schicht implementiert werden; zusammen damit ist auch die Einführung von Optimierungspässen geplant.

Außerdem soll bis vor dem 0.1-Release der Großteil der mit AI erzeugten Inhalte in den Bereichen Testcode und Codegen gelöscht und neu geschrieben werden.

Beispiel für ein Compiler-Frontend

Brainfuck-Lamina Repo - einfacher Brainfuck-Compiler

Geplante Funktionen für die weitere Entwicklung

  • Unterstützung für GPU-Codegenerierung (später als Backend für eine selbst implementierte ML-Bibliothek vorgesehen)
  • Unterstützung für JIT-Kompilierung
  • Bereitstellung eines Toolsets einschließlich Debugger
  • Bereitstellung eines selbst implementierten Assemblers und Linkers (Unterstützung für bestehende Utilities bleibt erhalten)

2 Kommentare

 
cgl00 2025-10-13

Wirklich beeindruckend.

 
skuldnorniern 2025-10-14

Es ist noch ein sehr unausgereiftes Projekt,
aber vielen Dank, dass Sie es wohlwollend betrachtet haben!
Ich hoffe, dass ich das Projekt weiter verbessern kann, damit es für Menschen, die Compiler studieren, zu einem guten Material wird.