/ / wie man eine einfache VM in Java ähnlich wie in c / c ++ und LLVM schreibt [closed] - Java, llvm, vm-Implementierung

Wie schreibe ich eine einfache VM in Java auf ähnliche Weise wie C / C ++ und LLVM [geschlossen] - Java, Llvm, VM-Implementierung

Ich möchte eine sehr minimalistische virtuelle erstellenMaschine mit begrenzten Anweisungen in Java. Ich weiß, wie man es in c / c ++ mit einer Kombination aus LLVM macht, aber ich möchte es auch in Java versuchen. Wie kann ich es in Java machen, da ich keinen Zugriff auf LLVM habe. Wie kann ich die Situation simulieren?

Antworten:

1 für die Antwort № 1

Wenn Sie nach Java-Bytecode kompilieren möchten, möchten Sie wahrscheinlich eine Bibliothek wie ASM verwenden: Sie dient zum Generieren und Bearbeiten von Bytecode:

Viele JVM-Sprachen (z. B. Clojure, Groovy) verwenden ASM oder ähnliches als zugrunde liegenden Bytecode-Generator.


1 für die Antwort № 2

Um die JVM nutzen zu können, müssen Sie in derEinschränkungen der Funktionsweise der JVM, die Bytecode ausführen soll. Dies bedeutet, dass Sie entweder Bytecode oder eine Java-Quelle generieren müssen, die Sie kompilieren. Wenn Sie die Java-Quelloption verwenden, können Sie "Anweisungen" generieren, die mithilfe von Methodenaufrufen implementiert werden.