String () { skip('('); int start = i; int depth = 1; for (; i < len; i++) { if (s[i] == '(') depth++; if (s[i] == ')' && --depth == 0) return new String(s, start, i++ - start); } throw errorAt(start, "Unfinished value '" + new String(s, start, len - start) + "'"); }