CUP parser half