Seite 1 von 1

Smython (mein Python-Interpreter in Java)

Verfasst: Sonntag 10. August 2008, 10:29
von sma
Ich weiß nicht, ob ich's schon mal erwähnt hatte, aber vor längerer Zeit hatte ich versucht, einen Python-Interpreter in Java zu schreiben. Vor anderthalb Jahren hatte ich den Quelltext bei Google Code veröffentlicht, in den letzten Tagen habe ich aber nochmals Lust gehabt, ein bisschen daran zu basteln.

Objektiv betrachtet, macht das Projekt, einen Interpreter für Python 1.4 oder 1.6 zu bauen, eigentlich keinen Sinn - und es gibt natürlich schon Jython. Aber wo ich den Code nun schon einmal habe...

Vielleicht fällt ja hier jemandem ein, wozu man ein 10 Jahre altes Python gebrauchen könnte oder vielleicht hat jemand ja Lust, mehr über die Interna von Python zu lernen und sich das mal anzuschauen oder sogar mitzumachen.

Ich habe einen ein kleines bisschen kryptischen (aber effizienten) Scanner, einen klassischen handgeschriebenen rekursiv absteigenden Parser, der einen AST generiert und ein halb fertiges Laufzeitsystem, in dem ich gerade gestern globale Variablen ergänzt habe. Dazu kommt eine Suite mit Tests.

Aktuell kann ich alle Python-Dateien, die bei Python 1.4 und Python 1.6 mitgeliefert wurden, scannen und parsen - jedoch nicht ausführen. Mein nächstes Ziel ist, Dateien als Module lesen zu können und dann ausgewählte Datei aus Pythons Testsuite ausführen zu können. Leider testen diese mehr Randfälle als das normale Verhalten. Daher muss man auch die eher schlechten Teile von Python nachbauen.

Stefan