son sistema que programas programacion para operativo maquina los invocar instruccion encargados ejemplos cualquier cual corran compilados compilador caracteristicas java c jvm antlr interpreter

java - sistema - ¿Ejecutando/Interpretando C en la parte superior de la JVM?



que es la maquina virtual de java (5)

¿Hay alguna forma de ejecutar el código c simple sobre la JVM?
No se conecta a través de JNI, ejecutándose, como puede ejecutar el código Ruby a través de JRuby, o javascript vía Rhino.

Si no hay una solución actual, ¿qué recomendarías que haga?
Obviamente, quiero usar tantas soluciones parciales como pueda para hacerlo realidad.

ANTLR parece ser un buen lugar para comenzar, con una implementación completa de la gramática "ANSI C" ...
¿Debería construir una máquina virtual "de juguete" sobre la JVM usando el código generado ANTLR?




Parece que LLJVM también puede cumplir con su requisito.

LLJVM: El código fuente se compila primero en representación intermedia LLVM (IR) mediante una interfaz como llvm-gcc o clang. LLVM IR luego se traduce al código ensamblador Jasmin, se vincula con otras clases Java y luego se ensambla en bytecode JVM.


Hay otras dos posibilidades, ambas de código abierto:

JPC emula una PC x86 completa dentro de la JVM, y es capaz de ejecutar tanto DOS como Linux.

NestedVM proporciona una traducción binaria para Java Bytecode. Esto se hace haciendo que GCC compile a un binario MIPS que luego se traduce a un archivo de clase Java. Por lo tanto, cualquier aplicación escrita en C, C ++, Fortran o cualquier otro lenguaje admitido por GCC puede ejecutarse en Java 100% puro sin cambios de fuente.


A partir de 2016 hay una opción joven pero prometedora llamada gcc-bridge . Su intención es aprovechar la implementación de JVM R para hacer uso de R-libaries escritas en C o Fortran. Pero gcc-bridge también se puede usar de forma independiente como un plugin maven.