Changes between Version 20 and Version 21 of j2p


Ignore:
Timestamp:
06/20/23 11:14:08 (22 months ago)
Author:
wouter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • j2p

    v20 v21  
    44This is a complex mechanism and still experimental/in development. This documentation is very incomplete. This code is not yet published on the artifactory.
    55
    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.
     6Some 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.
    1012
    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 
     13The repo contains the translator in the module named "core". The other modules, ending with "-t", are translator plug-ins described below.
    2314
    2415== Internal mechanism
     
    7566||=module=||=what it translates=||=details=||=limitations=||
    7667||jackson-t||jackson serialization annotations||translates jackson to pyson annotations that look very similar to jackson||TBD||
    77 ||junit-t||junit calls assertTrue,assertEquals|| ||no support yet for junit annotations||
    78 ||tudutils-t||translates calls to [https://tracinsy.ewi.tudelft.nl/pubtrac/Utilities/wiki/utilities utilities] package||currently mainly to support immutablelist translation||
     68||junit-t||junit calls assertTrue,assertEquals|| ||Very limited, no support yet for junit annotations||
     69||tudutils-t||translates calls to [https://tracinsy.ewi.tudelft.nl/pubtrac/Utilities/wiki/utilities utilities] package||limited, currently mainly to support parts of immutablelist||
    7970
    8071