Automatyczne tłumaczenie Pythona na Javę [zamknięte]

Czy istnieje narzędzie, które automatycznie konwertuje Pythona na Javę? Czy Jython może to zrobić?

Author: JasonMArcher, 2008-09-30

4 answers

To może nie być łatwy problem. Określenie sposobu mapowania klas zdefiniowanych w Pythonie na typy w Javie będzie dużym wyzwaniem ze względu na różnice w czasie wiązania każdego z typów. (Duck typing vs. compile time binding).

 6
Author: user20149,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 15:23:47

Właściwie, może to być pomocne, ale możesz napisać skrypt, który stworzył klasę Java dla każdej klasy Pythona, w tym stuby metod, umieszczając implementację Pythonowej metody wewnątrz Javadoc

W rzeczywistości jest to prawdopodobnie dość łatwe do zapukania w Pythonie.

PracowaĹ 'Em dla firmy, ktĂłra wykonaĹ' a port do Javy ogromnego systemu Smalltalk (podobnego do Pythona) i to jest dokĹ ' adnie to, co zrobili. Wypełnianie metod było ręczne, ale bezcenne, bo to sprawiło, że naprawdę pomyślałeś o tym, co się dzieje. Wątpię, żeby metoda brute-force zaowocowała ładnym kodem.

Jest jeszcze jedna możliwość: Czy można łatwiej przekonwertować Pythona na Jython? Jython jest po prostu Pythonem dla JVM. Może być możliwe użycie dekompilatora Javy (np. JAD), aby następnie przekonwertować kod bajtowy z powrotem na kod Javy (lub może po prostu chcesz uruchomić na JVM). Nie jestem tego jednak pewien, może ktoś inny miałby lepszy pomysł.

 13
Author: oxbow_lakes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 22:31:39

Yes Jython does this, but it may or may not be what you want

 3
Author: Luke Stanley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-13 02:59:32

Aby wyjaśnić twoje pytanie:

Od kodu źródłowego Pythona do kodu źródłowego Javy? (Nie sądzę)

.. czy od kodu źródłowego Pythona do kodu bajtowego Javy? (Jython robi to pod maską)

 1
Author: Corey Goldberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-09-30 15:22:24