X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=mjc2wsl.git;a=blobdiff_plain;f=lib%2Fmj-compiler.txt;fp=lib%2Fmj-compiler.txt;h=99b136dfe33623170d1c7f7152e5c4d357ae71c1;hp=0000000000000000000000000000000000000000;hb=13d9b6940ed9c98556e7d2af0ceb9757ce3dc68e;hpb=7be8f8cc16b49a01dc6124c61b4dd92ff0a89aa0 diff --git a/lib/mj-compiler.txt b/lib/mj-compiler.txt new file mode 100644 index 0000000..99b136d --- /dev/null +++ b/lib/mj-compiler.txt @@ -0,0 +1,67 @@ +MicroJava Compiler +================== + +About MicroJava +--------------- + +MicroJava is a simple language made by H. Mössenböck for a Compiler Construction +course. It is not the same as Java Micro Edition (JavaME) used on mobile +phones. + +More about the course, the language and its VM: +http://www.ssw.uni-linz.ac.at/Misc/CC/ + +The site for the Serbian version of the course: +http://perun.pmf.uns.ac.rs/kurbalija/Teaching/kk.htm + + +About the compiler and runner +----------------------------- + +A jar file "mj.jar" for a functional MJ compiler is given in +the lib folder. The implementation used is heavily based on +the source templates that are used in the Compiler +Construction classes and finished by students during the +course. + +The original source templates were written by Moessenboeck +and are available on the sites given above, though there are +posible updates. The version given has the compiler finished +by a student, and a few additional changes (such as the +optional decoding while writeing to file). + + +Usage of the compiler +--------------------- + +Calls to the compiler can be made with: + +java MJ.Compiler [-print] + +"-print" is to output the bytecode generated to the screen + + +Calling the interpreter is done with: + +java MJ.Run [-d] + +"-d" is to decode the input file before running it. + + +There is also a Decoder available: + +java MJ.Decode + + +You might want to include the "mj.jar" into your CLASSPATH, +or just use "-cp mj.jar" in the command line. + + +Ant +---- + +An ant build script can be found in the root folder of the +project and it includes tasks for building using the +compiler and runner. It also includes tasks for building a +compiler from and into the appropriate directories which +are then overrideing the jar file.