boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "uri")) return false; if (!nextTokenIs(b, LETTER)) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_, URI, null); r = scheme(b, l + 1); r = r && uri_1(b, l + 1); p = r; // pin = 2 r = r && report_error_(b, hier_part(b, l + 1)); r = p && report_error_(b, uri_3(b, l + 1)) && r; r = p && uri_4(b, l + 1) && r; exit_section_(b, l, m, r, p, null); return r || p; }