That project was actually pretty fun. We basically had to build a programming language interpreter. It had to be able to handle assigning and updating values to variables, outputting text, math (including ==, &&, %, etc), and comment messages.
To run it, it's basically ./blip test.blip and it runs the code in test.blip
Haven't decided if I'm going to do the extra credit yet (loops and a bunch of other stuff - haven't really looked at it yet)