grammar and adt