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