Further refactoring of CParser