Feste Satzmuster
Jeder Befehl folgt einem festen Muster, das sich vorlesen lässt. Der Parser erkennt Sätze, nicht Symbolfolgen — deshalb bleibt die Sprache eindeutig, obwohl sie nach Deutsch klingt.
Eine neue Programmiersprache · Version 0.2
Klarsatz ist eine kontrollierte natürliche Sprache: Jeder Befehl steht im Imperativ, jeder Satz endet mit einem Punkt. Was dasteht, ist genau das, was passiert — kein Klammerdickicht, keine englischen Abkürzungen.
Klarsatz nimmt die Sprache ernst, in der wir ohnehin über Programme reden. Wer den Satz versteht, versteht den Befehl.
Jeder Befehl folgt einem festen Muster, das sich vorlesen lässt. Der Parser erkennt Sätze, nicht Symbolfolgen — deshalb bleibt die Sprache eindeutig, obwohl sie nach Deutsch klingt.
Zeige die Summe. und Zeige Summe. sind dasselbe. Artikel, Umlautschreibung und Groß‑/Kleinschreibung werden überlesen, damit der Satz natürlich bleiben darf.
Unbekannte Namen führen nicht zu einem Absturz, sondern zu einem Vorschlag: „Meintest du 'Summe'?“ Zugriffe hinter das Listenende sind immer ein klarer Fehler, nie ein stiller Fehlgriff.
Kommazahlen erscheinen in der Ausgabe so, wie man sie hier schreibt: 3,5 statt 3.5. Texte werden nach deutscher Sortierreihenfolge verglichen — Äpfel vor Birnen.
Der Interpreter ist reines Python 3 ohne Fremdpakete und besteht aus überschaubaren Stufen: Lexer, Satzmuster‑Parser, Syntaxbaum, Interpreter. Kein eval, kein Nachladen von Code.
Klarsatz ist ein Lernprojekt — für alle, die das Programmieren nicht gleichzeitig mit einer Fremdsprache lernen wollen. Die Sprache erklärt sich beim Lesen.
Links, wie es die meisten Sprachen schreiben. Rechts, wie Klarsatz es sagt.
Gewohnt
for i in range(1, 31):
if i % 15 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)
Klarsatz
Zähle von 1 bis 30 mit i:
Wenn i durch 15 teilbar ist, zeige "FizzBuzz".
Sonst wenn i durch 3 teilbar ist, zeige "Fizz".
Sonst wenn i durch 5 teilbar ist, zeige "Buzz".
Sonst zeige i.
Ende.
Werte merken, entscheiden, wiederholen, zeichnen, sammeln, gliedern — in Sätzen, die man laut lesen kann.
Merke 5 als Zahl. Setze die Zahl auf 7. Erhöhe die Zahl um 1. Merke "Wolfgang" als Name. Verbinde "Hallo, " und Name zu Gruss. Zeige Gruss.
Merke 25 als Alter.
Wenn Alter mindestens 18 ist:
Zeige "willkommen".
Sonst:
Zeige "zu jung".
Ende.
Wiederhole 3 Mal:
Zeige "Klarsatz".
Ende.
Zähle von 1 bis 10 mit i:
Zeige i.
Ende.
Erstelle eine Liste namens Einkauf.
Füge "Milch" zur Einkauf hinzu.
Sortiere Einkauf.
Für jedes Element in Einkauf:
Zeige Element.
Ende.
Definiere Aufgabe Summe von a und b:
Gib a plus b zurück.
Ende.
Zeige Summe von 3 und 4.
Nimm die Farbe "gold".
Wiederhole 4 Mal:
Gehe 120 Schritte vor.
Drehe dich um 90 Grad rechts.
Ende.
Erstelle eine Tabelle namens Preise. Trage "Apfel" mit 3 in Preise ein. Trage "Kiwi" mit 5 in Preise ein. Zeige Wert für "Apfel" in Preise.
Ein Hund hat einen Namen und ein Alter.
Erschaffe einen Hund mit Name "Rocco"
und Alter 5 als Waldi.
Zeige den Namen von Waldi.
Der Spielplatz führt Klarsatz-Programme direkt im Browser aus — und zeigt Zeichnungen auf einer Leinwand gleich daneben. Nichts davon verlässt das Fenster.
Im Spielplatz arbeiten Lies und Schreibe auf einem Dateisystem im Arbeitsspeicher, das mit dem Lauf verschwindet. Es gibt keinen Weg von einem Programm auf eine Festplatte — weder auf deine noch auf den Server.
Der echte Interpreter läuft als Python im Browser — in einem abgeschotteten Hintergrundprozess ohne Zugriff auf die Seite. Kein Server führt Programme aus, nichts wird gesendet.
Schritt- und Zeitgrenzen brechen Programme ab, die nicht von allein fertig werden. Hängt ein Lauf, wird der Hintergrundprozess beendet und neu gestartet.
Klarsatz kennt kein eval, kein Nachladen und keinen Zugriff auf darunterliegende Funktionen. Ein Programm kann nur das, was in dieser Dokumentation steht.
Reines Python 3, keine Fremdpakete, keine Installation: herunterladen, entpacken, loslegen.
Im Archiv steckt alles, was zum Ausprobieren nötig ist — und der gesamte Quelltext dazu, denn Klarsatz ist zum Nachlesen gebaut.
unzip klarsatz-0.2.0.zip
cd klarsatz-0.2.0
python3 -m klarsatz programme/03_taschenrechner.klar
SHA256 6b3b6a90…
vollständig in der Prüfsummendatei
Version 0.2.0 — die Sprache ist vollständig benutzbar und wird weiter ausgebaut.
Variablen und Konstanten, Rechnen und Vergleichen, Bedingungen, fünf Arten von Schleifen, Listen und Tabellen, Werkzeuge für Texte, Zeichnen mit Stift und Farben, eigene Aufgaben, Dinge mit Feldern und das Abfangen von Fehlern — dazu ein Prüfmodus, der Fehler findet, ohne das Programm auszuführen.
Damit beim Weiterbauen nichts unbemerkt zerbricht, prüft sich die Sprache selbst: 369 kleine Probeläufe kontrollieren nach jeder Änderung, ob noch alles genau das tut, was in dieser Dokumentation steht.
Kein Dezimalkomma in der Eingabe — das Komma trennt Satzteile. Die Kurzform von Wenn führt genau einen Satz aus. Der Prüfer arbeitet ohne Datenfluss, kennt also keine Typen.
Falls vorhanden: für Optionalwerte, Fähigkeiten im Sinne von Diese Aufgabe darf nur lesen, Lernstufen, die Befehle nach und nach freischalten, ein Tutorial mit lauffähigen Lektionen und später ein Bytecode-Compiler.
Klarsatz ist ein Lern- und Hobbyprojekt. Der Interpreter begrenzt Schritte, Zeit, Speicher und Dateizugriff — eine geprüfte Sandbox ist er trotzdem nicht. Der Spielplatz dieser Seite geht deshalb den sicheren Weg und führt überhaupt nichts auf dem Server aus, sondern alles im Browser des Besuchers.