fix(parser): suppor local assignments; refactor; perf improvments