SF.Snowball.Ext.FinnishStemmer.r_t_plural C# (CSharp) Method

r_t_plural() private method

private r_t_plural ( ) : bool
return bool
		private bool r_t_plural()
		{
			int among_var;
			int v_1;
			int v_2;
			int v_3;
			int v_4;
			int v_5;
			int v_6;
			// (, line 160
			// setlimit, line 161
			v_1 = limit - cursor;
			// tomark, line 161
			if (cursor < I_p1)
			{
				return false;
			}
			cursor = I_p1;
			v_2 = limit_backward;
			limit_backward = cursor;
			cursor = limit - v_1;
			// (, line 161
			// [, line 162
			ket = cursor;
			// literal, line 162
			if (!(eq_s_b(1, "t")))
			{
				limit_backward = v_2;
				return false;
			}
			// ], line 162
			bra = cursor;
			// test, line 162
			v_3 = limit - cursor;
			if (!(in_grouping_b(g_v, 97, 246)))
			{
				limit_backward = v_2;
				return false;
			}
			cursor = limit - v_3;
			// delete, line 163
			slice_del();
			limit_backward = v_2;
			// setlimit, line 165
			v_4 = limit - cursor;
			// tomark, line 165
			if (cursor < I_p2)
			{
				return false;
			}
			cursor = I_p2;
			v_5 = limit_backward;
			limit_backward = cursor;
			cursor = limit - v_4;
			// (, line 165
			// [, line 165
			ket = cursor;
			// substring, line 165
			among_var = find_among_b(a_9, 2);
			if (among_var == 0)
			{
				limit_backward = v_5;
				return false;
			}
			// ], line 165
			bra = cursor;
			limit_backward = v_5;
			switch (among_var)
			{
				
				case 0: 
					return false;
				
				case 1: 
					// (, line 167
					// not, line 167
					{
						v_6 = limit - cursor;
						do 
						{
							// literal, line 167
							if (!(eq_s_b(2, "po")))
							{
								goto lab4_brk;
							}
							return false;
						}
						while (false);

lab4_brk: ;
						
						cursor = limit - v_6;
					}
					break;
				}
			// delete, line 170
			slice_del();
			return true;
		}