monkey-interpreter
Ein Interpreter für die kleine Sprache Monkey, umgesetzt in Go nach Thorsten Balls Buch. Eingaben lassen sich in einer interaktiven Konsole auswerten.
Warum dieses Projekt?
Um Programmiersprachen zu verstehen, hilft es, eine selbst zu lesen und auszuführen. Das Buchprojekt liefert einen überschaubaren Rahmen: Statt eine vollständige Alltagssprache nachzubauen, wird der Weg von der Texteingabe bis zum Ergebnis Schritt für Schritt erarbeitet.
Eingeben, auswerten, weiterprobieren
Eine interaktive Konsole nimmt Monkey-Code entgegen. Lexer und Parser machen daraus eine strukturierte Darstellung, auf der die Auswertung aufbaut. Dieser Kreislauf aus Lesen, Auswerten und Ausgeben wird REPL genannt.
Das Projekt folgt den Grundlagen aus „Writing An Interpreter In Go“. Es wird hier als Lernimplementierung eingeordnet, nicht als unabhängig erfundene Sprache.
Interpreter statt vorher erzeugtem Programm
Ein Compiler übersetzt normalerweise zunächst in ein anderes ausführbares Format. Ein Interpreter kann die analysierte Struktur unmittelbar auswerten. Genau diese Auswertung lässt sich hier untersuchen, statt sie einer fertigen Laufzeit zu überlassen.
Quellcode & Dokumentation
Quellcode und die verfügbare Projektdokumentation findest du auf GitHub. Dort stehen auch die Hinweise zum Bauen, zur Nutzung und zur Lizenz.
monkey-interpreter auf GitHub ↗