new grammar implemented now working on code gen