These are crude instructions for the java modifications. /******************************************************************************\ The basic structure remains the same, specific changes include: - Addition of /src/generator/lang.cpp and /src/include/lang.h. Contains an abstract class lang that encapsulates the differences in generated languages. For specific languages there are classes lang_cpp and lang_java that inherit and implement the lang class. The generator executable now accepts an optional parameter -l or --lang with either cpp or java, with cpp as default - Directory /src/modules now has subdirectories cpp and java with data specific to each language. - Directory /src/templates now has subdirectories cpp and java with data specific to each language. - In /src/templates/java directory there is a java template directory generatedprogram, with roughly the same functionality as the C++ template file. Also contains JNI interface to the generators configuration file parsing. Other dependencies on the generator code are ported and placed, here, like the random number generator in Rand.java. Only the Worker.java file needs to be completed by the generator. - A makefile in /src/ has been extended by a java part handling part of the java compilation. Like C++ compilation of library module.a, java part of the makefile compiles the java modules, and then everything else needed that is not dependent on the Worker.java. The results are placed in the /bin/javapart/ directory, similar to module.a for C++ - in /bin/ there is a java version of generate script called generate_java.sh with the equivalent functionality - it generates the application in a temporary directory using the precompiled files from /bin/javapart/. The original script is renamed to generate_cpp.sh - Directory /bin/conf now has subdirectories cpp and java with configuration files specific to each language, and contains config files previously in /bin/ /******************************************************************************\ To run the program, build it by a makefile in /. That builds the generator for both languages. Then in /bin/ use either generate_cpp.sh or generate_java.sh to generate a program. The config file is automaticaly found in /bin/conf/cpp or /bin/conf/java, according to which generate script you are using. So to generate a C++ program type the following in the /bin direcory: ./generate_cpp.sh single-threaded and then run it just like before, by executing /bin//main To generate a Java program, type the following in the /bin direcory: ./generate_java.sh single-threaded To run it there is a script /bin//run.sh that executes the program. /******************************************************************************\ The new java modules extend the Module class in /src/modules/java/common/Module.java. Module's main classes are be placed in /src/modules/java///Module.java.