Lyx — Dokumentation

Lyx ist eine systemnahe Programmiersprache für eingebettete Systeme, sicherheitskritische Software (DO-178C) und Anwendungen, die nah an der Maschine bleiben sollen. Der Compiler ist selbst-hostend — er ist in Lyx geschrieben und übersetzt sich selbst — und erzeugt statisch gelinkte Binaries ohne Laufzeitumgebung.

unit main;
import std.io;

fn main(): int64 {
    PrintLn("Hallo Lyx");
    return 0;
}

lyxc hello.lyx -o hello && ./hello

Ergebnis: eine statisch gelinkte ELF-Datei von rund 100 KB, ohne dynamische Abhängigkeiten — kein Interpreter, keine libc-Pflicht, kein Garbage Collector.


Was Lyx ausmacht

Eigenschaft Bedeutung im Alltag
Explizit statt implizit Keine impliziten Typumwandlungen, kein versteckter Kontrollfluss. Jede Umwandlung steht als as im Code.
Ein Übersetzungsschritt lyxc ist Compiler und Linker zugleich — keine Objektdateien, keine Linker-Flags, keine Build-Datei nötig.
Ohne Fremdabhängigkeiten Die Standardbibliothek ist vollständig in Lyx geschrieben oder ruft POSIX-Syscalls direkt. Externe Bibliotheken (OpenSSL, ALSA, mpg123, Qt5) sind optional und werden ausdrücklich eingebunden.
Speicher von Hand Stack und Heap sind getrennt, new/dispose und alloc/free liegen beim Entwickler. Kein GC bedeutet vorhersagbare Laufzeit.
Safety als Sprachmittel Range-Typen, limit(N) an Schleifen, @dal-Stufen, @stack_limit und WCET-Nachweise gehören zur Sprache, nicht zu einer Bibliothek.
Zero-Privilege-Modell @capabilities beschreibt, was ein Programm darf; daraus entsteht ein seccomp-Filter. Was nicht deklariert ist, geht nicht.
Breite Standardbibliothek 421 Units — von Dateisystem und Netzwerk über Krypto, PDF und Bildformate bis Cloud-APIs, EDI, HL7 und PCI-Hardwarezugriff.

Einstieg

→ Erste Schritte Installation, Hello World, erstes eigenes Programm, die Grundkonzepte in der richtigen Reihenfolge

Wer schon programmieren kann und nur die Eigenheiten sucht: Sprachreferenz beginnt mit „Lyx in zehn Sätzen„.


Bereiche

Bereich Umfang Inhalt
Sprachreferenz 25 Seiten Syntax, Typsystem, Kontrollfluss, Module, OOP, Fehlerbehandlung, Speicher, Threads, FFI, Capabilities, ABI
Standard Library 421 Units I/O, Netzwerk, Krypto, Datenbanken, PDF, SVG, Bild, Audio/Video, Hardware (GPIO, USB, Bluetooth, PCI), Cloud, EDI, HL7, KassenSichV, Blockchain …
Guides 40 Guides Aufgabenorientiert: Welche Unit? · Fehlersuche · Umstieg von Delphi · Netzwerk · Dateisystem & I/O · Datenbanken · Krypto · Medien · Cloud · Aerospace/DO-178C · RTOS
Tools & Compiler 8 Seiten Alle lyxc-Flags, Compiler selbst bauen, lbfdump, Paketmanager lpm samt Registry-Protokoll und Betrieb
Vega VCL 153 Seiten Oberflächen in Lyx: 54 Steuerelemente, 54 Unit-Referenzen, Backends (X11, Win32, Null), LFM-Formularformat, Themes, Werkzeuge — eigenes Repository lyx-vcl

Schnellzugriff

Ich will …


Zum Umgang mit dieser Dokumentation

 
Die Warnkästen sind Messwerte. Wo eine Seite ein fehlendes oder fehlerhaftes Verhalten beschreibt, wurde das gegen eine benannte Compiler-Fassung geprüft und trägt meist die Issue-Nummer. Steht dort „seit lyxc 1.0.17C“, ist der Punkt behoben; ein Defekt ohne Versionsangabe gilt zum genannten Prüfstand noch. Beispiele sind übersetzt und ausgeführt, nicht abgeschrieben.

Verbindlich für die Sprache selbst ist die Grammatik ebnf.md im Compiler-Repository. Weicht eine Seite hier davon ab, gilt die Grammatik — und die Abweichung gehört gemeldet.


Struktur der Dokumentation

lyx_-_programmiersprache/
├── start.txt              ← diese Seite
├── erste-schritte.txt     ← Einstieg für neue Nutzer
├── sprache/               ← Sprachreferenz (25 Seiten)
├── units/                 ← Standard Library (297 Referenzseiten)
├── guides/                ← Themenführer, aufgabenorientiert (30 + 4 DO-178C)
└── tools/                 ← Compiler und Werkzeuge (6 Seiten)

Letzte Aktualisierung: 2026-08-30 · geprüfter Compilerstand: lyxc 1.1.14A — Schalter neu gemessen, Projektdatei *.lpf und std.theorem123 aufgenommen

Codebeispiele geprüft: gegen lyxc 1.2.5C übersetzt (Prüflauf 2026-09-08 über die gesamte Doku: 574 Vollprogramme, 0 echte Fehler; zusätzlich 5159 Aufrufe gegen die pub fn-Signaturen in aurum/std gehalten, 0 Abweichungen).