public static boolean array_operation(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "array_operation")) return false;
    if (!nextTokenIsSmart(b, LEFT_SQUARE)) return false;
    boolean r, p;
    Marker m = enter_section_(b, l, _NONE_, null);
    r = consumeTokenSmart(b, LEFT_SQUARE);
    p = r;
    r = p && operation(b, l, 19);
    r = p && report_error_(b, consumeToken(b, RIGHT_SQUARE)) && r;
    exit_section_(b, l, m, ARRAY_OPERATION, r, p, null);
    return r || p;
  }
public static boolean array_operation(PsiBuilder b, int l)