CParser refactoring