DECR
keys = vocab(DECR(k,e,y,s,\0), 1, 0);
lamp = vocab(DECR(l,a,m,p,\0), 1, 0);
grate = vocab(DECR(g,r,a,t,e), 1, 0);
cage = vocab(DECR(c,a,g,e,\0),1, 0);
rod = vocab(DECR(r,o,d,\0,\0),1, 0);
steps = vocab(DECR(s,t,e,p,s),1, 0);
bird = vocab(DECR(b,i,r,d,\0),1, 0);
door = vocab(DECR(d,o,o,r,\0),1, 0);
pillow= vocab(DECR(p,i,l,l,o), 1, 0);
snake = vocab(DECR(s,n,a,k,e), 1, 0);
fissur= vocab(DECR(f,i,s,s,u), 1, 0);
tablet= vocab(DECR(t,a,b,l,e), 1, 0);
clam = vocab(DECR(c,l,a,m,\0),1, 0);
oyster= vocab(DECR(o,y,s,t,e), 1, 0);
magzin= vocab(DECR(m,a,g,a,z), 1, 0);
dwarf = vocab(DECR(d,w,a,r,f), 1, 0);
knife = vocab(DECR(k,n,i,f,e), 1, 0);
food = vocab(DECR(f,o,o,d,\0),1, 0);
bottle= vocab(DECR(b,o,t,t,l), 1, 0);
water = vocab(DECR(w,a,t,e,r), 1, 0);
oil = vocab(DECR(o,i,l,\0,\0),1, 0);
plant = vocab(DECR(p,l,a,n,t), 1, 0);
axe = vocab(DECR(a,x,e,\0,\0),1, 0);
mirror= vocab(DECR(m,i,r,r,o), 1, 0);
dragon= vocab(DECR(d,r,a,g,o), 1, 0);
chasm = vocab(DECR(c,h,a,s,m), 1, 0);
troll = vocab(DECR(t,r,o,l,l), 1, 0);
bear = vocab(DECR(b,e,a,r,\0),1, 0);
messag= vocab(DECR(m,e,s,s,a), 1, 0);
vend = vocab(DECR(v,e,n,d,i), 1, 0);
batter= vocab(DECR(b,a,t,t,e), 1, 0);
nugget= vocab(DECR(g,o,l,d,\0),1, 0);
coins = vocab(DECR(c,o,i,n,s), 1, 0);
chest = vocab(DECR(c,h,e,s,t), 1, 0);
eggs = vocab(DECR(e,g,g,s,\0),1, 0);
tridnt= vocab(DECR(t,r,i,d,e), 1, 0);
vase = vocab(DECR(v,a,s,e,\0),1, 0);
emrald= vocab(DECR(e,m,e,r,a), 1, 0);
pyram = vocab(DECR(p,y,r,a,m), 1, 0);
pearl = vocab(DECR(p,e,a,r,l), 1, 0);
rug = vocab(DECR(r,u,g,\0,\0),1, 0);
chain = vocab(DECR(c,h,a,i,n), 1, 0);
back = vocab(DECR(b,a,c,k,\0),0, 0);
look = vocab(DECR(l,o,o,k,\0),0, 0);
cave = vocab(DECR(c,a,v,e,\0),0, 0);
null = vocab(DECR(n,u,l,l,\0),0, 0);
entrnc= vocab(DECR(e,n,t,r,a), 0, 0);
dprssn= vocab(DECR(d,e,p,r,e), 0, 0);
enter = vocab(DECR(e,n,t,e,r), 0, 0);
pour = vocab(DECR(p,o,u,r,\0), 2, 0);
say = vocab(DECR(s,a,y,\0,\0),2, 0);
lock = vocab(DECR(l,o,c,k,\0),2, 0);
throw = vocab(DECR(t,h,r,o,w), 2, 0);
find = vocab(DECR(f,i,n,d,\0),2, 0);
invent= vocab(DECR(i,n,v,e,n), 2, 0);
strlcpy(magic, DECR(d,w,a,r,f), sizeof magic);
| DECR var { $$ = op1(PREDECR, $2); }
| var DECR { $$ = op1(POSTDECR, $1); }
%right DECR INCR
input(); yylval.i = DECR; RET(DECR);
%nonassoc INCR DECR
| DECR named_expression
| named_expression DECR