Parser rewrite