codice:
#define PUSH(l, r) {*stack++ = (l); *stack++ = (r);}

#define POP(l, r) {(r) = *--stack; (l) = *--stack;}
Cosa fanno queste due macro????

stack è un'array allocato dinamicamente di dimensione n