// class Matches is added by #752 static boolean match3(S pat, S s) { return match3(pat, s, null); } static boolean match3(S pat, S s, Matches matches) { if (s == null) return false; ret match3(pat, parse3_cached(s), matches); } static boolean match3(S pat, L toks, Matches matches) { L tokpat = parse3(pat); ret match3(tokpat,toks,matches); } static boolean match3(L tokpat, L toks, Matches matches) { S[] m = match2(tokpat, toks); //print(structure(tokpat) + " on " + structure(toks) + " => " + structure(m)); if (m == null) return false; else { if (matches != null) matches.m = m; return true; } }