Warum dieses Projekt?

Einen Compiler nur aufzurufen ist etwas anderes, als seine einzelnen Schritte zu verstehen. Das Projekt hält den Sprachumfang absichtlich klein, damit das Zerlegen von Text, das Erkennen von Strukturen und die Codeausgabe nachvollziehbar bleiben.

Vom Text zur Struktur

Zunächst wird der Text in einzelne Bestandteile wie Namen, Zahlen und Satzzeichen zerlegt. Danach ordnet der Parser diese Bestandteile zu einem Syntaxbaum. Die Ausgabe wird aus dieser Struktur erzeugt, statt den Eingabetext einfach durch Suchen und Ersetzen umzuschreiben.

Beispiele und Tests für Lexer und Parser machen die Schritte überprüfbar. Die aktuelle README beschreibt einen kleinen C-ähnlichen Sprachumfang und erzeugten C-Code; es handelt sich nicht um einen vollständigen C-Compiler.

Die Verbindung zu Leek und Monkey

Hier steht der klassische Übersetzungsweg im Vordergrund. Beim Monkey-Interpreter wird die analysierte Struktur ausgeführt, während Leek zusätzlich explizite Datenflüsse und Programmgraphen untersucht. Die Projekte beleuchten unterschiedliche Teile derselben Grundfrage: Wie bekommt Quelltext eine ausführbare Bedeutung?

Quellcode & Dokumentation

Quellcode und die verfügbare Projektdokumentation findest du auf GitHub. Dort stehen auch die Hinweise zum Bauen, zur Nutzung und zur Lizenz.

compiler auf GitHub ↗

Weiter entdecken