in src/Lucene.Net.Analysis.Common/Tartarus/Snowball/Ext/SpanishStemmer.cs [719:1007]
private bool r_standard_suffix()
{
int among_var;
int v_1;
int v_2;
int v_3;
int v_4;
int v_5;
// (, line 86
// [, line 87
m_ket = m_cursor;
// substring, line 87
among_var = FindAmongB(a_6, 46);
if (among_var == 0)
{
return false;
}
// ], line 87
m_bra = m_cursor;
switch (among_var)
{
case 0:
return false;
case 1:
// (, line 98
// call R2, line 99
if (!r_R2())
{
return false;
}
// delete, line 99
SliceDel();
break;
case 2:
// (, line 104
// call R2, line 105
if (!r_R2())
{
return false;
}
// delete, line 105
SliceDel();
// try, line 106
v_1 = m_limit - m_cursor;
do
{
// (, line 106
// [, line 106
m_ket = m_cursor;
// literal, line 106
if (!(Eq_S_B(2, "ic")))
{
m_cursor = m_limit - v_1;
goto lab0;
}
// ], line 106
m_bra = m_cursor;
// call R2, line 106
if (!r_R2())
{
m_cursor = m_limit - v_1;
goto lab0;
}
// delete, line 106
SliceDel();
} while (false);
lab0:
break;
case 3:
// (, line 110
// call R2, line 111
if (!r_R2())
{
return false;
}
// <-, line 111
SliceFrom("log");
break;
case 4:
// (, line 114
// call R2, line 115
if (!r_R2())
{
return false;
}
// <-, line 115
SliceFrom("u");
break;
case 5:
// (, line 118
// call R2, line 119
if (!r_R2())
{
return false;
}
// <-, line 119
SliceFrom("ente");
break;
case 6:
// (, line 122
// call R1, line 123
if (!r_R1())
{
return false;
}
// delete, line 123
SliceDel();
// try, line 124
v_2 = m_limit - m_cursor;
do
{
// (, line 124
// [, line 125
m_ket = m_cursor;
// substring, line 125
among_var = FindAmongB(a_3, 4);
if (among_var == 0)
{
m_cursor = m_limit - v_2;
goto lab1;
}
// ], line 125
m_bra = m_cursor;
// call R2, line 125
if (!r_R2())
{
m_cursor = m_limit - v_2;
goto lab1;
}
// delete, line 125
SliceDel();
switch (among_var)
{
case 0:
m_cursor = m_limit - v_2;
goto lab1;
case 1:
// (, line 126
// [, line 126
m_ket = m_cursor;
// literal, line 126
if (!(Eq_S_B(2, "at")))
{
m_cursor = m_limit - v_2;
goto lab1;
}
// ], line 126
m_bra = m_cursor;
// call R2, line 126
if (!r_R2())
{
m_cursor = m_limit - v_2;
goto lab1;
}
// delete, line 126
SliceDel();
break;
}
} while (false);
lab1:
break;
case 7:
// (, line 134
// call R2, line 135
if (!r_R2())
{
return false;
}
// delete, line 135
SliceDel();
// try, line 136
v_3 = m_limit - m_cursor;
do
{
// (, line 136
// [, line 137
m_ket = m_cursor;
// substring, line 137
among_var = FindAmongB(a_4, 3);
if (among_var == 0)
{
m_cursor = m_limit - v_3;
goto lab2;
}
// ], line 137
m_bra = m_cursor;
switch (among_var)
{
case 0:
m_cursor = m_limit - v_3;
goto lab2;
case 1:
// (, line 140
// call R2, line 140
if (!r_R2())
{
m_cursor = m_limit - v_3;
goto lab2;
}
// delete, line 140
SliceDel();
break;
}
} while (false);
lab2:
break;
case 8:
// (, line 146
// call R2, line 147
if (!r_R2())
{
return false;
}
// delete, line 147
SliceDel();
// try, line 148
v_4 = m_limit - m_cursor;
do
{
// (, line 148
// [, line 149
m_ket = m_cursor;
// substring, line 149
among_var = FindAmongB(a_5, 3);
if (among_var == 0)
{
m_cursor = m_limit - v_4;
goto lab3;
}
// ], line 149
m_bra = m_cursor;
switch (among_var)
{
case 0:
m_cursor = m_limit - v_4;
goto lab3;
case 1:
// (, line 152
// call R2, line 152
if (!r_R2())
{
m_cursor = m_limit - v_4;
goto lab3;
}
// delete, line 152
SliceDel();
break;
}
} while (false);
lab3:
break;
case 9:
// (, line 158
// call R2, line 159
if (!r_R2())
{
return false;
}
// delete, line 159
SliceDel();
// try, line 160
v_5 = m_limit - m_cursor;
do
{
// (, line 160
// [, line 161
m_ket = m_cursor;
// literal, line 161
if (!(Eq_S_B(2, "at")))
{
m_cursor = m_limit - v_5;
goto lab4;
}
// ], line 161
m_bra = m_cursor;
// call R2, line 161
if (!r_R2())
{
m_cursor = m_limit - v_5;
goto lab4;
}
// delete, line 161
SliceDel();
} while (false);
lab4:
break;
}
return true;
}