Made Parser an abstract base class, so that it can only be used if it's subclassed properly.