public static boolean name_req(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "name_req")) return false;
    if (!nextTokenIs(b, IDENTIFIER)) return false;
    boolean r, p;
    Marker m = enter_section_(b, l, _NONE_, NAME_REQ, null);
    r = simple_name(b, l + 1);
    r = r && name_req_1(b, l + 1);
    r = r && name_req_2(b, l + 1);
    r = r && name_req_3(b, l + 1);
    r = r && name_req_4(b, l + 1);
    p = r; // pin = 5
    r = r && name_req_5(b, l + 1);
    exit_section_(b, l, m, r, p, null);
    return r || p;
  }
public static boolean name_req(PsiBuilder b, int l)