static S dumbCalc(S s) { L tok = javaTok(s); int i; BigInteger result = null; for (S op : litlist("+", "-", "*", "/", "^")) { while ((i = matchMetaNoStar(tok, "", op, "")) >= 0) { BigInteger a = new BigInteger(tok.get(i)), b = new BigInteger(tok.get(i+4)); result = mathOp(op, a, b); clearAllTokens(tok.subList(i, i+5)); tok.set(i, "" + result); tok = javaTok(tok); } } if (result != null) ret "" + result; ret null; }