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;
	}