An exercise in compilers and learning C.