SF.Snowball.Ext.ItalianStemmer.r_standard_suffix C# (CSharp) Method

r_standard_suffix() private method

private r_standard_suffix ( ) : bool
return bool
		private bool r_standard_suffix()
		{
			int among_var;
			int v_1;
			int v_2;
			int v_3;
			int v_4;
			// (, line 103
			// [, line 104
			ket = cursor;
			// substring, line 104
			among_var = find_among_b(a_6, 49);
			if (among_var == 0)
			{
				return false;
			}
			// ], line 104
			bra = cursor;
			switch (among_var)
			{
				
				case 0: 
					return false;
				
				case 1: 
					// (, line 110
					// call R2, line 110
					if (!r_R2())
					{
						return false;
					}
					// delete, line 110
					slice_del();
					break;
				
				case 2: 
					// (, line 112
					// call R2, line 112
					if (!r_R2())
					{
						return false;
					}
					// delete, line 112
					slice_del();
					// try, line 113
					v_1 = limit - cursor;
					do 
					{
						// (, line 113
						// [, line 113
						ket = cursor;
						// literal, line 113
						if (!(eq_s_b(2, "ic")))
						{
							cursor = limit - v_1;
							goto lab0_brk;
						}
						// ], line 113
						bra = cursor;
						// call R2, line 113
						if (!r_R2())
						{
							cursor = limit - v_1;
							goto lab0_brk;
						}
						// delete, line 113
						slice_del();
					}
					while (false);

lab0_brk: ;
					
					break;
				
				case 3: 
					// (, line 116
					// call R2, line 116
					if (!r_R2())
					{
						return false;
					}
					// <-, line 116
					slice_from("log");
					break;
				
				case 4: 
					// (, line 118
					// call R2, line 118
					if (!r_R2())
					{
						return false;
					}
					// <-, line 118
					slice_from("u");
					break;
				
				case 5: 
					// (, line 120
					// call R2, line 120
					if (!r_R2())
					{
						return false;
					}
					// <-, line 120
					slice_from("ente");
					break;
				
				case 6: 
					// (, line 122
					// call RV, line 122
					if (!r_RV())
					{
						return false;
					}
					// delete, line 122
					slice_del();
					break;
				
				case 7: 
					// (, line 123
					// call R1, line 124
					if (!r_R1())
					{
						return false;
					}
					// delete, line 124
					slice_del();
					// try, line 125
					v_2 = limit - cursor;
					do 
					{
						// (, line 125
						// [, line 126
						ket = cursor;
						// substring, line 126
						among_var = find_among_b(a_4, 4);
						if (among_var == 0)
						{
							cursor = limit - v_2;
							goto lab1_brk;
						}
						// ], line 126
						bra = cursor;
						// call R2, line 126
						if (!r_R2())
						{
							cursor = limit - v_2;
							goto lab1_brk;
						}
						// delete, line 126
						slice_del();
						switch (among_var)
						{
							
							case 0: 
								cursor = limit - v_2;
								goto lab1_brk;
							
							case 1: 
								// (, line 127
								// [, line 127
								ket = cursor;
								// literal, line 127
								if (!(eq_s_b(2, "at")))
								{
									cursor = limit - v_2;
									goto lab1_brk;
								}
								// ], line 127
								bra = cursor;
								// call R2, line 127
								if (!r_R2())
								{
									cursor = limit - v_2;
									goto lab1_brk;
								}
								// delete, line 127
								slice_del();
								break;
							}
					}
					while (false);

lab1_brk: ;
					
					break;
				
				case 8: 
					// (, line 132
					// call R2, line 133
					if (!r_R2())
					{
						return false;
					}
					// delete, line 133
					slice_del();
					// try, line 134
					v_3 = limit - cursor;
					do 
					{
						// (, line 134
						// [, line 135
						ket = cursor;
						// substring, line 135
						among_var = find_among_b(a_5, 3);
						if (among_var == 0)
						{
							cursor = limit - v_3;
							goto lab2_brk;
						}
						// ], line 135
						bra = cursor;
						switch (among_var)
						{
							
							case 0: 
								cursor = limit - v_3;
								goto lab2_brk;
							
							case 1: 
								// (, line 136
								// call R2, line 136
								if (!r_R2())
								{
									cursor = limit - v_3;
									goto lab2_brk;
								}
								// delete, line 136
								slice_del();
								break;
							}
					}
					while (false);

lab2_brk: ;
					
					break;
				
				case 9: 
					// (, line 140
					// call R2, line 141
					if (!r_R2())
					{
						return false;
					}
					// delete, line 141
					slice_del();
					// try, line 142
					v_4 = limit - cursor;
					do 
					{
						// (, line 142
						// [, line 142
						ket = cursor;
						// literal, line 142
						if (!(eq_s_b(2, "at")))
						{
							cursor = limit - v_4;
							goto lab3_brk;
						}
						// ], line 142
						bra = cursor;
						// call R2, line 142
						if (!r_R2())
						{
							cursor = limit - v_4;
							goto lab3_brk;
						}
						// delete, line 142
						slice_del();
						// [, line 142
						ket = cursor;
						// literal, line 142
						if (!(eq_s_b(2, "ic")))
						{
							cursor = limit - v_4;
							goto lab3_brk;
						}
						// ], line 142
						bra = cursor;
						// call R2, line 142
						if (!r_R2())
						{
							cursor = limit - v_4;
							goto lab3_brk;
						}
						// delete, line 142
						slice_del();
					}
					while (false);

lab3_brk: ;
					
					break;
				}
			return true;
		}