split the parser from the generator in a separate project