public static boolean pchar(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "pchar")) return false;
    boolean r;
    Marker m = enter_section_(b, l, _NONE_, PCHAR, "<pchar>");
    r = unreserved(b, l + 1);
    if (!r) r = pct_encoded(b, l + 1);
    if (!r) r = consumeToken(b, SUB_DELIMS);
    if (!r) r = consumeToken(b, DOLLAR_SIGN);
    if (!r) r = consumeToken(b, COLON);
    if (!r) r = consumeToken(b, AT);
    if (!r) r = consumeToken(b, PLUS);
    exit_section_(b, l, m, r, false, null);
    return r;
  }
public static boolean pchar(PsiBuilder b, int l)