Es gibt viele Herausforderungen, die "X interpretieren" sagen, wobei X eine einfache Sprache ist. Das ist meiner Meinung nach viel zu langweilig. Um allen zögernden Leuten im Internet etwas Interessantes zu bieten, können Sie versuchen, diese Herausforderung zu meistern:
Herausforderung
Wähle eine Sprache $LANG. $LANGkann eine beliebige vollständige Programmiersprache oder eine vollständige Teilmenge einer Programmiersprache sein. Beachten Sie, dass Sie ein Feature Ihrer Sprache nicht $LANGfür die Interpretation verwenden dürfen, da Ihre Einreichung auch in geschrieben sein muss $LANG.
Schreiben Sie einen Compiler / Interpreter für $LANGgeschrieben $LANG. Sie können alle Einrichtungen (einschließlich evalund Freunde) Ihrer Sprache verwenden, die verfügbar sind, um diesen Compiler zu schreiben. Um die Aufgabe herausfordernder zu gestalten, gibt es eine Einschränkung: Ihr Programm sollte in der Lage sein, alle gültigen Programme mit $LANGAusnahme Ihres Interpreters / Compilers selbst zu interpretieren / kompilieren . Wenn das zu interpretierende / zu kompilierende Programm Ihr Interpreter oder Compiler selbst ist (unabhängig vom Dateinamen), sollte Ihr Programm etwas tun, das nichts mit der Funktionalität eines Interpreters oder Compilers zu tun hat (z. B. Barfing oder Drucken Hello, world!).
Um diese Aufgabe noch komplexer zu gestalten, darf Ihr Programm beim Kompilieren oder Interpretieren keinen eigenen Quellcode lesen.
Spezifikationen
- Diese Aufgabe ist Code Golf. Die Einsendung mit den wenigsten korrekten Zeichen gewinnt. Bei einem Unentschieden gewinnt die zuerst eingereichte Lösung.
- Ihr Programm / Skript sollte das zu interpretierende Programm aus einer Datei lesen. Sie können den Pfad und den Namen fest codieren. Wenn die Datei gelesen wird, können Sie sie entweder in eine andere Datei kompilieren (die auf Ihrem System ausführbar sein muss) oder direkt ausführen. Wenn die
$LANGDateilesefunktionen fehlen, können Sie den passenden Code auf eine andere Weise einlesen$LANG. Sie können möglicherweise nicht$LANGals Teilmenge einer anderen Sprache auswählen, aber die Funktionen zum Lesen von Dateien wurden entfernt. - Es gelten die üblichen Code-Golf-Regeln. Das heißt: Ihre persönliche Haustier-Sprache, die Sie nur erfunden haben, um diese Herausforderung zu lösen, ist verboten, wenn die Lösung damit trivial wird (z. B. die Definition eines Single-Char-Programms, das die Lösung genau implementiert). Der Missbrauch von Regeln wird gefördert.