Improved assignment parsing: track indices and += vs =