| /* |
| |
| Copyright (c) 2001, Dr Martin Porter |
| Copyright (c) 2002, Richard Boulton |
| All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are met: |
| |
| * Redistributions of source code must retain the above copyright notice, |
| * this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * Neither the name of the copyright holders nor the names of its contributors |
| * may be used to endorse or promote products derived from this software |
| * without specific prior written permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE |
| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| |
| */ |
| |
| namespace Lucene.Net.Tartarus.Snowball.Ext |
| { |
| /// <summary> |
| /// This class was automatically generated by a Snowball to Java compiler |
| /// It implements the stemming algorithm defined by a snowball script. |
| /// </summary> |
| public class TurkishStemmer : SnowballProgram |
| { |
| private readonly static TurkishStemmer methodObject = new TurkishStemmer(); |
| |
| private readonly static Among[] a_0 = { |
| new Among ( "m", -1, -1, "", methodObject ), |
| new Among ( "n", -1, -1, "", methodObject ), |
| new Among ( "miz", -1, -1, "", methodObject ), |
| new Among ( "niz", -1, -1, "", methodObject ), |
| new Among ( "muz", -1, -1, "", methodObject ), |
| new Among ( "nuz", -1, -1, "", methodObject ), |
| new Among ( "m\u00FCz", -1, -1, "", methodObject ), |
| new Among ( "n\u00FCz", -1, -1, "", methodObject ), |
| new Among ( "m\u0131z", -1, -1, "", methodObject ), |
| new Among ( "n\u0131z", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_1 = { |
| new Among ( "leri", -1, -1, "", methodObject ), |
| new Among ( "lar\u0131", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_2 = { |
| new Among ( "ni", -1, -1, "", methodObject ), |
| new Among ( "nu", -1, -1, "", methodObject ), |
| new Among ( "n\u00FC", -1, -1, "", methodObject ), |
| new Among ( "n\u0131", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_3 = { |
| new Among ( "in", -1, -1, "", methodObject ), |
| new Among ( "un", -1, -1, "", methodObject ), |
| new Among ( "\u00FCn", -1, -1, "", methodObject ), |
| new Among ( "\u0131n", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_4 = { |
| new Among ( "a", -1, -1, "", methodObject ), |
| new Among ( "e", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_5 = { |
| new Among ( "na", -1, -1, "", methodObject ), |
| new Among ( "ne", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_6 = { |
| new Among ( "da", -1, -1, "", methodObject ), |
| new Among ( "ta", -1, -1, "", methodObject ), |
| new Among ( "de", -1, -1, "", methodObject ), |
| new Among ( "te", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_7 = { |
| new Among ( "nda", -1, -1, "", methodObject ), |
| new Among ( "nde", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_8 = { |
| new Among ( "dan", -1, -1, "", methodObject ), |
| new Among ( "tan", -1, -1, "", methodObject ), |
| new Among ( "den", -1, -1, "", methodObject ), |
| new Among ( "ten", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_9 = { |
| new Among ( "ndan", -1, -1, "", methodObject ), |
| new Among ( "nden", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_10 = { |
| new Among ( "la", -1, -1, "", methodObject ), |
| new Among ( "le", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_11 = { |
| new Among ( "ca", -1, -1, "", methodObject ), |
| new Among ( "ce", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_12 = { |
| new Among ( "im", -1, -1, "", methodObject ), |
| new Among ( "um", -1, -1, "", methodObject ), |
| new Among ( "\u00FCm", -1, -1, "", methodObject ), |
| new Among ( "\u0131m", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_13 = { |
| new Among ( "sin", -1, -1, "", methodObject ), |
| new Among ( "sun", -1, -1, "", methodObject ), |
| new Among ( "s\u00FCn", -1, -1, "", methodObject ), |
| new Among ( "s\u0131n", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_14 = { |
| new Among ( "iz", -1, -1, "", methodObject ), |
| new Among ( "uz", -1, -1, "", methodObject ), |
| new Among ( "\u00FCz", -1, -1, "", methodObject ), |
| new Among ( "\u0131z", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_15 = { |
| new Among ( "siniz", -1, -1, "", methodObject ), |
| new Among ( "sunuz", -1, -1, "", methodObject ), |
| new Among ( "s\u00FCn\u00FCz", -1, -1, "", methodObject ), |
| new Among ( "s\u0131n\u0131z", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_16 = { |
| new Among ( "lar", -1, -1, "", methodObject ), |
| new Among ( "ler", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_17 = { |
| new Among ( "niz", -1, -1, "", methodObject ), |
| new Among ( "nuz", -1, -1, "", methodObject ), |
| new Among ( "n\u00FCz", -1, -1, "", methodObject ), |
| new Among ( "n\u0131z", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_18 = { |
| new Among ( "dir", -1, -1, "", methodObject ), |
| new Among ( "tir", -1, -1, "", methodObject ), |
| new Among ( "dur", -1, -1, "", methodObject ), |
| new Among ( "tur", -1, -1, "", methodObject ), |
| new Among ( "d\u00FCr", -1, -1, "", methodObject ), |
| new Among ( "t\u00FCr", -1, -1, "", methodObject ), |
| new Among ( "d\u0131r", -1, -1, "", methodObject ), |
| new Among ( "t\u0131r", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_19 = { |
| new Among ( "cas\u0131na", -1, -1, "", methodObject ), |
| new Among ( "cesine", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_20 = { |
| new Among ( "di", -1, -1, "", methodObject ), |
| new Among ( "ti", -1, -1, "", methodObject ), |
| new Among ( "dik", -1, -1, "", methodObject ), |
| new Among ( "tik", -1, -1, "", methodObject ), |
| new Among ( "duk", -1, -1, "", methodObject ), |
| new Among ( "tuk", -1, -1, "", methodObject ), |
| new Among ( "d\u00FCk", -1, -1, "", methodObject ), |
| new Among ( "t\u00FCk", -1, -1, "", methodObject ), |
| new Among ( "d\u0131k", -1, -1, "", methodObject ), |
| new Among ( "t\u0131k", -1, -1, "", methodObject ), |
| new Among ( "dim", -1, -1, "", methodObject ), |
| new Among ( "tim", -1, -1, "", methodObject ), |
| new Among ( "dum", -1, -1, "", methodObject ), |
| new Among ( "tum", -1, -1, "", methodObject ), |
| new Among ( "d\u00FCm", -1, -1, "", methodObject ), |
| new Among ( "t\u00FCm", -1, -1, "", methodObject ), |
| new Among ( "d\u0131m", -1, -1, "", methodObject ), |
| new Among ( "t\u0131m", -1, -1, "", methodObject ), |
| new Among ( "din", -1, -1, "", methodObject ), |
| new Among ( "tin", -1, -1, "", methodObject ), |
| new Among ( "dun", -1, -1, "", methodObject ), |
| new Among ( "tun", -1, -1, "", methodObject ), |
| new Among ( "d\u00FCn", -1, -1, "", methodObject ), |
| new Among ( "t\u00FCn", -1, -1, "", methodObject ), |
| new Among ( "d\u0131n", -1, -1, "", methodObject ), |
| new Among ( "t\u0131n", -1, -1, "", methodObject ), |
| new Among ( "du", -1, -1, "", methodObject ), |
| new Among ( "tu", -1, -1, "", methodObject ), |
| new Among ( "d\u00FC", -1, -1, "", methodObject ), |
| new Among ( "t\u00FC", -1, -1, "", methodObject ), |
| new Among ( "d\u0131", -1, -1, "", methodObject ), |
| new Among ( "t\u0131", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_21 = { |
| new Among ( "sa", -1, -1, "", methodObject ), |
| new Among ( "se", -1, -1, "", methodObject ), |
| new Among ( "sak", -1, -1, "", methodObject ), |
| new Among ( "sek", -1, -1, "", methodObject ), |
| new Among ( "sam", -1, -1, "", methodObject ), |
| new Among ( "sem", -1, -1, "", methodObject ), |
| new Among ( "san", -1, -1, "", methodObject ), |
| new Among ( "sen", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_22 = { |
| new Among ( "mi\u015F", -1, -1, "", methodObject ), |
| new Among ( "mu\u015F", -1, -1, "", methodObject ), |
| new Among ( "m\u00FC\u015F", -1, -1, "", methodObject ), |
| new Among ( "m\u0131\u015F", -1, -1, "", methodObject ) |
| }; |
| |
| private readonly static Among[] a_23 = { |
| new Among ( "b", -1, 1, "", methodObject ), |
| new Among ( "c", -1, 2, "", methodObject ), |
| new Among ( "d", -1, 3, "", methodObject ), |
| new Among ( "\u011F", -1, 4, "", methodObject ) |
| }; |
| |
| private static readonly char[] g_vowel = { (char)17, (char)65, (char)16, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)32, (char)8, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)1 }; |
| |
| private static readonly char[] g_U = { (char)1, (char)16, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)8, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)1 }; |
| |
| private static readonly char[] g_vowel1 = { (char)1, (char)64, (char)16, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)1 }; |
| |
| private static readonly char[] g_vowel2 = { (char)17, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)130 }; |
| |
| private static readonly char[] g_vowel3 = { (char)1, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)0, (char)1 }; |
| |
| private static readonly char[] g_vowel4 = { (char)17 }; |
| |
| private static readonly char[] g_vowel5 = { (char)65 }; |
| |
| private static readonly char[] g_vowel6 = { (char)65 }; |
| |
| private bool B_continue_stemming_noun_suffixes; |
| private int I_strlen; |
| |
| private void copy_from(TurkishStemmer other) |
| { |
| B_continue_stemming_noun_suffixes = other.B_continue_stemming_noun_suffixes; |
| I_strlen = other.I_strlen; |
| base.CopyFrom(other); |
| } |
| |
| 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:; |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_1; |
| return true; |
| } |
| |
| private bool r_mark_suffix_with_optional_n_consonant() |
| { |
| int v_1; |
| int v_2; |
| int v_3; |
| int v_4; |
| int v_5; |
| int v_6; |
| int v_7; |
| // (, line 132 |
| // or, line 134 |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 133 |
| // (, line 133 |
| // test, line 133 |
| v_2 = m_limit - m_cursor; |
| // literal, line 133 |
| if (!(Eq_S_B(1, "n"))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_2; |
| // next, line 133 |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab1; |
| } |
| m_cursor--; |
| // (, line 133 |
| // test, line 133 |
| v_3 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_3; |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| // (, line 135 |
| // (, line 135 |
| // not, line 135 |
| { |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 135 |
| // test, line 135 |
| v_5 = m_limit - m_cursor; |
| // literal, line 135 |
| if (!(Eq_S_B(1, "n"))) |
| { |
| goto lab2; |
| } |
| m_cursor = m_limit - v_5; |
| return false; |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_4; |
| } |
| // test, line 135 |
| v_6 = m_limit - m_cursor; |
| // (, line 135 |
| // next, line 135 |
| if (m_cursor <= m_limit_backward) |
| { |
| return false; |
| } |
| m_cursor--; |
| // (, line 135 |
| // test, line 135 |
| v_7 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| return false; |
| } |
| m_cursor = m_limit - v_7; |
| m_cursor = m_limit - v_6; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_mark_suffix_with_optional_s_consonant() |
| { |
| int v_1; |
| int v_2; |
| int v_3; |
| int v_4; |
| int v_5; |
| int v_6; |
| int v_7; |
| // (, line 143 |
| // or, line 145 |
| |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 144 |
| // (, line 144 |
| // test, line 144 |
| v_2 = m_limit - m_cursor; |
| // literal, line 144 |
| if (!(Eq_S_B(1, "s"))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_2; |
| // next, line 144 |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab1; |
| } |
| m_cursor--; |
| // (, line 144 |
| // test, line 144 |
| v_3 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_3; |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| // (, line 146 |
| // (, line 146 |
| // not, line 146 |
| { |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 146 |
| // test, line 146 |
| v_5 = m_limit - m_cursor; |
| // literal, line 146 |
| if (!(Eq_S_B(1, "s"))) |
| { |
| goto lab2; |
| } |
| m_cursor = m_limit - v_5; |
| return false; |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_4; |
| } |
| // test, line 146 |
| v_6 = m_limit - m_cursor; |
| // (, line 146 |
| // next, line 146 |
| if (m_cursor <= m_limit_backward) |
| { |
| return false; |
| } |
| m_cursor--; |
| // (, line 146 |
| // test, line 146 |
| v_7 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| return false; |
| } |
| m_cursor = m_limit - v_7; |
| m_cursor = m_limit - v_6; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_mark_suffix_with_optional_y_consonant() |
| { |
| int v_1; |
| int v_2; |
| int v_3; |
| int v_4; |
| int v_5; |
| int v_6; |
| int v_7; |
| // (, line 153 |
| // or, line 155 |
| |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 154 |
| // (, line 154 |
| // test, line 154 |
| v_2 = m_limit - m_cursor; |
| // literal, line 154 |
| if (!(Eq_S_B(1, "y"))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_2; |
| // next, line 154 |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab1; |
| } |
| m_cursor--; |
| // (, line 154 |
| // test, line 154 |
| v_3 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_3; |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| // (, line 156 |
| // (, line 156 |
| // not, line 156 |
| { |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 156 |
| // test, line 156 |
| v_5 = m_limit - m_cursor; |
| // literal, line 156 |
| if (!(Eq_S_B(1, "y"))) |
| { |
| goto lab2; |
| } |
| m_cursor = m_limit - v_5; |
| return false; |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_4; |
| } |
| // test, line 156 |
| v_6 = m_limit - m_cursor; |
| // (, line 156 |
| // next, line 156 |
| if (m_cursor <= m_limit_backward) |
| { |
| return false; |
| } |
| m_cursor--; |
| // (, line 156 |
| // test, line 156 |
| v_7 = m_limit - m_cursor; |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| return false; |
| } |
| m_cursor = m_limit - v_7; |
| m_cursor = m_limit - v_6; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_mark_suffix_with_optional_U_vowel() |
| { |
| int v_1; |
| int v_2; |
| int v_3; |
| int v_4; |
| int v_5; |
| int v_6; |
| int v_7; |
| // (, line 159 |
| // or, line 161 |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| do |
| { |
| // (, line 160 |
| // (, line 160 |
| // test, line 160 |
| v_2 = m_limit - m_cursor; |
| if (!(InGroupingB(g_U, 105, 305))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_2; |
| // next, line 160 |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab1; |
| } |
| m_cursor--; |
| // (, line 160 |
| // test, line 160 |
| v_3 = m_limit - m_cursor; |
| if (!(OutGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab1; |
| } |
| m_cursor = m_limit - v_3; |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| // (, line 162 |
| // (, line 162 |
| // not, line 162 |
| { |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 162 |
| // test, line 162 |
| v_5 = m_limit - m_cursor; |
| if (!(InGroupingB(g_U, 105, 305))) |
| { |
| goto lab2; |
| } |
| m_cursor = m_limit - v_5; |
| return false; |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_4; |
| } |
| // test, line 162 |
| v_6 = m_limit - m_cursor; |
| // (, line 162 |
| // next, line 162 |
| if (m_cursor <= m_limit_backward) |
| { |
| return false; |
| } |
| m_cursor--; |
| // (, line 162 |
| // test, line 162 |
| v_7 = m_limit - m_cursor; |
| if (!(OutGroupingB(g_vowel, 97, 305))) |
| { |
| return false; |
| } |
| m_cursor = m_limit - v_7; |
| m_cursor = m_limit - v_6; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_mark_possessives() |
| { |
| // (, line 166 |
| // among, line 167 |
| if (FindAmongB(a_0, 10) == 0) |
| { |
| return false; |
| } |
| // (, line 169 |
| // call mark_suffix_with_optional_U_vowel, line 169 |
| if (!r_mark_suffix_with_optional_U_vowel()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_sU() |
| { |
| // (, line 172 |
| // call check_vowel_harmony, line 173 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| if (!(InGroupingB(g_U, 105, 305))) |
| { |
| return false; |
| } |
| // (, line 175 |
| // call mark_suffix_with_optional_s_consonant, line 175 |
| if (!r_mark_suffix_with_optional_s_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_lArI() |
| { |
| // (, line 178 |
| // among, line 179 |
| if (FindAmongB(a_1, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yU() |
| { |
| // (, line 182 |
| // call check_vowel_harmony, line 183 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| if (!(InGroupingB(g_U, 105, 305))) |
| { |
| return false; |
| } |
| // (, line 185 |
| // call mark_suffix_with_optional_y_consonant, line 185 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_nU() |
| { |
| // (, line 188 |
| // call check_vowel_harmony, line 189 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 190 |
| if (FindAmongB(a_2, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_nUn() |
| { |
| // (, line 193 |
| // call check_vowel_harmony, line 194 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 195 |
| if (FindAmongB(a_3, 4) == 0) |
| { |
| return false; |
| } |
| // (, line 196 |
| // call mark_suffix_with_optional_n_consonant, line 196 |
| if (!r_mark_suffix_with_optional_n_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yA() |
| { |
| // (, line 199 |
| // call check_vowel_harmony, line 200 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 201 |
| if (FindAmongB(a_4, 2) == 0) |
| { |
| return false; |
| } |
| // (, line 202 |
| // call mark_suffix_with_optional_y_consonant, line 202 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_nA() |
| { |
| // (, line 205 |
| // call check_vowel_harmony, line 206 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 207 |
| if (FindAmongB(a_5, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_DA() |
| { |
| // (, line 210 |
| // call check_vowel_harmony, line 211 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 212 |
| if (FindAmongB(a_6, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ndA() |
| { |
| // (, line 215 |
| // call check_vowel_harmony, line 216 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 217 |
| if (FindAmongB(a_7, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_DAn() |
| { |
| // (, line 220 |
| // call check_vowel_harmony, line 221 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 222 |
| if (FindAmongB(a_8, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ndAn() |
| { |
| // (, line 225 |
| // call check_vowel_harmony, line 226 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 227 |
| if (FindAmongB(a_9, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ylA() |
| { |
| // (, line 230 |
| // call check_vowel_harmony, line 231 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 232 |
| if (FindAmongB(a_10, 2) == 0) |
| { |
| return false; |
| } |
| // (, line 233 |
| // call mark_suffix_with_optional_y_consonant, line 233 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ki() |
| { |
| // (, line 236 |
| // literal, line 237 |
| if (!(Eq_S_B(2, "ki"))) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ncA() |
| { |
| // (, line 240 |
| // call check_vowel_harmony, line 241 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 242 |
| if (FindAmongB(a_11, 2) == 0) |
| { |
| return false; |
| } |
| // (, line 243 |
| // call mark_suffix_with_optional_n_consonant, line 243 |
| if (!r_mark_suffix_with_optional_n_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yUm() |
| { |
| // (, line 246 |
| // call check_vowel_harmony, line 247 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 248 |
| if (FindAmongB(a_12, 4) == 0) |
| { |
| return false; |
| } |
| // (, line 249 |
| // call mark_suffix_with_optional_y_consonant, line 249 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_sUn() |
| { |
| // (, line 252 |
| // call check_vowel_harmony, line 253 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 254 |
| if (FindAmongB(a_13, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yUz() |
| { |
| // (, line 257 |
| // call check_vowel_harmony, line 258 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 259 |
| if (FindAmongB(a_14, 4) == 0) |
| { |
| return false; |
| } |
| // (, line 260 |
| // call mark_suffix_with_optional_y_consonant, line 260 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_sUnUz() |
| { |
| // (, line 263 |
| // among, line 264 |
| if (FindAmongB(a_15, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_lAr() |
| { |
| // (, line 267 |
| // call check_vowel_harmony, line 268 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 269 |
| if (FindAmongB(a_16, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_nUz() |
| { |
| // (, line 272 |
| // call check_vowel_harmony, line 273 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 274 |
| if (FindAmongB(a_17, 4) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_DUr() |
| { |
| // (, line 277 |
| // call check_vowel_harmony, line 278 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 279 |
| if (FindAmongB(a_18, 8) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_cAsInA() |
| { |
| // (, line 282 |
| // among, line 283 |
| if (FindAmongB(a_19, 2) == 0) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yDU() |
| { |
| // (, line 286 |
| // call check_vowel_harmony, line 287 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 288 |
| if (FindAmongB(a_20, 32) == 0) |
| { |
| return false; |
| } |
| // (, line 292 |
| // call mark_suffix_with_optional_y_consonant, line 292 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ysA() |
| { |
| // (, line 296 |
| // among, line 297 |
| if (FindAmongB(a_21, 8) == 0) |
| { |
| return false; |
| } |
| // (, line 298 |
| // call mark_suffix_with_optional_y_consonant, line 298 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_ymUs_() |
| { |
| // (, line 301 |
| // call check_vowel_harmony, line 302 |
| if (!r_check_vowel_harmony()) |
| { |
| return false; |
| } |
| // among, line 303 |
| if (FindAmongB(a_22, 4) == 0) |
| { |
| return false; |
| } |
| // (, line 304 |
| // call mark_suffix_with_optional_y_consonant, line 304 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_mark_yken() |
| { |
| // (, line 307 |
| // literal, line 308 |
| if (!(Eq_S_B(3, "ken"))) |
| { |
| return false; |
| } |
| // (, line 308 |
| // call mark_suffix_with_optional_y_consonant, line 308 |
| if (!r_mark_suffix_with_optional_y_consonant()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| private bool r_stem_nominal_verb_suffixes() |
| { |
| 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; |
| // (, line 311 |
| // [, line 312 |
| m_ket = m_cursor; |
| // set continue_stemming_noun_suffixes, line 313 |
| B_continue_stemming_noun_suffixes = true; |
| // or, line 315 |
| |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 314 |
| // or, line 314 |
| |
| do |
| { |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_ymUs_, line 314 |
| if (!r_mark_ymUs_()) |
| { |
| goto lab3; |
| } |
| goto lab2; |
| } while (false); |
| lab3: |
| m_cursor = m_limit - v_2; |
| |
| do |
| { |
| // call mark_yDU, line 314 |
| if (!r_mark_yDU()) |
| { |
| goto lab4; |
| } |
| goto lab2; |
| } while (false); |
| lab4: |
| m_cursor = m_limit - v_2; |
| |
| do |
| { |
| // call mark_ysA, line 314 |
| if (!r_mark_ysA()) |
| { |
| goto lab5; |
| } |
| goto lab2; |
| } while (false); |
| lab5: |
| m_cursor = m_limit - v_2; |
| // call mark_yken, line 314 |
| if (!r_mark_yken()) |
| { |
| goto lab1; |
| } |
| } while (false); |
| lab2: |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 316 |
| // call mark_cAsInA, line 316 |
| if (!r_mark_cAsInA()) |
| { |
| goto lab6; |
| } |
| // (, line 316 |
| // or, line 316 |
| |
| do |
| { |
| v_3 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_sUnUz, line 316 |
| if (!r_mark_sUnUz()) |
| { |
| goto lab8; |
| } |
| goto lab7; |
| } while (false); |
| lab8: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // call mark_lAr, line 316 |
| if (!r_mark_lAr()) |
| { |
| goto lab9; |
| } |
| goto lab7; |
| } while (false); |
| lab9: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // call mark_yUm, line 316 |
| if (!r_mark_yUm()) |
| { |
| goto lab10; |
| } |
| goto lab7; |
| } while (false); |
| lab10: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // call mark_sUn, line 316 |
| if (!r_mark_sUn()) |
| { |
| goto lab11; |
| } |
| goto lab7; |
| } while (false); |
| lab11: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // call mark_yUz, line 316 |
| if (!r_mark_yUz()) |
| { |
| goto lab12; |
| } |
| goto lab7; |
| } while (false); |
| lab12: |
| m_cursor = m_limit - v_3; |
| } while (false); |
| lab7: |
| // call mark_ymUs_, line 316 |
| if (!r_mark_ymUs_()) |
| { |
| goto lab6; |
| } |
| goto lab0; |
| } while (false); |
| lab6: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 318 |
| // call mark_lAr, line 319 |
| if (!r_mark_lAr()) |
| { |
| goto lab13; |
| } |
| // ], line 319 |
| m_bra = m_cursor; |
| // delete, line 319 |
| SliceDel(); |
| // try, line 319 |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 319 |
| // [, line 319 |
| m_ket = m_cursor; |
| // (, line 319 |
| // or, line 319 |
| |
| do |
| { |
| v_5 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_DUr, line 319 |
| if (!r_mark_DUr()) |
| { |
| goto lab16; |
| } |
| goto lab15; |
| } while (false); |
| lab16: |
| m_cursor = m_limit - v_5; |
| |
| do |
| { |
| // call mark_yDU, line 319 |
| if (!r_mark_yDU()) |
| { |
| goto lab17; |
| } |
| goto lab15; |
| } while (false); |
| lab17: |
| m_cursor = m_limit - v_5; |
| |
| do |
| { |
| // call mark_ysA, line 319 |
| if (!r_mark_ysA()) |
| { |
| goto lab18; |
| } |
| goto lab15; |
| } while (false); |
| lab18: |
| m_cursor = m_limit - v_5; |
| // call mark_ymUs_, line 319 |
| if (!r_mark_ymUs_()) |
| { |
| m_cursor = m_limit - v_4; |
| goto lab14; |
| } |
| } while (false); |
| lab15:; |
| } while (false); |
| lab14: |
| // unset continue_stemming_noun_suffixes, line 320 |
| B_continue_stemming_noun_suffixes = false; |
| goto lab0; |
| } while (false); |
| lab13: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 323 |
| // call mark_nUz, line 323 |
| if (!r_mark_nUz()) |
| { |
| goto lab19; |
| } |
| // (, line 323 |
| // or, line 323 |
| |
| do |
| { |
| v_6 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_yDU, line 323 |
| if (!r_mark_yDU()) |
| { |
| goto lab21; |
| } |
| goto lab20; |
| } while (false); |
| lab21: |
| m_cursor = m_limit - v_6; |
| // call mark_ysA, line 323 |
| if (!r_mark_ysA()) |
| { |
| goto lab19; |
| } |
| } while (false); |
| lab20: |
| goto lab0; |
| } while (false); |
| lab19: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 325 |
| // (, line 325 |
| // or, line 325 |
| |
| do |
| { |
| v_7 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_sUnUz, line 325 |
| if (!r_mark_sUnUz()) |
| { |
| goto lab24; |
| } |
| goto lab23; |
| } while (false); |
| lab24: |
| m_cursor = m_limit - v_7; |
| |
| do |
| { |
| // call mark_yUz, line 325 |
| if (!r_mark_yUz()) |
| { |
| goto lab25; |
| } |
| goto lab23; |
| } while (false); |
| lab25: |
| m_cursor = m_limit - v_7; |
| |
| do |
| { |
| // call mark_sUn, line 325 |
| if (!r_mark_sUn()) |
| { |
| goto lab26; |
| } |
| goto lab23; |
| } while (false); |
| lab26: |
| m_cursor = m_limit - v_7; |
| // call mark_yUm, line 325 |
| if (!r_mark_yUm()) |
| { |
| goto lab22; |
| } |
| } while (false); |
| lab23: |
| // ], line 325 |
| m_bra = m_cursor; |
| // delete, line 325 |
| SliceDel(); |
| // try, line 325 |
| v_8 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 325 |
| // [, line 325 |
| m_ket = m_cursor; |
| // call mark_ymUs_, line 325 |
| if (!r_mark_ymUs_()) |
| { |
| m_cursor = m_limit - v_8; |
| goto lab27; |
| } |
| } while (false); |
| lab27: |
| goto lab0; |
| } while (false); |
| lab22: |
| m_cursor = m_limit - v_1; |
| // (, line 327 |
| // call mark_DUr, line 327 |
| if (!r_mark_DUr()) |
| { |
| return false; |
| } |
| // ], line 327 |
| m_bra = m_cursor; |
| // delete, line 327 |
| SliceDel(); |
| // try, line 327 |
| v_9 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 327 |
| // [, line 327 |
| m_ket = m_cursor; |
| // (, line 327 |
| // or, line 327 |
| |
| do |
| { |
| v_10 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_sUnUz, line 327 |
| if (!r_mark_sUnUz()) |
| { |
| goto lab30; |
| } |
| goto lab29; |
| } while (false); |
| lab30: |
| m_cursor = m_limit - v_10; |
| |
| do |
| { |
| // call mark_lAr, line 327 |
| if (!r_mark_lAr()) |
| { |
| goto lab31; |
| } |
| goto lab29; |
| } while (false); |
| lab31: |
| m_cursor = m_limit - v_10; |
| |
| do |
| { |
| // call mark_yUm, line 327 |
| if (!r_mark_yUm()) |
| { |
| goto lab32; |
| } |
| goto lab29; |
| } while (false); |
| lab32: |
| m_cursor = m_limit - v_10; |
| |
| do |
| { |
| // call mark_sUn, line 327 |
| if (!r_mark_sUn()) |
| { |
| goto lab33; |
| } |
| goto lab29; |
| } while (false); |
| lab33: |
| m_cursor = m_limit - v_10; |
| |
| do |
| { |
| // call mark_yUz, line 327 |
| if (!r_mark_yUz()) |
| { |
| goto lab34; |
| } |
| goto lab29; |
| } while (false); |
| lab34: |
| m_cursor = m_limit - v_10; |
| } while (false); |
| lab29: |
| // call mark_ymUs_, line 327 |
| if (!r_mark_ymUs_()) |
| { |
| m_cursor = m_limit - v_9; |
| goto lab28; |
| } |
| } while (false); |
| lab28:; |
| } while (false); |
| lab0: |
| // ], line 328 |
| m_bra = m_cursor; |
| // delete, line 328 |
| SliceDel(); |
| return true; |
| } |
| |
| private bool r_stem_suffix_chain_before_ki() |
| { |
| 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 332 |
| // [, line 333 |
| m_ket = m_cursor; |
| // call mark_ki, line 334 |
| if (!r_mark_ki()) |
| { |
| return false; |
| } |
| // (, line 335 |
| // or, line 342 |
| |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 336 |
| // call mark_DA, line 336 |
| if (!r_mark_DA()) |
| { |
| goto lab1; |
| } |
| // ], line 336 |
| m_bra = m_cursor; |
| // delete, line 336 |
| SliceDel(); |
| // try, line 336 |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 336 |
| // [, line 336 |
| m_ket = m_cursor; |
| // or, line 338 |
| |
| do |
| { |
| v_3 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 337 |
| // call mark_lAr, line 337 |
| if (!r_mark_lAr()) |
| { |
| goto lab4; |
| } |
| // ], line 337 |
| m_bra = m_cursor; |
| // delete, line 337 |
| SliceDel(); |
| // try, line 337 |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 337 |
| // call stem_suffix_chain_before_ki, line 337 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_4; |
| goto lab5; |
| } |
| } while (false); |
| lab5: |
| goto lab3; |
| } while (false); |
| lab4: |
| m_cursor = m_limit - v_3; |
| // (, line 339 |
| // call mark_possessives, line 339 |
| if (!r_mark_possessives()) |
| { |
| m_cursor = m_limit - v_2; |
| goto lab2; |
| } |
| // ], line 339 |
| m_bra = m_cursor; |
| // delete, line 339 |
| SliceDel(); |
| // try, line 339 |
| v_5 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 339 |
| // [, line 339 |
| m_ket = m_cursor; |
| // call mark_lAr, line 339 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_5; |
| goto lab6; |
| } |
| // ], line 339 |
| m_bra = m_cursor; |
| // delete, line 339 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 339 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_5; |
| goto lab6; |
| } |
| } while (false); |
| lab6:; |
| } while (false); |
| lab3:; |
| } while (false); |
| lab2: |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 343 |
| // call mark_nUn, line 343 |
| if (!r_mark_nUn()) |
| { |
| goto lab7; |
| } |
| // ], line 343 |
| m_bra = m_cursor; |
| // delete, line 343 |
| SliceDel(); |
| // try, line 343 |
| v_6 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 343 |
| // [, line 343 |
| m_ket = m_cursor; |
| // or, line 345 |
| |
| do |
| { |
| v_7 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 344 |
| // call mark_lArI, line 344 |
| if (!r_mark_lArI()) |
| { |
| goto lab10; |
| } |
| // ], line 344 |
| m_bra = m_cursor; |
| // delete, line 344 |
| SliceDel(); |
| goto lab9; |
| } while (false); |
| lab10: |
| m_cursor = m_limit - v_7; |
| |
| do |
| { |
| // (, line 346 |
| // [, line 346 |
| m_ket = m_cursor; |
| // or, line 346 |
| |
| do |
| { |
| v_8 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_possessives, line 346 |
| if (!r_mark_possessives()) |
| { |
| goto lab13; |
| } |
| goto lab12; |
| } while (false); |
| lab13: |
| m_cursor = m_limit - v_8; |
| // call mark_sU, line 346 |
| if (!r_mark_sU()) |
| { |
| goto lab11; |
| } |
| } while (false); |
| lab12: |
| // ], line 346 |
| m_bra = m_cursor; |
| // delete, line 346 |
| SliceDel(); |
| // try, line 346 |
| v_9 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 346 |
| // [, line 346 |
| m_ket = m_cursor; |
| // call mark_lAr, line 346 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_9; |
| goto lab14; |
| } |
| // ], line 346 |
| m_bra = m_cursor; |
| // delete, line 346 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 346 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_9; |
| goto lab14; |
| } |
| } while (false); |
| lab14: |
| goto lab9; |
| } while (false); |
| lab11: |
| m_cursor = m_limit - v_7; |
| // (, line 348 |
| // call stem_suffix_chain_before_ki, line 348 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_6; |
| goto lab8; |
| } |
| } while (false); |
| lab9:; |
| } while (false); |
| lab8: |
| goto lab0; |
| } while (false); |
| lab7: |
| m_cursor = m_limit - v_1; |
| // (, line 351 |
| // call mark_ndA, line 351 |
| if (!r_mark_ndA()) |
| { |
| return false; |
| } |
| // (, line 351 |
| // or, line 353 |
| |
| do |
| { |
| v_10 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 352 |
| // call mark_lArI, line 352 |
| if (!r_mark_lArI()) |
| { |
| goto lab16; |
| } |
| // ], line 352 |
| m_bra = m_cursor; |
| // delete, line 352 |
| SliceDel(); |
| goto lab15; |
| } while (false); |
| lab16: |
| m_cursor = m_limit - v_10; |
| |
| do |
| { |
| // (, line 354 |
| // (, line 354 |
| // call mark_sU, line 354 |
| if (!r_mark_sU()) |
| { |
| goto lab17; |
| } |
| // ], line 354 |
| m_bra = m_cursor; |
| // delete, line 354 |
| SliceDel(); |
| // try, line 354 |
| v_11 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 354 |
| // [, line 354 |
| m_ket = m_cursor; |
| // call mark_lAr, line 354 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_11; |
| goto lab18; |
| } |
| // ], line 354 |
| m_bra = m_cursor; |
| // delete, line 354 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 354 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_11; |
| goto lab18; |
| } |
| } while (false); |
| lab18: |
| goto lab15; |
| } while (false); |
| lab17: |
| m_cursor = m_limit - v_10; |
| // (, line 356 |
| // call stem_suffix_chain_before_ki, line 356 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| return false; |
| } |
| } while (false); |
| lab15:; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_stem_noun_suffixes() |
| { |
| 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; |
| 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; |
| int v_21; |
| int v_22; |
| int v_23; |
| int v_24; |
| int v_25; |
| int v_26; |
| int v_27; |
| // (, line 361 |
| // or, line 363 |
| |
| do |
| { |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 362 |
| // [, line 362 |
| m_ket = m_cursor; |
| // call mark_lAr, line 362 |
| if (!r_mark_lAr()) |
| { |
| goto lab1; |
| } |
| // ], line 362 |
| m_bra = m_cursor; |
| // delete, line 362 |
| SliceDel(); |
| // try, line 362 |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 362 |
| // call stem_suffix_chain_before_ki, line 362 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_2; |
| goto lab2; |
| } |
| } while (false); |
| lab2: |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 364 |
| // [, line 364 |
| m_ket = m_cursor; |
| // call mark_ncA, line 364 |
| if (!r_mark_ncA()) |
| { |
| goto lab3; |
| } |
| // ], line 364 |
| m_bra = m_cursor; |
| // delete, line 364 |
| SliceDel(); |
| // try, line 365 |
| v_3 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 365 |
| // or, line 367 |
| |
| do |
| { |
| v_4 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 366 |
| // [, line 366 |
| m_ket = m_cursor; |
| // call mark_lArI, line 366 |
| if (!r_mark_lArI()) |
| { |
| goto lab6; |
| } |
| // ], line 366 |
| m_bra = m_cursor; |
| // delete, line 366 |
| SliceDel(); |
| goto lab5; |
| } while (false); |
| lab6: |
| m_cursor = m_limit - v_4; |
| |
| do |
| { |
| // (, line 368 |
| // [, line 368 |
| m_ket = m_cursor; |
| // or, line 368 |
| |
| do |
| { |
| v_5 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_possessives, line 368 |
| if (!r_mark_possessives()) |
| { |
| goto lab9; |
| } |
| goto lab8; |
| } while (false); |
| lab9: |
| m_cursor = m_limit - v_5; |
| // call mark_sU, line 368 |
| if (!r_mark_sU()) |
| { |
| goto lab7; |
| } |
| } while (false); |
| lab8: |
| // ], line 368 |
| m_bra = m_cursor; |
| // delete, line 368 |
| SliceDel(); |
| // try, line 368 |
| v_6 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 368 |
| // [, line 368 |
| m_ket = m_cursor; |
| // call mark_lAr, line 368 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_6; |
| goto lab10; |
| } |
| // ], line 368 |
| m_bra = m_cursor; |
| // delete, line 368 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 368 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_6; |
| goto lab10; |
| } |
| } while (false); |
| lab10: |
| goto lab5; |
| } while (false); |
| lab7: |
| m_cursor = m_limit - v_4; |
| // (, line 370 |
| // [, line 370 |
| m_ket = m_cursor; |
| // call mark_lAr, line 370 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_3; |
| goto lab4; |
| } |
| // ], line 370 |
| m_bra = m_cursor; |
| // delete, line 370 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 370 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_3; |
| goto lab4; |
| } |
| } while (false); |
| lab5:; |
| } while (false); |
| lab4: |
| goto lab0; |
| } while (false); |
| lab3: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 374 |
| // [, line 374 |
| m_ket = m_cursor; |
| // (, line 374 |
| // or, line 374 |
| |
| do |
| { |
| v_7 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_ndA, line 374 |
| if (!r_mark_ndA()) |
| { |
| goto lab13; |
| } |
| goto lab12; |
| } while (false); |
| lab13: |
| m_cursor = m_limit - v_7; |
| // call mark_nA, line 374 |
| if (!r_mark_nA()) |
| { |
| goto lab11; |
| } |
| } while (false); |
| lab12: |
| // (, line 375 |
| // or, line 377 |
| |
| do |
| { |
| v_8 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 376 |
| // call mark_lArI, line 376 |
| if (!r_mark_lArI()) |
| { |
| goto lab15; |
| } |
| // ], line 376 |
| m_bra = m_cursor; |
| // delete, line 376 |
| SliceDel(); |
| goto lab14; |
| } while (false); |
| lab15: |
| m_cursor = m_limit - v_8; |
| |
| do |
| { |
| // (, line 378 |
| // call mark_sU, line 378 |
| if (!r_mark_sU()) |
| { |
| goto lab16; |
| } |
| // ], line 378 |
| m_bra = m_cursor; |
| // delete, line 378 |
| SliceDel(); |
| // try, line 378 |
| v_9 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 378 |
| // [, line 378 |
| m_ket = m_cursor; |
| // call mark_lAr, line 378 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_9; |
| goto lab17; |
| } |
| // ], line 378 |
| m_bra = m_cursor; |
| // delete, line 378 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 378 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_9; |
| goto lab17; |
| } |
| } while (false); |
| lab17: |
| goto lab14; |
| } while (false); |
| lab16: |
| m_cursor = m_limit - v_8; |
| // (, line 380 |
| // call stem_suffix_chain_before_ki, line 380 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| goto lab11; |
| } |
| } while (false); |
| lab14: |
| goto lab0; |
| } while (false); |
| lab11: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 384 |
| // [, line 384 |
| m_ket = m_cursor; |
| // (, line 384 |
| // or, line 384 |
| |
| do |
| { |
| v_10 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_ndAn, line 384 |
| if (!r_mark_ndAn()) |
| { |
| goto lab20; |
| } |
| goto lab19; |
| } while (false); |
| lab20: |
| m_cursor = m_limit - v_10; |
| // call mark_nU, line 384 |
| if (!r_mark_nU()) |
| { |
| goto lab18; |
| } |
| } while (false); |
| lab19: |
| // (, line 384 |
| // or, line 384 |
| |
| do |
| { |
| v_11 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 384 |
| // call mark_sU, line 384 |
| if (!r_mark_sU()) |
| { |
| goto lab22; |
| } |
| // ], line 384 |
| m_bra = m_cursor; |
| // delete, line 384 |
| SliceDel(); |
| // try, line 384 |
| v_12 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 384 |
| // [, line 384 |
| m_ket = m_cursor; |
| // call mark_lAr, line 384 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_12; |
| goto lab23; |
| } |
| // ], line 384 |
| m_bra = m_cursor; |
| // delete, line 384 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 384 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_12; |
| goto lab23; |
| } |
| } while (false); |
| lab23: |
| goto lab21; |
| } while (false); |
| lab22: |
| m_cursor = m_limit - v_11; |
| // (, line 384 |
| // call mark_lArI, line 384 |
| if (!r_mark_lArI()) |
| { |
| goto lab18; |
| } |
| } while (false); |
| lab21: |
| goto lab0; |
| } while (false); |
| lab18: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 386 |
| // [, line 386 |
| m_ket = m_cursor; |
| // call mark_DAn, line 386 |
| if (!r_mark_DAn()) |
| { |
| goto lab24; |
| } |
| // ], line 386 |
| m_bra = m_cursor; |
| // delete, line 386 |
| SliceDel(); |
| // try, line 386 |
| v_13 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 386 |
| // [, line 386 |
| m_ket = m_cursor; |
| // (, line 387 |
| // or, line 389 |
| |
| do |
| { |
| v_14 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 388 |
| // call mark_possessives, line 388 |
| if (!r_mark_possessives()) |
| { |
| goto lab27; |
| } |
| // ], line 388 |
| m_bra = m_cursor; |
| // delete, line 388 |
| SliceDel(); |
| // try, line 388 |
| v_15 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 388 |
| // [, line 388 |
| m_ket = m_cursor; |
| // call mark_lAr, line 388 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_15; |
| goto lab28; |
| } |
| // ], line 388 |
| m_bra = m_cursor; |
| // delete, line 388 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 388 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_15; |
| goto lab28; |
| } |
| } while (false); |
| lab28: |
| goto lab26; |
| } while (false); |
| lab27: |
| m_cursor = m_limit - v_14; |
| |
| do |
| { |
| // (, line 390 |
| // call mark_lAr, line 390 |
| if (!r_mark_lAr()) |
| { |
| goto lab29; |
| } |
| // ], line 390 |
| m_bra = m_cursor; |
| // delete, line 390 |
| SliceDel(); |
| // try, line 390 |
| v_16 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 390 |
| // call stem_suffix_chain_before_ki, line 390 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_16; |
| goto lab30; |
| } |
| } while (false); |
| lab30: |
| goto lab26; |
| } while (false); |
| lab29: |
| m_cursor = m_limit - v_14; |
| // (, line 392 |
| // call stem_suffix_chain_before_ki, line 392 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_13; |
| goto lab25; |
| } |
| } while (false); |
| lab26:; |
| } while (false); |
| lab25: |
| goto lab0; |
| } while (false); |
| lab24: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 396 |
| // [, line 396 |
| m_ket = m_cursor; |
| // or, line 396 |
| |
| do |
| { |
| v_17 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_nUn, line 396 |
| if (!r_mark_nUn()) |
| { |
| goto lab33; |
| } |
| goto lab32; |
| } while (false); |
| lab33: |
| m_cursor = m_limit - v_17; |
| // call mark_ylA, line 396 |
| if (!r_mark_ylA()) |
| { |
| goto lab31; |
| } |
| } while (false); |
| lab32: |
| // ], line 396 |
| m_bra = m_cursor; |
| // delete, line 396 |
| SliceDel(); |
| // try, line 397 |
| v_18 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 397 |
| // or, line 399 |
| |
| do |
| { |
| v_19 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 398 |
| // [, line 398 |
| m_ket = m_cursor; |
| // call mark_lAr, line 398 |
| if (!r_mark_lAr()) |
| { |
| goto lab36; |
| } |
| // ], line 398 |
| m_bra = m_cursor; |
| // delete, line 398 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 398 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| goto lab36; |
| } |
| goto lab35; |
| } while (false); |
| lab36: |
| m_cursor = m_limit - v_19; |
| |
| do |
| { |
| // (, line 400 |
| // [, line 400 |
| m_ket = m_cursor; |
| // or, line 400 |
| |
| do |
| { |
| v_20 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_possessives, line 400 |
| if (!r_mark_possessives()) |
| { |
| goto lab39; |
| } |
| goto lab38; |
| } while (false); |
| lab39: |
| m_cursor = m_limit - v_20; |
| // call mark_sU, line 400 |
| if (!r_mark_sU()) |
| { |
| goto lab37; |
| } |
| } while (false); |
| lab38: |
| // ], line 400 |
| m_bra = m_cursor; |
| // delete, line 400 |
| SliceDel(); |
| // try, line 400 |
| v_21 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 400 |
| // [, line 400 |
| m_ket = m_cursor; |
| // call mark_lAr, line 400 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_21; |
| goto lab40; |
| } |
| // ], line 400 |
| m_bra = m_cursor; |
| // delete, line 400 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 400 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_21; |
| goto lab40; |
| } |
| } while (false); |
| lab40: |
| goto lab35; |
| } while (false); |
| lab37: |
| m_cursor = m_limit - v_19; |
| // call stem_suffix_chain_before_ki, line 402 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_18; |
| goto lab34; |
| } |
| } while (false); |
| lab35:; |
| } while (false); |
| lab34: |
| goto lab0; |
| } while (false); |
| lab31: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 406 |
| // [, line 406 |
| m_ket = m_cursor; |
| // call mark_lArI, line 406 |
| if (!r_mark_lArI()) |
| { |
| goto lab41; |
| } |
| // ], line 406 |
| m_bra = m_cursor; |
| // delete, line 406 |
| SliceDel(); |
| goto lab0; |
| } while (false); |
| lab41: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 408 |
| // call stem_suffix_chain_before_ki, line 408 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| goto lab42; |
| } |
| goto lab0; |
| } while (false); |
| lab42: |
| m_cursor = m_limit - v_1; |
| |
| do |
| { |
| // (, line 410 |
| // [, line 410 |
| m_ket = m_cursor; |
| // or, line 410 |
| |
| do |
| { |
| v_22 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_DA, line 410 |
| if (!r_mark_DA()) |
| { |
| goto lab45; |
| } |
| goto lab44; |
| } while (false); |
| lab45: |
| m_cursor = m_limit - v_22; |
| |
| do |
| { |
| // call mark_yU, line 410 |
| if (!r_mark_yU()) |
| { |
| goto lab46; |
| } |
| goto lab44; |
| } while (false); |
| lab46: |
| m_cursor = m_limit - v_22; |
| // call mark_yA, line 410 |
| if (!r_mark_yA()) |
| { |
| goto lab43; |
| } |
| } while (false); |
| lab44: |
| // ], line 410 |
| m_bra = m_cursor; |
| // delete, line 410 |
| SliceDel(); |
| // try, line 410 |
| v_23 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 410 |
| // [, line 410 |
| m_ket = m_cursor; |
| // (, line 410 |
| // or, line 410 |
| |
| do |
| { |
| v_24 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 410 |
| // call mark_possessives, line 410 |
| if (!r_mark_possessives()) |
| { |
| goto lab49; |
| } |
| // ], line 410 |
| m_bra = m_cursor; |
| // delete, line 410 |
| SliceDel(); |
| // try, line 410 |
| v_25 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 410 |
| // [, line 410 |
| m_ket = m_cursor; |
| // call mark_lAr, line 410 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_25; |
| goto lab50; |
| } |
| } while (false); |
| lab50: |
| goto lab48; |
| } while (false); |
| lab49: |
| m_cursor = m_limit - v_24; |
| // call mark_lAr, line 410 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_23; |
| goto lab47; |
| } |
| } while (false); |
| lab48: |
| // ], line 410 |
| m_bra = m_cursor; |
| // delete, line 410 |
| SliceDel(); |
| // [, line 410 |
| m_ket = m_cursor; |
| // call stem_suffix_chain_before_ki, line 410 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_23; |
| goto lab47; |
| } |
| } while (false); |
| lab47: |
| goto lab0; |
| } while (false); |
| lab43: |
| m_cursor = m_limit - v_1; |
| // (, line 412 |
| // [, line 412 |
| m_ket = m_cursor; |
| // or, line 412 |
| |
| do |
| { |
| v_26 = m_limit - m_cursor; |
| |
| do |
| { |
| // call mark_possessives, line 412 |
| if (!r_mark_possessives()) |
| { |
| goto lab52; |
| } |
| goto lab51; |
| } while (false); |
| lab52: |
| m_cursor = m_limit - v_26; |
| // call mark_sU, line 412 |
| if (!r_mark_sU()) |
| { |
| return false; |
| } |
| } while (false); |
| lab51: |
| // ], line 412 |
| m_bra = m_cursor; |
| // delete, line 412 |
| SliceDel(); |
| // try, line 412 |
| v_27 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 412 |
| // [, line 412 |
| m_ket = m_cursor; |
| // call mark_lAr, line 412 |
| if (!r_mark_lAr()) |
| { |
| m_cursor = m_limit - v_27; |
| goto lab53; |
| } |
| // ], line 412 |
| m_bra = m_cursor; |
| // delete, line 412 |
| SliceDel(); |
| // call stem_suffix_chain_before_ki, line 412 |
| if (!r_stem_suffix_chain_before_ki()) |
| { |
| m_cursor = m_limit - v_27; |
| goto lab53; |
| } |
| } while (false); |
| lab53:; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_post_process_last_consonants() |
| { |
| int among_var; |
| // (, line 415 |
| // [, line 416 |
| m_ket = m_cursor; |
| // substring, line 416 |
| among_var = FindAmongB(a_23, 4); |
| if (among_var == 0) |
| { |
| return false; |
| } |
| // ], line 416 |
| m_bra = m_cursor; |
| switch (among_var) |
| { |
| case 0: |
| return false; |
| case 1: |
| // (, line 417 |
| // <-, line 417 |
| SliceFrom("p"); |
| break; |
| case 2: |
| // (, line 418 |
| // <-, line 418 |
| SliceFrom("\u00E7"); |
| break; |
| case 3: |
| // (, line 419 |
| // <-, line 419 |
| SliceFrom("t"); |
| break; |
| case 4: |
| // (, line 420 |
| // <-, line 420 |
| SliceFrom("k"); |
| break; |
| } |
| return true; |
| } |
| |
| private bool r_append_U_to_stems_ending_with_d_or_g() |
| { |
| 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; |
| int v_12; |
| int v_13; |
| int v_14; |
| int v_15; |
| // (, line 430 |
| // test, line 431 |
| v_1 = m_limit - m_cursor; |
| // (, line 431 |
| // or, line 431 |
| |
| do |
| { |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // literal, line 431 |
| if (!(Eq_S_B(1, "d"))) |
| { |
| goto lab1; |
| } |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_2; |
| // literal, line 431 |
| if (!(Eq_S_B(1, "g"))) |
| { |
| return false; |
| } |
| } while (false); |
| lab0: |
| m_cursor = m_limit - v_1; |
| // or, line 433 |
| |
| do |
| { |
| v_3 = m_limit - m_cursor; |
| |
| do |
| { |
| // (, line 432 |
| // test, line 432 |
| v_4 = m_limit - m_cursor; |
| // (, line 432 |
| // (, line 432 |
| // goto, line 432 |
| |
| while (true) |
| { |
| v_5 = m_limit - m_cursor; |
| |
| do |
| { |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab5; |
| } |
| m_cursor = m_limit - v_5; |
| goto golab4; |
| } while (false); |
| lab5: |
| m_cursor = m_limit - v_5; |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab3; |
| } |
| m_cursor--; |
| } |
| golab4: |
| // or, line 432 |
| |
| do |
| { |
| v_6 = m_limit - m_cursor; |
| |
| do |
| { |
| // literal, line 432 |
| if (!(Eq_S_B(1, "a"))) |
| { |
| goto lab7; |
| } |
| goto lab6; |
| } while (false); |
| lab7: |
| m_cursor = m_limit - v_6; |
| // literal, line 432 |
| if (!(Eq_S_B(1, "\u0131"))) |
| { |
| goto lab3; |
| } |
| } while (false); |
| lab6: |
| m_cursor = m_limit - v_4; |
| // <+, line 432 |
| { |
| int c = m_cursor; |
| Insert(m_cursor, m_cursor, "\u0131"); |
| m_cursor = c; |
| } |
| goto lab2; |
| } while (false); |
| lab3: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // (, line 434 |
| // test, line 434 |
| v_7 = m_limit - m_cursor; |
| // (, line 434 |
| // (, line 434 |
| // goto, line 434 |
| |
| while (true) |
| { |
| v_8 = m_limit - m_cursor; |
| |
| do |
| { |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab10; |
| } |
| m_cursor = m_limit - v_8; |
| goto golab9; |
| } while (false); |
| lab10: |
| m_cursor = m_limit - v_8; |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab8; |
| } |
| m_cursor--; |
| } |
| golab9: |
| // or, line 434 |
| |
| do |
| { |
| v_9 = m_limit - m_cursor; |
| |
| do |
| { |
| // literal, line 434 |
| if (!(Eq_S_B(1, "e"))) |
| { |
| goto lab12; |
| } |
| goto lab11; |
| } while (false); |
| lab12: |
| m_cursor = m_limit - v_9; |
| // literal, line 434 |
| if (!(Eq_S_B(1, "i"))) |
| { |
| goto lab8; |
| } |
| } while (false); |
| lab11: |
| m_cursor = m_limit - v_7; |
| // <+, line 434 |
| { |
| int c = m_cursor; |
| Insert(m_cursor, m_cursor, "i"); |
| m_cursor = c; |
| } |
| goto lab2; |
| } while (false); |
| lab8: |
| m_cursor = m_limit - v_3; |
| |
| do |
| { |
| // (, line 436 |
| // test, line 436 |
| v_10 = m_limit - m_cursor; |
| // (, line 436 |
| // (, line 436 |
| // goto, line 436 |
| |
| while (true) |
| { |
| v_11 = m_limit - m_cursor; |
| |
| do |
| { |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab15; |
| } |
| m_cursor = m_limit - v_11; |
| goto golab14; |
| } while (false); |
| lab15: |
| m_cursor = m_limit - v_11; |
| if (m_cursor <= m_limit_backward) |
| { |
| goto lab13; |
| } |
| m_cursor--; |
| } |
| golab14: |
| // or, line 436 |
| |
| do |
| { |
| v_12 = m_limit - m_cursor; |
| |
| do |
| { |
| // literal, line 436 |
| if (!(Eq_S_B(1, "o"))) |
| { |
| goto lab17; |
| } |
| goto lab16; |
| } while (false); |
| lab17: |
| m_cursor = m_limit - v_12; |
| // literal, line 436 |
| if (!(Eq_S_B(1, "u"))) |
| { |
| goto lab13; |
| } |
| } while (false); |
| lab16: |
| m_cursor = m_limit - v_10; |
| // <+, line 436 |
| { |
| int c = m_cursor; |
| Insert(m_cursor, m_cursor, "u"); |
| m_cursor = c; |
| } |
| goto lab2; |
| } while (false); |
| lab13: |
| m_cursor = m_limit - v_3; |
| // (, line 438 |
| // test, line 438 |
| v_13 = m_limit - m_cursor; |
| // (, line 438 |
| // (, line 438 |
| // goto, line 438 |
| |
| while (true) |
| { |
| v_14 = m_limit - m_cursor; |
| |
| do |
| { |
| if (!(InGroupingB(g_vowel, 97, 305))) |
| { |
| goto lab19; |
| } |
| m_cursor = m_limit - v_14; |
| goto golab18; |
| } while (false); |
| lab19: |
| m_cursor = m_limit - v_14; |
| if (m_cursor <= m_limit_backward) |
| { |
| return false; |
| } |
| m_cursor--; |
| } |
| golab18: |
| // or, line 438 |
| |
| do |
| { |
| v_15 = m_limit - m_cursor; |
| |
| do |
| { |
| // literal, line 438 |
| if (!(Eq_S_B(1, "\u00F6"))) |
| { |
| goto lab21; |
| } |
| goto lab20; |
| } while (false); |
| lab21: |
| m_cursor = m_limit - v_15; |
| // literal, line 438 |
| if (!(Eq_S_B(1, "\u00FC"))) |
| { |
| return false; |
| } |
| } while (false); |
| lab20: |
| m_cursor = m_limit - v_13; |
| // <+, line 438 |
| { |
| int c = m_cursor; |
| Insert(m_cursor, m_cursor, "\u00FC"); |
| m_cursor = c; |
| } |
| } while (false); |
| lab2: |
| return true; |
| } |
| |
| private bool r_more_than_one_syllable_word() |
| { |
| int v_1; |
| int v_3; |
| // (, line 445 |
| // test, line 446 |
| v_1 = m_cursor; |
| // (, line 446 |
| // atleast, line 446 |
| { |
| int v_2 = 2; |
| // atleast, line 446 |
| |
| while (true) |
| { |
| v_3 = m_cursor; |
| |
| do |
| { |
| // (, line 446 |
| // gopast, line 446 |
| |
| while (true) |
| { |
| |
| do |
| { |
| if (!(InGrouping(g_vowel, 97, 305))) |
| { |
| goto lab3; |
| } |
| goto golab2; |
| } while (false); |
| lab3: |
| if (m_cursor >= m_limit) |
| { |
| goto lab1; |
| } |
| m_cursor++; |
| } |
| golab2: |
| v_2--; |
| // LUCENENET NOTE: continue label is not supported directly in .NET, |
| // so we just need to add another goto to get to the end of the outer loop. |
| // See: http://stackoverflow.com/a/359449/181087 |
| |
| // Original code: |
| //continue replab0; |
| |
| goto end_of_outer_loop; |
| } while (false); |
| lab1: |
| m_cursor = v_3; |
| goto replab0; |
| end_of_outer_loop: { } |
| } |
| replab0: |
| if (v_2 > 0) |
| { |
| return false; |
| } |
| } |
| m_cursor = v_1; |
| return true; |
| } |
| |
| private bool r_is_reserved_word() |
| { |
| int v_1; |
| int v_2; |
| int v_4; |
| // (, line 449 |
| // or, line 451 |
| |
| do |
| { |
| v_1 = m_cursor; |
| |
| do |
| { |
| // test, line 450 |
| v_2 = m_cursor; |
| // (, line 450 |
| // gopast, line 450 |
| |
| while (true) |
| { |
| |
| do |
| { |
| // literal, line 450 |
| if (!(Eq_S(2, "ad"))) |
| { |
| goto lab3; |
| } |
| goto golab2; |
| } while (false); |
| lab3: |
| if (m_cursor >= m_limit) |
| { |
| goto lab1; |
| } |
| m_cursor++; |
| } |
| golab2: |
| // (, line 450 |
| I_strlen = 2; |
| // (, line 450 |
| if (!(I_strlen == m_limit)) |
| { |
| goto lab1; |
| } |
| m_cursor = v_2; |
| goto lab0; |
| } while (false); |
| lab1: |
| m_cursor = v_1; |
| // test, line 452 |
| v_4 = m_cursor; |
| // (, line 452 |
| // gopast, line 452 |
| |
| while (true) |
| { |
| |
| do |
| { |
| // literal, line 452 |
| if (!(Eq_S(5, "soyad"))) |
| { |
| goto lab5; |
| } |
| goto golab4; |
| } while (false); |
| lab5: |
| if (m_cursor >= m_limit) |
| { |
| return false; |
| } |
| m_cursor++; |
| } |
| golab4: |
| // (, line 452 |
| I_strlen = 5; |
| // (, line 452 |
| if (!(I_strlen == m_limit)) |
| { |
| return false; |
| } |
| m_cursor = v_4; |
| } while (false); |
| lab0: |
| return true; |
| } |
| |
| private bool r_postlude() |
| { |
| int v_1; |
| int v_2; |
| int v_3; |
| // (, line 455 |
| // not, line 456 |
| { |
| v_1 = m_cursor; |
| |
| do |
| { |
| // (, line 456 |
| // call is_reserved_word, line 456 |
| if (!r_is_reserved_word()) |
| { |
| goto lab0; |
| } |
| return false; |
| } while (false); |
| lab0: |
| m_cursor = v_1; |
| } |
| // backwards, line 457 |
| m_limit_backward = m_cursor; m_cursor = m_limit; |
| // (, line 457 |
| // do, line 458 |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // call append_U_to_stems_ending_with_d_or_g, line 458 |
| if (!r_append_U_to_stems_ending_with_d_or_g()) |
| { |
| goto lab1; |
| } |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_2; |
| // do, line 459 |
| v_3 = m_limit - m_cursor; |
| |
| do |
| { |
| // call post_process_last_consonants, line 459 |
| if (!r_post_process_last_consonants()) |
| { |
| goto lab2; |
| } |
| } while (false); |
| lab2: |
| m_cursor = m_limit - v_3; |
| m_cursor = m_limit_backward; return true; |
| } |
| |
| |
| public override bool Stem() |
| { |
| int v_1; |
| int v_2; |
| // (, line 464 |
| // (, line 465 |
| // call more_than_one_syllable_word, line 465 |
| if (!r_more_than_one_syllable_word()) |
| { |
| return false; |
| } |
| // (, line 466 |
| // backwards, line 467 |
| m_limit_backward = m_cursor; m_cursor = m_limit; |
| // (, line 467 |
| // do, line 468 |
| v_1 = m_limit - m_cursor; |
| |
| do |
| { |
| // call stem_nominal_verb_suffixes, line 468 |
| if (!r_stem_nominal_verb_suffixes()) |
| { |
| goto lab0; |
| } |
| } while (false); |
| lab0: |
| m_cursor = m_limit - v_1; |
| // Boolean test continue_stemming_noun_suffixes, line 469 |
| if (!(B_continue_stemming_noun_suffixes)) |
| { |
| return false; |
| } |
| // do, line 470 |
| v_2 = m_limit - m_cursor; |
| |
| do |
| { |
| // call stem_noun_suffixes, line 470 |
| if (!r_stem_noun_suffixes()) |
| { |
| goto lab1; |
| } |
| } while (false); |
| lab1: |
| m_cursor = m_limit - v_2; |
| m_cursor = m_limit_backward; // call postlude, line 473 |
| if (!r_postlude()) |
| { |
| return false; |
| } |
| return true; |
| } |
| |
| public override bool Equals(object o) |
| { |
| return o is TurkishStemmer; |
| } |
| |
| public override int GetHashCode() |
| { |
| return this.GetType().FullName.GetHashCode(); |
| } |
| } |
| } |