adding first implementation of parser, with a test program designed to crash it if one of the requirements is not met.