Developing parsers step-by-step