modify ast according to abstruct syntax