Changes to make the parsers keep track of the parse sofar (instead of recognising only)