Zum Inhalt springen

Generieren — Überblick

Aus einem geprüften Modul erzeugt FinDSL ausführbaren Code in der Zielsprache deines Projekts — Java, TypeScript oder JavaScript. Diese Seite gibt den Überblick; die Einbindung pro Ökosystem zeigen die Detailseiten.

Terminal-Fenster
findsl codegen <pfad> -l <sprache> -o <ausgabeverzeichnis>
OptionBedeutung
<pfad>.findsl-Datei oder Verzeichnis
-l, --langjava, ts oder js
-o, --outAusgabeverzeichnis der Hauptklassen
-t, --test-outAusgabeverzeichnis der generierten Tests (aus prüfe)
Terminal-Fenster
# Beispiel: das KSt-Beispiel nach Java generieren
findsl codegen examples/kst -l java -o src/main/java

Das Erzeugte ist self-contained: Das CLI emittiert neben deinen Modulen auch die benötigte Laufzeit ins Ausgabeverzeichnis (z. B. org.findsl.runtime.* bei Java). Es gibt kein separates Laufzeit-Paket aus Maven Central oder npm, das du als Abhängigkeit einbinden müsstest.

Daraus folgt:

  • Air-gapped — kein Netzwerkzugriff beim Build des Generats nötig.
  • Lockstep — CLI-Version und mitgenerierte Laufzeit passen per Definition zusammen; ein Mismatch ist unmöglich.
  • Auditierbar — die Laufzeit liegt sichtbar im Projekt und kann mitgeprüft werden (relevant für Steuer-Audits).
  • Idempotent — wiederholtes findsl codegen überschreibt die Dateien deterministisch, kein Drift.

Die prüfe-/testfall-Blöcke werden zu echten Tests der Zielsprache (JUnit 5 bei Java, Vitest bei TS) — bit-genau gegen denselben Referenz-Interpreter wie im Editor. Mit -t landen sie in einem eigenen Testverzeichnis.