Mini-Java Compiler

An implementation of UCLA CS 132 Project to compile Mini-Java to MIPS.

Features:

Build

To build this project, use the following command at the root of this repository:

javac -d bin -sourcepath src src/Main.java

the executable files will be stored in bin .

Run

To typecheck and compile a Mini-Java source file a.java to MIPS, use:

java -cp bin Main a.java

If typecheck succeeds, a MIPS assembly file a.s (with the same name) will be created at the same directory. Otherwise the program will report the errors and terminate.

Judge

To check the correctness, just click and run the judge/judge.bat in Windows. It will go through every .java file in the sample directory, and check if the output files have the same behaviour(output) as the origin Mini-Java source file.

It requires the sPiglet Parser judge/spp.jar , the Piglet Interpreter judge/pgi.jar and the Kanga Interpreter judge/kgi.jar.

Note: Checking MIPS assembly file is not supported yet.