public static boolean constraint_req(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "constraint_req")) return false;
    if (!nextTokenIs(b, CONSTRAINT)) return false;
    boolean r, p;
    Marker m = enter_section_(b, l, _NONE_, CONSTRAINT_REQ, null);
    r = consumeToken(b, CONSTRAINT);
    p = r; // pin = 1
    r = r && uri_reference(b, l + 1);
    exit_section_(b, l, m, r, p, null);
    return r || p;
  }
public static boolean constraint_req(PsiBuilder b, int l)