Compile to jvm

From Liberty Eiffel Wiki
Revision as of 22:00, 11 August 2014 by Ramack (talk | contribs) (make this tool obsolete)
Jump to navigation Jump to search


In times of SmartEiffel, there was the backend compile_to_jvm - an alternative compiler that produces Java byte-code. It generates a subdirectory named from the main class of a project that is suitable for either direct execution or JAR generation.

Currently this is not supported, as none seems to care about or use it for any interesting project. We will keep this for some time but at time being there are no plans to continue compile_to_jvm. If you think it is worth resurrecting this backend please Get_in_touch let use know.


  • compile_to_jvm [options] <Root-Class> <Root-Procedure>
  • compile_to_jvm [options] <ACEfilename>
  • compile_to_jvm -help

This tool works similarly to the standard compile_to_c compiler and thus shares many options: assertion control, path loading...

Current (2.2) specific options are:

  • -jar: tell the compiler to also produce a .jar file of the project
  • -run: tell the compiler to automatically run the project after successful compilation
  • -use_jar <jar>: use <jar> application to generate the .jar file instead of the default one (implies -jar)
  • -use_jvm <jvm>: use <jvm> to run the program instead of the default one (implies -run)
  • -extern_compiler <compiler>: Use the Java <compiler> compiler to compile plugins and runtime
  • -ss <size>: Set the maximum stack size to <size> (implies -run)
  • -mx <size>: Set the maximum heap size to <size> (implies -run)
  • -ms <size>: Set the initial heap size to <size> (implies -run)
  • -classpath <path>: Set the path which is search for compiled classes (implies -run)