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 <value>
	with <value> 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 <config> or
generate_java.sh <config> 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/<temp_dir>/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/<temp_dir>/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/<optional_subdirectory>/<modulename>/<Modulename>Module.java.
