static L javaTokNPunctuation(S s) { L tok = javaTok(s); for (int i = 1; i < l(tok); i += 2) { int j = i; S t; while (j < l(tok) && l(t = tok.get(j)) == 1 && !Character.isLetterOrDigit(t.charAt(0))) j += 2; if (j > i) // j points to next C token after mergeable stuff replaceSubList(tok, i-1, j, ll(joinSubList(tok, i-1, j))); } ret tok; }