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

r_mark_regions() private method

private r_mark_regions ( ) : bool
return bool
		private bool r_mark_regions()
		{
			int v_1;
			int v_2;
			// (, line 29
			I_p1 = limit;
			I_p2 = limit;
			// do, line 32
			v_1 = cursor;
			do 
			{
				// (, line 32
				// or, line 36
				do 
				{
					v_2 = cursor;
					do 
					{
						// among, line 33
						if (find_among(a_0, 1) == 0)
						{
							goto lab2_brk;
						}
						goto lab1_brk;
					}
					while (false);

lab2_brk: ;
					
					cursor = v_2;
					// (, line 36
					// gopast, line 36
					while (true)
					{
						do 
						{
							if (!(in_grouping(g_v, 97, 121)))
							{
								goto lab4_brk;
							}
							goto golab3_brk;
						}
						while (false);

lab4_brk: ;

						if (cursor >= limit)
						{
							goto lab0_brk;
						}
						cursor++;
					}

golab3_brk: ;
					
					// gopast, line 36
					while (true)
					{
						do 
						{
							if (!(out_grouping(g_v, 97, 121)))
							{
								goto lab6_brk;
							}
							goto golab5_brk;
						}
						while (false);

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

golab5_brk: ;
					
				}
				while (false);

lab1_brk: ;
				
				// setmark p1, line 37
				I_p1 = cursor;
				// gopast, line 38
				while (true)
				{
					do 
					{
						if (!(in_grouping(g_v, 97, 121)))
						{
							goto lab8_brk;
						}
						goto golab7_brk;
					}
					while (false);

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

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

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

golab9_brk: ;
				
				// setmark p2, line 38
				I_p2 = cursor;
			}
			while (false);

lab0_brk: ;
			
			cursor = v_1;
			return true;
		}