svoid tok_numberFunctionNames(LS tok) { int n = l(tok); new L reToks; for (int i = 1; i < n-2; i += 2) { S number, id; if (isInteger(number = tok.get(i)) && empty(tok.get(i+1)) && isIdentifier(id = tok.get(i+2))) pcall { if (eq(number, "0") && swic(id, "x") // skip hex constants || eqic(id, "f") // skip float constants || eqic(id, "e") && empty(get(tok, i+3)) && (isInteger(get(tok, i+4)) || eqGet(tok, i+4, "-")) // skip exponential floating-point constants (e.g. 1e6) ) continue; replaceTokens_reTokLater(tok, reToks, i, i+3, camelCase(numberToEnglish(parseLong(number))) + firstToUpper(id)); } } reTok_multi(tok, reToks); }