Überblick
Ein FinDSL-Modul liest sich wie strukturiertes Gesetz. Diese Seite zeigt den Aufbau; die einzelnen Konzepte vertiefen die Folgeseiten. Die vollständige, formale Sprachdefinition steht in der Sprachreferenz.
Eine Datei ist ein Modul
Abschnitt betitelt „Eine Datei ist ein Modul“Jede .findsl-Datei ist ein Modul, identifiziert über ihren Pfad. Ein Modul enthält Konstanten (konst) und Funktionen (fn), jeweils mit gesetzlicher Quelle und Doc-Kommentar.
--# Solidaritätszuschlag 2025 — Nullzone (§§ 3, 4 SolzG)
Der erste `--…--`-Block am Dateianfang ist die Modul-Dokumentation.--
-- Zuschlagssatz auf die festgesetzte Einkommensteuer. --@Quelle("§ 4 Satz 1 SolzG 1995")konst SOLI_SATZ: Prozent = 5,5%
-- Freigrenze: bis einschließlich hier kein Zuschlag (Einzelveranlagung). --@Quelle("§ 3 Absatz 3 SolzG 1995")konst FREIGRENZE: Euro = 19.950
--Solidaritätszuschlag auf die festgesetzte Einkommensteuer.
@param est festgesetzte Einkommensteuer (ganzzahliger Euro-Betrag)@rückgabe der Solidaritätszuschlag in Euro (abgerundet)--@Quelle("§ 3 Absatz 1, § 4 SolzG 1995")fn Solidaritaetszuschlag(est: Euro): Euro = wähle { falls est < FREIGRENZE + 1 -> 0 sonst -> (SOLI_SATZ * est).abrunden()}Die vier Bausteine
Abschnitt betitelt „Die vier Bausteine“| Baustein | Zweck |
|---|---|
Doc-Kommentar --…-- | Markdown-Beschreibung; fließt in die generierte Doku ein |
@Quelle("§ …") | Pflicht-Annotation: die gesetzliche Grundlage |
konst NAME: Typ = wert | benannter Wert (Großbuchstaben-Konvention) |
fn Name(param: Typ): Typ = … | reine Funktion ohne Seiteneffekte |
Jede Konstante und jede normgebundene Regel trägt ein @Quelle — so bleibt die Verbindung zum Gesetz nachvollziehbar und landet automatisch in Dokumentation und Audit-Artefakten.
Weiter im Detail
Abschnitt betitelt „Weiter im Detail“ Typen & Geld Euro, Cent, EuroCent, Prozent — und warum Rundung explizit ist.
Logik & Verzweigung wähle, wenn-sonst und abbruch — Tarifzonen sauber ausdrücken.
Prüfen prüfe-/testfall-Blöcke als bit-genaue, lesbare Beispielrechnungen.
Vom Gesetz zum Modul Der Weg von der Norm zur geprüften FinDSL-Regel — Schritt für Schritt.