MK3
ret = MK3(loc, "", NULL, 0);
*p = MK3(loc, NULL, "0", 0);
locname locdefault { $$ = MK3(loc, $1, $2, 0); }
| locname { $$ = MK3(loc, $1, NULL, 0); }
| '[' locname locdefault ']' { $$ = MK3(loc, $2, $3, 1); }
WORD { $$ = MK3(defoptlist, $1, NULL, NULL); }
| WORD '=' value { $$ = MK3(defoptlist, $1, $3, NULL); }
| WORD COLONEQ value { $$ = MK3(defoptlist, $1, NULL, $3); }
| WORD '=' value COLONEQ value { $$ = MK3(defoptlist, $1, $3, $5); }
WORD '?' { $$ = MK3(loc, $1, NULL, 0); }