viewer for ant tournaments as described in http://www.cis.upenn.edu/group/proj/plclub/contest/ COMPILATION & USE: for a simple compile (without debugging aspects), do abc automaton/*.java command/*.java main/*.java model/*.java style/*.java viewer/*.java parser/*.java -d bin to run, put the bin directory on your classpath, and run java main.Main The buttons are self-explanatory: sample worlds and ants can be found in sample/worlds and sample/ants respectively. Including "debug/*.java" in the compilation enables the debugging aspects. When these are enabled, invoke by java main.Main sample/output/tracefile sample/output/dumpfile 1000 this will put a trace of all actions in tracefile, and it will dump the state of the world for the first 1000 iterations in dumpfile. DIRECTORY STRUCTURE: automaton: classes for building automata that control ant behaviour currently only the most basic structure benchmark: batch version for benchmarking purposes bin: classfiles command: ant instructions debug: debugging aspects main: main program model: model of ants, cells, world parser: parser for instructions profile: profiling aspects sample: sample input/output files style: style aspects viewer: graphical viewer ASPECTS: command: Comment - to include comments in instructions (uses interface intertype decls) debug: CheckScores - check incremental computation of scores (uses advice precedence, itds and advice) CommandTracer - trace individual instructions LiveAnts - verify invariants about live ants WorldDumper - dump the world after each round (as suggested in contest problem statement) model: Combat - combat behaviour for ants (both itds and advice) Resting - resting behaviour for ants profile: NoNewInRound - ensure that there are no heap allocations during play NoNewInCmd - ensure that there are no heap allocations while executing commands style: PublicAccessFields - warning for use of public fields viewer: Update - update individual hexagons when changes occur and also update current scores BENCHMARK USE: To use this as a benchmark, do abc automaton/*.java command/*.java model/*.java style/*.java parser/*.java benchmark/*.java profile/NoNewInCmd.java -d bin and execute java benchmark.Main