in src/Lucene.Net.Analysis.Common/Tartarus/Snowball/Ext/TurkishStemmer.cs [262:594]
private bool r_check_vowel_harmony()
{
int v_1;
int v_2;
int v_3;
int v_4;
int v_5;
int v_6;
int v_7;
int v_8;
int v_9;
int v_10;
int v_11;
// (, line 111
// test, line 112
v_1 = m_limit - m_cursor;
// (, line 113
// (, line 114
// goto, line 114
while (true)
{
v_2 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel, 97, 305)))
{
goto lab1;
}
m_cursor = m_limit - v_2;
goto golab0;
} while (false);
lab1:
m_cursor = m_limit - v_2;
if (m_cursor <= m_limit_backward)
{
return false;
}
m_cursor--;
}
golab0:
// (, line 115
// or, line 116
do
{
v_3 = m_limit - m_cursor;
do
{
// (, line 116
// literal, line 116
if (!(Eq_S_B(1, "a")))
{
goto lab3;
}
// goto, line 116
while (true)
{
v_4 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel1, 97, 305)))
{
goto lab5;
}
m_cursor = m_limit - v_4;
goto golab4;
} while (false);
lab5:
m_cursor = m_limit - v_4;
if (m_cursor <= m_limit_backward)
{
goto lab3;
}
m_cursor--;
}
golab4:
goto lab2;
} while (false);
lab3:
m_cursor = m_limit - v_3;
do
{
// (, line 117
// literal, line 117
if (!(Eq_S_B(1, "e")))
{
goto lab6;
}
// goto, line 117
while (true)
{
v_5 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel2, 101, 252)))
{
goto lab8;
}
m_cursor = m_limit - v_5;
goto golab7;
} while (false);
lab8:
m_cursor = m_limit - v_5;
if (m_cursor <= m_limit_backward)
{
goto lab6;
}
m_cursor--;
}
golab7:
goto lab2;
} while (false);
lab6:
m_cursor = m_limit - v_3;
do
{
// (, line 118
// literal, line 118
if (!(Eq_S_B(1, "\u0131")))
{
goto lab9;
}
// goto, line 118
while (true)
{
v_6 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel3, 97, 305)))
{
goto lab11;
}
m_cursor = m_limit - v_6;
goto golab10;
} while (false);
lab11:
m_cursor = m_limit - v_6;
if (m_cursor <= m_limit_backward)
{
goto lab9;
}
m_cursor--;
}
golab10:
goto lab2;
} while (false);
lab9:
m_cursor = m_limit - v_3;
do
{
// (, line 119
// literal, line 119
if (!(Eq_S_B(1, "i")))
{
goto lab12;
}
// goto, line 119
while (true)
{
v_7 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel4, 101, 105)))
{
goto lab14;
}
m_cursor = m_limit - v_7;
goto golab13;
} while (false);
lab14:
m_cursor = m_limit - v_7;
if (m_cursor <= m_limit_backward)
{
goto lab12;
}
m_cursor--;
}
golab13:
goto lab2;
} while (false);
lab12:
m_cursor = m_limit - v_3;
do
{
// (, line 120
// literal, line 120
if (!(Eq_S_B(1, "o")))
{
goto lab15;
}
// goto, line 120
while (true)
{
v_8 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel5, 111, 117)))
{
goto lab17;
}
m_cursor = m_limit - v_8;
goto golab16;
} while (false);
lab17:
m_cursor = m_limit - v_8;
if (m_cursor <= m_limit_backward)
{
goto lab15;
}
m_cursor--;
}
golab16:
goto lab2;
} while (false);
lab15:
m_cursor = m_limit - v_3;
do
{
// (, line 121
// literal, line 121
if (!(Eq_S_B(1, "\u00F6")))
{
goto lab18;
}
// goto, line 121
while (true)
{
v_9 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel6, 246, 252)))
{
goto lab20;
}
m_cursor = m_limit - v_9;
goto golab19;
} while (false);
lab20:
m_cursor = m_limit - v_9;
if (m_cursor <= m_limit_backward)
{
goto lab18;
}
m_cursor--;
}
golab19:
goto lab2;
} while (false);
lab18:
m_cursor = m_limit - v_3;
do
{
// (, line 122
// literal, line 122
if (!(Eq_S_B(1, "u")))
{
goto lab21;
}
// goto, line 122
while (true)
{
v_10 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel5, 111, 117)))
{
goto lab23;
}
m_cursor = m_limit - v_10;
goto golab22;
} while (false);
lab23:
m_cursor = m_limit - v_10;
if (m_cursor <= m_limit_backward)
{
goto lab21;
}
m_cursor--;
}
golab22:
goto lab2;
} while (false);
lab21:
m_cursor = m_limit - v_3;
// (, line 123
// literal, line 123
if (!(Eq_S_B(1, "\u00FC")))
{
return false;
}
// goto, line 123
while (true)
{
v_11 = m_limit - m_cursor;
do
{
if (!(InGroupingB(g_vowel6, 246, 252)))
{
goto lab25;
}
m_cursor = m_limit - v_11;
goto golab24;
} while (false);
lab25:
m_cursor = m_limit - v_11;
if (m_cursor <= m_limit_backward)
{
return false;
}
m_cursor--;
}
golab24: {/* LUCENENET: intentionally blank */}
} while (false);
lab2:
m_cursor = m_limit - v_1;
return true;
}