update ast, grammar, and parser