Adding redesign of the ParserGenerator classes with better object abstractions