make a.b@c.d parse to a.b[c].d
update compiler
wrap long lines