The Simulator is written in Haskell. It reads in an .prog file which is basicly the Haskell output of the internal ant language representation. Is is generated be the phec compiler.
We didn't bother writing a parser for the ant language itself. In the later main program we passed the compiled program interal so there was no need.
The simulator has serveral output formats. First of all it has a colorised xterm compatible console output. Additionally you can output a dump of the simulation in the format the organisers provided it. At Saturday evening I verified the Simulator using the
diff command. There was not even a space difference :-). Last but not least there is the output for the frontend, which consists of all cell where an ant is and all ants. This gives quite a large amount of data. (150MB for 10000 steps)