private boolean r_particle_etc() {
            int among_var;
            int v_1;
            int v_2;
                    // (, line 54
                    // setlimit, line 55
                    v_1 = limit - cursor;
                    // tomark, line 55
                    if (cursor < I_p1)
                    {
                        return false;
                    }
                    cursor = I_p1;
                    v_2 = limit_backward;
                    limit_backward = cursor;
                    cursor = limit - v_1;
                    // (, line 55
                    // [, line 55
                    ket = cursor;
                    // substring, line 55
                    among_var = find_among_b(a_0, 10);
                    if (among_var == 0)
                    {
                        limit_backward = v_2;
                        return false;
                    }
                    // ], line 55
                    bra = cursor;
                    limit_backward = v_2;
                    switch(among_var) {
                        case 0:
                            return false;
                        case 1:
                            // (, line 62
                            if (!(in_grouping_b(g_particle_end, 97, 246)))
                            {
                                return false;
                            }
                            break;
                        case 2:
                            // (, line 64
                            // call R2, line 64
                            if (!r_R2())
                            {
                                return false;
                            }
                            break;
                    }
                    // delete, line 66
                    slice_del();
                    return true;
                }