Note: This thesis is outdated. An updated version is available here.
This pages hosts the artifacts that resulted from my bachelor thesis work. The thesis document itself is actually a fragment because I was too ignorant of time during the thesis work. Files available as a result of the thesis work are linked in the following.
java -jar JaaaCompiler.jar to run it and see usage
instructions.
Sources are available zipped and from Subversion repositories.
The zip file src.zip contains the following directories:
src/Anaphora/ contains the main project filessrc/Java1.4Backend/ contains files from the JastAddJ project that are used to build the compilersrc/Java1.4Frontend/ "src/Java1.5Backend/ "src/Java1.5Frontend/ ".Note that the source files from the JastAddJ project are only provided to be able to compile the released version autonomously.
The zipped sources are also available directly from Subversion repositories. The following list provides links to the repositories along with the tag or in case of the JastAddJ sources the revision used and the revision that contains the last modification to the module in question.
The following hints are based on the zipped sources but apply just as well to sources checked out from SVN.
To build the project yourself, copy the directories under src/ to
a writable directory and either invoke ant jar to generate a
binary, or ant test to execute the tests. Use ant
clean to remove built artifacts. Most likely you need to increase
the heap space by setting the environment variable ANT_OPTS:
export ANT_OPTS=-Xmx256m.
The project is developed under Eclipse, hence the projects files can
also be maintained in eclipse. Each subdirectory of src/
comes with a .project file and is to be imported as a
separate project in Eclipse. Please make sure that each projects is
named after the subdirectory of src/ it is based on. You
can configure the targets invoked above in Eclipse and will need to
increase heap space as well. A Ant separate target gen is
provided that does not compile but only generates the sources of the
compiler so they can be edited, compiled and tested in Eclipse.