deliverable: benchmark programs

Each project group must produce a small JOOS program, i.e. a collection of classes and a main method. The combined size should be at least 100 lines. The program must "do something" and illustrate an aspect of JOOS. Remember to run and test your programs!

Your program should be an application (i.e. it has a main method), and it should take input from stdin and write output to stdout. It should be possible to put the input in a file called in1 , and run the program as:
java Myprog < in1

You should also be able to run the program capturing the expected output in a file called out1 using:
java Myprog < in1 > out1

Your program should be deterministic (i.e. it must always produce exactly the same output, given the same input). This is so we can automatically run the benchmarks and test the output against an expected output.

Your test program should be compilable with both javac and joosc. If your program consists for files f1.java f2.java f3.java , then you should be able to compile them using:
javac f1.java f2.java f3.java
and
joosc f1.java f2.java f3.java

These programs will be the benchmarks for the peephole contest.

For McGill Students

You should hand in your assignment by making a jar file with all of the files which comprise your benchmark, a README file describing your benchmark, a test input file called in1 and the matching output file called out1 . The jar file should be sent by e-mail, as an attachment, to the appropriate TA. Use the subject heading "CS 520 - group xx - Joos Benchmark", where xx is your group number.

If your group number is XX, then put all of your files in a directory called XXBenchmark. Change directories so that you are in the directory containing the XXBenchmark directory. Create a jar file using the command:
jar -cvf groupXX.jar XXBenchmark
Remember to use your two digit group number (01, 02, ..., 12) instead of XX!

A hard copy, clearly printed and labeled with your group number should be handed in at the beginning of class.