SF.Snowball.Ext.EnglishStemmer.r_Step_1b C# (CSharp) Method

r_Step_1b() private method

private r_Step_1b ( ) : bool
return bool
		private bool r_Step_1b()
		{
			int among_var;
			int v_1;
			int v_3;
			int v_4;
			// (, line 63
			// [, line 64
			ket = cursor;
			// substring, line 64
			among_var = find_among_b(a_3, 6);
			if (among_var == 0)
			{
				return false;
			}
			// ], line 64
			bra = cursor;
			switch (among_var)
			{
				
				case 0: 
					return false;
				
				case 1: 
					// (, line 66
					// call R1, line 66
					if (!r_R1())
					{
						return false;
					}
					// <-, line 66
					slice_from("ee");
					break;
				
				case 2: 
					// (, line 68
					// test, line 69
					v_1 = limit - cursor;
					// gopast, line 69
					while (true)
					{
						do 
						{
							if (!(in_grouping_b(g_v, 97, 121)))
							{
								goto lab1_brk;
							}
							goto golab0_brk;
						}
						while (false);

lab1_brk: ;

						if (cursor <= limit_backward)
						{
							return false;
						}
						cursor--;
					}

golab0_brk: ;
					
					cursor = limit - v_1;
					// delete, line 69
					slice_del();
					// test, line 70
					v_3 = limit - cursor;
					// substring, line 70
					among_var = find_among_b(a_2, 13);
					if (among_var == 0)
					{
						return false;
					}
					cursor = limit - v_3;
					switch (among_var)
					{
						
						case 0: 
							return false;
						
						case 1: 
							// (, line 72
							// <+, line 72
							{
								int c = cursor;
								insert(cursor, cursor, "e");
								cursor = c;
							}
							break;
						
						case 2: 
							// (, line 75
							// [, line 75
							ket = cursor;
							// next, line 75
							if (cursor <= limit_backward)
							{
								return false;
							}
							cursor--;
							// ], line 75
							bra = cursor;
							// delete, line 75
							slice_del();
							break;
						
						case 3: 
							// (, line 76
							// atmark, line 76
							if (cursor != I_p1)
							{
								return false;
							}
							// test, line 76
							v_4 = limit - cursor;
							// call shortv, line 76
							if (!r_shortv())
							{
								return false;
							}
							cursor = limit - v_4;
							// <+, line 76
							{
								int c = cursor;
								insert(cursor, cursor, "e");
								cursor = c;
							}
							break;
						}
					break;
				}
			return true;
		}