static LS ai_applyWordSplitPattern1(LS tokP, LS tokI) { L indices = indicesOfSubList(tokP, ll("", "{}", "")); if (empty(indices)) ret tokI; LS tokI_original = tokI; tokI = cloneList(tokI); for (int i : indices) { //if (l(tokI) < i+2) ret tokI_original; S l = get(tokP, i-1), r = get(tokP, i+3); if (startsWith(l, "$") && isIdentifier(l) && isIdentifier(r)) { S x = get(tokI, i-1); if (!ewic(x, r)) ret tokI_original; // fail tokI.set(i-1, dropLast(x, l(r))); tokI.add(i, ""); tokI.add(i+1, "{}"); tokI.add(i+2, ""); tokI.add(i+3, takeLast(x, l(r))); } } ret tokI; }