// split at newline, but also take into account multi-line strings static L splitScript(S script) { L tok = javaTok(script); new L result; result.add(""); for (int i = 0; i < tok.size(); i++) { boolean nl = tok.get(i).indexOf("\n") >= 0; if (nl) result.add(""); else result.set(result.size()-1, result.get(result.size()-1) + tok.get(i)); } return result; }