6 | | It can translate both single file java programs as multi-file projects. |
7 | | It supports translating calls to external libraries through a pluggable system of translators, so that translation support for new libraries can be easily added without need for recompilation of the tool itself. |
8 | | It generates a zip file containing the translated files plus installation directions, ready to be used with the "pip install" command; |
9 | | We also have a [https://tracinsy.ewi.tudelft.nl/pubtrac/Utilities/wiki/pyrunner library] supporting running these zip files from java. |
| 6 | Some features: |
| 7 | * both single-file as multi-file projects |
| 8 | * translates calls to external libraries |
| 9 | * pluggable translators supporting calls to external liraries |
| 10 | * can generate pip-installable zip file |
| 11 | * Another tool [https://tracinsy.ewi.tudelft.nl/pubtrac/Utilities/wiki/pyrunner library] supports running these python zip files from java. |
11 | | There are a number of packages inside this project, because this translator has a modular setup: |
12 | | |
13 | | ||= package name= artifactid =||= description =||= current state =|| |
14 | | ||core||translation of java programs + library containing translators for a few basic java classes||general translation somewhat complete; library translators very partial|| |
15 | | ||jackson-t||library with translators for jackson->pyson translation||quite complete|| |
16 | | ||tudutils-t||library with translators for tudelft utilities package.||very partial || |
17 | | ||junit-t||library, translators for junit||very partial|| |
18 | | |
19 | | These modules offer translation support for external java libraries. For instance jackson is an external library to translate json to java; the jackson-t library translates jackson-based code and annotations into pyson-based python code. |
20 | | |
21 | | You can easily extend the standard core translator with these plugin translators by just importing these plugins in your java project. Just make sure that they are all based on the same core version. |
22 | | |
| 13 | The repo contains the translator in the module named "core". The other modules, ending with "-t", are translator plug-ins described below. |