static Pair> ai_parseTokenRefNumbers(LS tok) { tok = tok_combineSquareBrackets(tok); new LS out; new Map refToToken; new Map map; for i over tok: { S t = tok.get(i); if (odd(i) && isSquareBracketed(t)) { t = deSquareBracket(t); if (startsWith(t, "*")) refToToken.put(dropFirst(t), i); else mapPut(map, i, refToToken.get(t)); ++i; } else out.add(t); } ret pair(out, map); }