// probably better than findTranslators (uses tokens) // removes invocations from src static S findTranslators2(S src, L libsOut) { ret join(findTranslators2(javaTok(src), libsOut)); } // modifies original tok static L findTranslators2(L tok, L libsOut) { int i; while ((i = jfind(tok, "!")) >= 0) { setAdd(libsOut, tok.get(i+2)); clearTokens(tok, i, i+3); } ret tok; }