SF.Snowball.Ext.PorterStemmer.Stem C# (CSharp) Method

Stem() public method

public Stem ( ) : bool
return bool
		public override bool Stem()
		{
			int v_1;
			int v_2;
			int v_3;
			int v_4;
			int v_5;
			int v_10;
			int v_11;
			int v_12;
			int v_13;
			int v_14;
			int v_15;
			int v_16;
			int v_17;
			int v_18;
			int v_19;
			int v_20;
			// (, line 113
			// unset Y_found, line 115
			B_Y_found = false;
			// do, line 116
			v_1 = cursor;
			do 
			{
				// (, line 116
				// [, line 116
				bra = cursor;
				// literal, line 116
				if (!(eq_s(1, "y")))
				{
					goto lab0_brk;
				}
				// ], line 116
				ket = cursor;
				// <-, line 116
				slice_from("Y");
				// set Y_found, line 116
				B_Y_found = true;
			}
			while (false);

lab0_brk: ;
			
			cursor = v_1;
			// do, line 117
			v_2 = cursor;
			do 
			{
				// repeat, line 117
				while (true)
				{
					v_3 = cursor;
					do 
					{
						// (, line 117
						// goto, line 117
						while (true)
						{
							v_4 = cursor;
							do 
							{
								// (, line 117
								if (!(in_grouping(g_v, 97, 121)))
								{
									goto lab5_brk;
								}
								// [, line 117
								bra = cursor;
								// literal, line 117
								if (!(eq_s(1, "y")))
								{
									goto lab5_brk;
								}
								// ], line 117
								ket = cursor;
								cursor = v_4;
								goto golab4_brk;
							}
							while (false);

lab5_brk: ;
							
							cursor = v_4;
							if (cursor >= limit)
							{
								goto lab3_brk;
							}
							cursor++;
						}

golab4_brk: ;
						
						// <-, line 117
						slice_from("Y");
						// set Y_found, line 117
						B_Y_found = true;
						goto replab2;
					}
					while (false);

lab3_brk: ;
					
					cursor = v_3;
					goto replab2_brk;

replab2: ;
				}

replab2_brk: ;
				
			}
			while (false);

lab1_brk: ;

			cursor = v_2;
			I_p1 = limit;
			I_p2 = limit;
			// do, line 121
			v_5 = cursor;
			do 
			{
				// (, line 121
				// gopast, line 122
				while (true)
				{
					do 
					{
						if (!(in_grouping(g_v, 97, 121)))
						{
							goto lab8_brk;
						}
						goto golab7_brk;
					}
					while (false);

lab8_brk: ;
					
					if (cursor >= limit)
					{
						goto lab6_brk;
					}
					cursor++;
				}

golab7_brk: ;
				
				// gopast, line 122
				while (true)
				{
					do 
					{
						if (!(out_grouping(g_v, 97, 121)))
						{
							goto lab10_brk;
						}
						goto golab9_brk;
					}
					while (false);

lab10_brk: ;
					
					if (cursor >= limit)
					{
						goto lab6_brk;
					}
					cursor++;
				}

golab9_brk: ;
				
				// setmark p1, line 122
				I_p1 = cursor;
				// gopast, line 123
				while (true)
				{
					do 
					{
						if (!(in_grouping(g_v, 97, 121)))
						{
							goto lab12_brk;
						}
						goto golab11_brk;
					}
					while (false);

lab12_brk: ;
					
					if (cursor >= limit)
					{
						goto lab6_brk;
					}
					cursor++;
				}

golab11_brk: ;
				
				// gopast, line 123
				while (true)
				{
					do 
					{
						if (!(out_grouping(g_v, 97, 121)))
						{
							goto lab14_brk;
						}
						goto golab13_brk;
					}
					while (false);

lab14_brk: ;
					
					if (cursor >= limit)
					{
						goto lab6_brk;
					}
					cursor++;
				}

golab13_brk: ;
				
				// setmark p2, line 123
				I_p2 = cursor;
			}
			while (false);

lab6_brk: ;
			
			cursor = v_5;
			// backwards, line 126
			limit_backward = cursor; cursor = limit;
			// (, line 126
			// do, line 127
			v_10 = limit - cursor;
			do 
			{
				// call Step_1a, line 127
				if (!r_Step_1a())
				{
					goto lab15_brk;
				}
			}
			while (false);

lab15_brk: ;
			
			cursor = limit - v_10;
			// do, line 128
			v_11 = limit - cursor;
			do 
			{
				// call Step_1b, line 128
				if (!r_Step_1b())
				{
					goto lab16_brk;
				}
			}
			while (false);

lab16_brk: ;
			
			cursor = limit - v_11;
			// do, line 129
			v_12 = limit - cursor;
			do 
			{
				// call Step_1c, line 129
				if (!r_Step_1c())
				{
					goto lab17_brk;
				}
			}
			while (false);

lab17_brk: ;
			
			cursor = limit - v_12;
			// do, line 130
			v_13 = limit - cursor;
			do 
			{
				// call Step_2, line 130
				if (!r_Step_2())
				{
					goto lab18_brk;
				}
			}
			while (false);

lab18_brk: ;
			
			cursor = limit - v_13;
			// do, line 131
			v_14 = limit - cursor;
			do 
			{
				// call Step_3, line 131
				if (!r_Step_3())
				{
					goto lab19_brk;
				}
			}
			while (false);

lab19_brk: ;
			
			cursor = limit - v_14;
			// do, line 132
			v_15 = limit - cursor;
			do 
			{
				// call Step_4, line 132
				if (!r_Step_4())
				{
					goto lab20_brk;
				}
			}
			while (false);

lab20_brk: ;
			
			cursor = limit - v_15;
			// do, line 133
			v_16 = limit - cursor;
			do 
			{
				// call Step_5a, line 133
				if (!r_Step_5a())
				{
					goto lab21_brk;
				}
			}
			while (false);

lab21_brk: ;
			
			cursor = limit - v_16;
			// do, line 134
			v_17 = limit - cursor;
			do 
			{
				// call Step_5b, line 134
				if (!r_Step_5b())
				{
					goto lab22_brk;
				}
			}
			while (false);

lab22_brk: ;
			
			cursor = limit - v_17;
			cursor = limit_backward; // do, line 137
			v_18 = cursor;
			do 
			{
				// (, line 137
				// Boolean test Y_found, line 137
				if (!(B_Y_found))
				{
					goto lab23_brk;
				}
				// repeat, line 137
				while (true)
				{
					v_19 = cursor;
					do 
					{
						// (, line 137
						// goto, line 137
						while (true)
						{
							v_20 = cursor;
							do 
							{
								// (, line 137
								// [, line 137
								bra = cursor;
								// literal, line 137
								if (!(eq_s(1, "Y")))
								{
									goto lab27_brk;
								}
								// ], line 137
								ket = cursor;
								cursor = v_20;
								goto golab26_brk;
							}
							while (false);

lab27_brk: ;
							
							cursor = v_20;
							if (cursor >= limit)
							{
								goto lab25_brk;
							}
							cursor++;
						}

golab26_brk: ;
						
						// <-, line 137
						slice_from("y");
						goto replab24;
					}
					while (false);

lab25_brk: ;
					
					cursor = v_19;
					goto replab24_brk;

replab24: ;
				}

replab24_brk: ;
				
			}
			while (false);

lab23_brk: ;
			
			cursor = v_18;
			return true;
		}
	}