Further splitting of Parser

This seems to help the build on lower memory machines (< 1Gb being
lower memory!)