gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
descriptionMicroJava ByteCode to WSL tool
ownerDoni Pracner
last changeFri, 19 Jul 2019 14:54:02 +0000 (16:54 +0200)

MJC2WSL - convert MicroJava Compiled Bytecode to WSL/FermaT

mjc2wsl is distributed under the GPL licence, for more details check the src folder. More about the tools can be found in the "docs" folder.

Quick build and test

Running ant in the folder should compile the tool and then do a test - compile all of the sample MicroJava codes into MJ bytecode, translate them to WSL and then apply the given transformations in MetaWSL to the programs.

Look in the "docs" folder for more details about running the available ant tasks, configurations, installations etc.


Check the docs folder for a more detailed tutorial on how to install FermaT under Linux.

This project should work correctly regardless of operating system, that is it should work fine if you have the above requirements setup properly (java-ant-fermat).

It should be noted that although everything should work on Windows or Mac or whatever else can run the dependencies, it is only (at this point) extensively tested under Linux. Feel free to ask about problems running it, suggestions for improving the platform Independence are welcome.

Setting the FermaT dir

The ant build script assumes that Fermat is in "C:/fermat3" under Windows and "~/fermat3" for everything else (Linux/Mac...).

If you need to change this you can rename (or copy) the given file "" to "" and specify a correct path for your system.

About MicroJava

This is a simple language made by H. Mössenböck for a Compiler Construction course. It is NOT the same as Java Micro Edition (JavaME) used on mobile phones.

For details about the language and the version used in this project check out the "docs" folder.

More about the course, the language and its VM:

A functional compiler is distributed in the lib folder for ease of testing and evaluating. Check the folder for further details.

Git status and mirrors

The master branch should hold a stable version at all times. The work branch is usually the current status of the tool, probably stable as well, but more experimental and untested. There is a possibility of other feature branches appearing here and there. These are not neccessarily on all mirrors at the same time. Efforts are made that master is always in sync.

mjc2wsl has a primary git repo on

mirrors are also available:


Project home:

Feel free to contact Doni Pracner if you have any problems, ideas or suggestions.

2019-07-19 Doni Pracnerbump version to 1.1 master work v1.1.0
2019-07-19 Doni Pracnerant task to save the version number in git
2019-07-19 Doni Pracnermjc2wsl, default to PushPop, change some of the informa...
2019-07-19 Doni Pracnermove samples to 'alpha-mj' subfolder
2019-07-19 Doni Pracnerant task, use hill climbing by default
2019-07-19 Doni PracnerHill Climbing automated transformation added to the...
2019-06-27 Doni Pracnerant - default taks calls metrics as well
2018-12-16 Doni Pracnermetrics_csv wrong parameter for expression handling
2018-12-16 Doni Pracnerant, record transformation times per program
2018-07-18 Doni Pracnermjc2wsl, default version number if properties file...
2018-07-17 Doni Pracnerversion string 1.0.0 v1.0.0
2018-07-17 Doni PracnerTransMessages improvements
2018-07-17 Doni Pracnerrename main class to Mjc2wsl
2018-07-17 Doni Pracnermjc2wsl, error message for converting the stream
2018-07-17 Doni Pracnermjc2wsl, typo
2018-07-17 Doni Pracnermjc2wsl, give up if there are unknown options
3 years ago v1.1.0 version 1.1
4 years ago v1.0.0 version 1.0.0
4 years ago v0.2.2 version 0.2.2 - minor improvements
6 years ago v0.2.1 version 0.2.1
8 years ago v0.2.0 Version 0.2.0
8 years ago v0.1.8 version 0.1.8
8 years ago v0.1.7 version 0.1.7
8 years ago v0.1.6 version 0.1.6
8 years ago v0.1.5a v0.1.5 with the addition of the...
8 years ago v0.1.5
8 years ago v0.1.4
8 years ago v0.1.3
8 years ago v0.1.2
10 years ago v0.1.1
3 years ago work
3 years ago master maintanance Doni Pracner