// returns pair(status, MatchJob) static Pair solveMatchJob(L tokInput, S pattern) { L tokens = codeTokens(tok_combineAngleBrackets_keep(javaTok(pattern))); MatchJob mj = MatchJob(tokInput, tokens); S status = "Initial"; while licensed { status = simplifyMatchJob1(mj); if (!eqic(status, "Simplified")) break; } ret pair(status, mj); }