MCI-Javac
Multiple Code Inheritance Compiler for Java
Download the binary distribution of mcijavac (mcijavac.tar.gz). Download the scenario source files (scenarios.tar.gz).
The source code distribution of mcijavac is available for download here (mcijavacSource.tar.gz).
Instructions for download and use of mcijavac:
- Untar the binary distribution: tar -xzvf mcijavac.tar.gz and the scenario source files: tar -xzvf scenarios.tar.gz
- If you would like to compile the source for the Jikes compiler, create a folder in which you will copy and untar the source mcijavacSource.tar.gz: tar -xzvf mcijavacSource.tar.gz. Run the setup and then you will find the binary mcijavac in the bin folder.
- Set your CLASSPATH variable to include the directory mciJVM/build/linux/classes. For example, if your destination folder for mciJVM is jvmPath, then set CLASSPATH to jvmPath/mciJVM/build/linux/classes.
- Compile the Code in Interfaces and Multi-Super Scenarios:
- Compile the scenario Refactored java.io Stream Classes:
- In the testRefactor folder, you will find the file mcirt.jar. This library contains the .class files for the stream classes modified and for the additional classes needed for refactoring purposes.
- Compile the Java source files in the testRefactor folder: $ mcijavac -bootclasspath mcirt.jar *.java
- The only difference between TestRefactor and ITestRefactor classes is the static type of the receiver object. When the static type of the receiver for the read/write operations is a
class, we execute the file TestRefactor. When the static type of the receiver for the read/write operations is an
interface (DataInput for the DataInputStream instance, DataOutput for the
DataOutputStream instance), we execute the file ITestRefactor.
- Alternately, if your CLASSPATH is not set to jvmPath/mciJVM/build/linux/classes:
Links