¿Existe alguna herramienta que pueda convertir automáticamente Python a Java? ¿Puede Jython hacer esto?Traducción automatizada de Python a Java
Respuesta
Puede que no sea un problema fácil. La determinación de cómo mapear clases definidas en Python en tipos en Java será un gran desafío debido a las diferencias en cada tipo de tiempo de enlace. (mecanografía pato vs. enlace de tiempo de compilación).
Y todos los nombres de métodos especiales. __llamado__ es algo que requerirá un cuidado real para administrar. –
Hay un traductor llamado [P2J] (https://github.com/chrishumphreys/p2j) que puede convertir un subconjunto de Python en Java. Mi proyecto [universal-transpiler] (https://github.com/jarble/transpiler) fue escrito con el mismo propósito, pero también traduce Python a C#, Java, JavaScript y varios otros idiomas. –
para aclarar su pregunta:
De Python El código fuente a código fuente de Java? (No lo creo)
.. o desde el código fuente de Python a Java Bytecode? (Jython hace esto bajo el capó)
Sí, se convierte a Java Source. desde su página (http://www.jython.org/archive/21/docs/jythonc.html): la herramienta jythonc genera código fuente real de Java y luego invoca un compilador Java sobre este código fuente para crear los archivos .class – KIC
En realidad, esto puede o no ser de mucha ayuda, pero se podría escribir un script que crea una clase Java para cada clase de Python, incluyendo apéndices de método, la colocación de la implementación de Python del método dentro del Javadoc
De hecho , esto es probablemente bastante fácil de golpear en Python.
Trabajé para una empresa que realizó un puerto a Java de un enorme sistema Smalltalk (similar a Python) y esto es exactamente lo que hicieron. Completar los métodos fue manual pero invaluable, porque te hizo pensar realmente en lo que estaba pasando. Dudo que un método de fuerza bruta resulte en un buen código.
Aquí hay otra posibilidad: ¿puedes convertir tu Python a Jython más fácilmente? Jython es solo Python para JVM. Es posible usar un descompilador de Java (por ejemplo, JAD) para luego convertir el bytecode de nuevo en código de Java (o puede que simplemente desee ejecutar en una JVM). Sin embargo, no estoy seguro de esto, quizás alguien más tenga una mejor idea.
La solución JAD parece un ganador. Tal vez podría editar su respuesta para mostrar esta solución. –
No estoy seguro de que la solución JAD sea realmente viable ya que no sé si las clases Jython se convierten en archivos .class o si se interpretan convirtiéndolos en bytecode en el tiempo de ejecución. Fue una sugerencia de algo para mirar más allá en –
Sí Jython hace esto, sino que puede o no ser lo que quieres
De hecho, pero más precisamente, 'jython' crea JVM-bytecode del código fuente de Python, _not_ código fuente de Java –
- 1. La traducción de Perl a Python
- 2. Traducción de código Python a JVM
- 3. Conversión automatizada de código fuente de Java a Scala?
- 4. Biblioteca de traducción de idioma Java
- 5. Traducción de idiomas humanos en Python
- 6. traducción de chatset de consola java
- 7. Prueba de GUI automatizada
- 8. De Java 1.4 a Java 6: ¿alguna herramienta automatizada para actualizar el código heredado?
- 9. Manera automatizada para extraer interfaces de una clase de Java
- 10. Prueba automatizada de GUI
- 11. Inspección visual automatizada a través del navegador
- 12. C++ a F # traducción suave
- 13. C a la traducción MIPS
- 14. Python - conteo de frecuencia de letras y traducción
- 15. edición automatizada de varios archivos
- 16. Prueba automatizada .NET (¿Gallio?)
- 17. Traducción automática de F # a C#
- 18. Pasar de Java a Python
- 19. Validación W3C automatizada
- 20. Prueba automatizada SDK de OpenXML
- 21. Creación automatizada de PDF a partir de la dirección URL
- 22. traducción de caracteres usando Python (como el comando tr)
- 23. proceso típico java i18n - envío de archivos de recursos a compañías de traducción para ser traducido
- 24. Recaptcha traducción
- 25. Pruebas manuales Vs Prueba automatizada
- 26. Implementación automatizada en Azure Emulator?
- 27. ¿Llamar a Python en Java?
- 28. Llamar a Java desde Python
- 29. Traducción automática de texto
- 30. Motores de traducción automática de código abierto?
Victor, pensé que amabas Python * * manera demasiado para ir convirtiéndola en Java ..? ;-) – Galwegian
:) Me encanta Python, pero no tengo elección allí ... –