static double evalFactor(Parser *p){ double ret= evalPow(p); while(p->s[0]=='^'){ p->s++; ret= pow(ret, evalPow(p)); } return ret; }
static void evalFactor(Parser *p){ evalPow(p); while(p->s[0]=='^'){ double d; p->s++; evalPow(p); d= pop(p); push(p, pow(pop(p), d)); } }