Gibt es eine Möglichkeit, automatisch Ruby-Code in Lua zu konvertieren? Meine Frage ist:
Ein primäres Ziel ist es, den Ruby-Interpreter umgehen zu können, wenn ich das (konvertierte) Lua-Programm ausführe. Es macht mir nichts aus, wenn der Ruby-Interpreter während der Konvertierung zu Lua aufgerufen werden muss, aber ich möchte nicht auf den Ruby-Interpreter angewiesen sein, wenn ich den neu erzeugten Lua-Code ausführe.
UPDATE:
Ich habe ziemlich viel über dieses Thema geforscht und ich persönlich finde keine Lösung (deshalb stelle ich die Frage hier auf StackOverflow).
Falls jemand neugierig ist, habe ich tief in:
Es tut mir leid, wenn das nicht die Antwort ist, die Sie hören wollen, aber es gibt keinen praktischen Weg , Kumpel. Ich werde nicht sagen, dass Ruby reicher ist als Lua, da ich das letzte nicht genug studiert habe, um das zu sagen, aber von dem, was ich weiß und was ich sehe,
Man könnte weitermachen, was die Möglichkeiten sind, und nicht darin bestehen, Hochsprachen miteinander zu kombinieren, aber das Endergebnis für Sie ist: Geben Sie früh auf. Stoppen Sie die Suche und beginnen Sie Ihre Progs manuell neu zu schreiben.
Hinweis: Ich stimme allen anderen hier zu, dass Sie Ihr Programm wirklich von Grund auf neu schreiben sollten. Diese Antwort ist nur eine Idee, auf die ich hoffe, dass jemand wirklich nachgeht.
Es gibt bereits ein paar Ruby-to-X Converter, die Sie booten könnten. Die Guten haben schon einen Lexer & amp; Parser, so dass Sie nur mit dem Backend arbeiten müssen. Wenn du eine Sprache wählst, die Lua ähnlich ist, kannst du die Dinge noch vereinfachen.
Zum Beispiel gibt es ein paar Ruby-to- Javascript Implementierungen, wie RubyJS . Metamethoden, self
syntaktischen Zucker, Bibliothek Unterschiede und ein paar semantische Unterschiede hier und da beiseite, Lua könnte als eine Untermenge von Javascript mit einer ausführlicheren Syntax gesehen werden.
In diesem Sinne könnten Sie den Großteil des Backend-Generators modifizieren, indem Sie hier und da ein paar {
}
s ändern:
%Vor%
Vielleicht gibt es ein paar Mal, wenn es auf Javascript-spezifischen Funktionen beruht, aber selbst dann könnten die meisten von ihnen emuliert werden.
%Vor%%Vor%
Nein, ehrlich, das wäre kein einfaches Projekt, aber ich denke, es ist etwas, das es wert ist, die Zeit dafür zu investieren. Ich hoffe, das hilft! :)
Universal-transpiler ist eine Bibliothek für SWI-Prolog, die eine kleine Teilmenge von Ruby in Lua und mehrere andere Sprachen konvertieren kann.
Dies ist ein Beispiel für seine Verwendung in Prolog, mit Ruby-Quellcode als Eingabe:
%Vor%... und das ist der Lua-Quellcode, den er erzeugt:
%Vor%Tags und Links ruby lua code-translation