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 = get(tok, i+1); if (even(i) && isSquareBracketed(t)) { t = deSquareBracket(t); if (startsWith(t, "*")) refToToken.put(dropFirst(t), l(out)-1); else mapPut(map, l(out)-1, refToToken.get(t)); ++i; } else out.add(tok.get(i)); } ret pair(out, map); }