| exp DOT IDENT (mark (A.Member(exp, IDENT), (expleft, IDENTright)))
| exp ARROW IDENT (mark (A.DerefMember(exp, IDENT), (expleft, IDENTright)))
| STAR exp %prec UNARY (mark (A.Dereference(exp), (STARleft, expright)))
| exp DOT IDENT (mark (A.Member(exp, IDENT), (expleft, IDENTright)))
| exp ARROW IDENT (mark (A.DerefMember(exp, IDENT), (expleft, IDENTright)))
| STAR exp %prec UNARY (mark (A.Dereference(exp), (STARleft, expright)))