static boolean find3(S pat, S s) { return find3(pat, s, null); } static boolean find3(S pat, S s, Matches matches) { ret find3(pat, parse3_cachedInput(s), matches); } static boolean find3(S pat, LS toks, Matches matches) { L tokpat = parse3_cachedPattern(pat); S[] m = find2(tokpat, toks); //print(structure(tokpat) + " on " + structure(toks) + " => " + structure(m)); if (m == null) false; if (matches != null) matches.m = m; true; }