studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones java compiler-construction

java - para - manual de programacion android pdf



Herramientas para convertir fuentes no Java en Java (7)

Una cosa que puedes probar es encontrar un compilador de código de bytes de Java para el idioma del que estás hablando (hay compiladores de JVM para todo tipo de idiomas) y luego descompilar el código de bytes nuevamente en Java usando un descompilador como Jad.

Esto está plagado de peligros. El código regenerado chupará y probablemente será ilegible.

¿Existen buenas herramientas para convertir automáticamente el código fuente que no es Java en una fuente Java?

No espero algo perfecto, solo para sacar lo peor del trabajo pesado del camino.

Supongo que hay una escala de dificultad móvil. C # debería ser relativamente fácil (siempre y cuando ignores todas las bibliotecas). (bien escrito) C ++ no es tan malo. C requiere hacer un poco de OO. (Estáticamente tipo) los idiomas funcionales pueden ser fáciles de asimilar. Los lenguajes OO dinámicos pueden requerir un análisis no local.


¡ADA a Java se puede hacer con un sistema de búsqueda y reemplazo!


Google: ANTLR


La conversión del lenguaje es bastante simple, pero encontrará que las bibliotecas son diferentes. Es probable que sea la mayor parte de su trabajo.


Si solo quiere usar algún código heredado de C / Pascal, también puede usar JNI para llamarlo desde Java.

Si desea ejecutarlo en un applet de Java o en un entorno restringido similar, y no tiene que ser muy eficiente, puede usar NestedVM (que es un conversor de bytecode de MIPS a Java) junto con un compilador cruzado gcc que se compila para MIPS). Pero no esperes obtener un código Java legible de eso.


Las migraciones de fuente a fuente caen bajo el paraguas de Transformación de programa . Program-Transformation.org rastrea un conjunto de herramientas que son útiles para el reconocimiento, análisis y transformación del lenguaje. Aquí hay algunos que son capaces de migraciones de fuente a fuente:

Si pasa algo de tiempo con una de las herramientas de código abierto, notará que a pesar de que incluyen la migración de fuente a fuente como característica, es difícil encontrar ejemplos de trabajo. Imagino que esto se debe a que no existe una migración única para todos. Cada proyecto / equipo hace un uso único de un idioma y puede variar según las bibliotecas utilizadas, la complejidad del tipo, los modismos, el estilo, etc. Tiene sentido definir algunas transformaciones por migración. Esto significa que un proyecto debe alcanzar cierta masa crítica antes de que la migración automática valga la pena.

Algunos documentos relacionados:


Cualquiera de esas herramientas puede ayudar solo si su código no Java no es lo suficientemente grande.

Si su gran código no es Java y si quieres traducirlo seriamente a Java, entonces hay que pensar en algunas cosas, no solo hay cientos de líneas de código, hay un diseño debajo, hay pocas decisiones tomadas por personas debajo el código debido a que ciertos problemas podrían haberse resuelto y pocas cosas han estado funcionando allí. y invertir tiempo en cualquier buen traductor no valdrá, ya que no existirá, no es solo la traducción de sintaxis de un idioma a otro.

Si no es un código tan grande, es mejor volver a escribir en Java, ya que tiene tantos paquetes API fuera de la caja, puede que no sea gran cosa, la contratación de pocos internos para esto también podría ayudar.