We currently generate class files by running the Java implementation of JasminXT from Stratego. This requires every project with Jasmin files to include the JasminXT jar.

Class file generation should be implemented in Stratego. A good starting point is the Dryad project and its bytecode interface. You should figure out if its class file generation can be adopted to work on Jasmin ASTs.

Submitted by Guido Wachsmuth on 14 February 2014 at 11:55

On 14 February 2014 at 11:55 Guido Wachsmuth removed tag @guidowachsmuth

On 14 February 2014 at 11:56 Guido Wachsmuth tagged mdsd14

On 21 February 2014 at 09:45 Reinier Hartog tagged @rmhartog

On 21 February 2014 at 09:46 Reinier Hartog removed tag @rmhartog

On 21 February 2014 at 09:46 Reinier Hartog tagged @reinierhartog

On 27 February 2014 at 10:39 Reinier Hartog commented:

Initially we investigated the classfile generation of the Dryad project. As the Dryad project is no longer actively maintained, we planned on extracting the class file generation from it. The classfile generation in Dryad uses Apache BCEL (http://commons.apache.org/proper/commons-bcel/), but the website states that this is not actively maintained anymore for the last couple of years. We therefore started building classfile generation based on the ASM framework (http://asm.ow2.org/), which is still actively developed.


On 5 March 2014 at 14:00 Guido Wachsmuth commented:

You need to think about a proper way to handle the integration of the ASM framework, particularly w.r.t. licensing, when you ship a delivery. Since they also provide an Eclipse plugin, you might want to depend on their plugin, instead of integrating the source code into your plugin.


On 21 March 2014 at 11:17 Reinier Hartog commented:

I have pushed an initial version of code-generation, which can create class files for all the examples that are currently in the project. We will have to see what is still missing from these class files, and what kind of examples we can create for missing features.

Log in to post comments