static Pair> ai_parseTokenRefNumbers(LS tok) { tok = tok_combineSquareBrackets_keep(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), l(out)-2); else mapPut(map, l(out)-2, refToToken.get(t)); ++i; } else out.add(t); } ret pair(out, map); }