UNPKG

node-nlp

Version:

Library for NLU (Natural Language Understanding) done in Node.js

1,901 lines (1,861 loc) 88.2 kB
/* * Copyright (c) AXA Shared Services Spain S.A. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ const BaseStemmer = require('./base-stemmer'); const Among = require('./among'); /** * This class was automatically generated by a Snowball to JSX compiler * It implements the stemming algorithm defined by a snowball script. */ class TurkishStemmer extends BaseStemmer { constructor(tokenizer) { super(tokenizer); this.B_continue_stemming_noun_suffixes = false; this.I_strlen = 0; } copy_from(other) { this.B_continue_stemming_noun_suffixes = other.B_continue_stemming_noun_suffixes; this.I_strlen = other.I_strlen; super.copy_from(other); } r_check_vowel_harmony() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; let v_8; let v_9; let v_10; let v_11; // (, line 111 // test, line 112 v_1 = this.limit - this.cursor; // (, line 113 // (, line 114 // goto, line 114 golab0: while (true) { v_2 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { break; } this.cursor = this.limit - v_2; break golab0; } this.cursor = this.limit - v_2; if (this.cursor <= this.limit_backward) { return false; } this.cursor--; } // (, line 115 // or, line 116 let lab2 = true; lab2: while (lab2 == true) { lab2 = false; v_3 = this.limit - this.cursor; let lab3 = true; lab3: while (lab3 == true) { lab3 = false; // (, line 116 // literal, line 116 if (!this.eq_s_b(1, 'a')) { break; } // goto, line 116 golab4: while (true) { v_4 = this.limit - this.cursor; let lab5 = true; while (lab5 == true) { lab5 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel1, 97, 305)) { break; } this.cursor = this.limit - v_4; break golab4; } this.cursor = this.limit - v_4; if (this.cursor <= this.limit_backward) { break lab3; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab6 = true; lab6: while (lab6 == true) { lab6 = false; // (, line 117 // literal, line 117 if (!this.eq_s_b(1, 'e')) { break; } // goto, line 117 golab7: while (true) { v_5 = this.limit - this.cursor; let lab8 = true; while (lab8 == true) { lab8 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel2, 101, 252)) { break; } this.cursor = this.limit - v_5; break golab7; } this.cursor = this.limit - v_5; if (this.cursor <= this.limit_backward) { break lab6; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab9 = true; lab9: while (lab9 == true) { lab9 = false; // (, line 118 // literal, line 118 if (!this.eq_s_b(1, '\u0131')) { break; } // goto, line 118 golab10: while (true) { v_6 = this.limit - this.cursor; let lab11 = true; while (lab11 == true) { lab11 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel3, 97, 305)) { break; } this.cursor = this.limit - v_6; break golab10; } this.cursor = this.limit - v_6; if (this.cursor <= this.limit_backward) { break lab9; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab12 = true; lab12: while (lab12 == true) { lab12 = false; // (, line 119 // literal, line 119 if (!this.eq_s_b(1, 'i')) { break; } // goto, line 119 golab13: while (true) { v_7 = this.limit - this.cursor; let lab14 = true; while (lab14 == true) { lab14 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel4, 101, 105)) { break; } this.cursor = this.limit - v_7; break golab13; } this.cursor = this.limit - v_7; if (this.cursor <= this.limit_backward) { break lab12; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab15 = true; lab15: while (lab15 == true) { lab15 = false; // (, line 120 // literal, line 120 if (!this.eq_s_b(1, 'o')) { break; } // goto, line 120 golab16: while (true) { v_8 = this.limit - this.cursor; let lab17 = true; while (lab17 == true) { lab17 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel5, 111, 117)) { break; } this.cursor = this.limit - v_8; break golab16; } this.cursor = this.limit - v_8; if (this.cursor <= this.limit_backward) { break lab15; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab18 = true; lab18: while (lab18 == true) { lab18 = false; // (, line 121 // literal, line 121 if (!this.eq_s_b(1, '\u00F6')) { break; } // goto, line 121 golab19: while (true) { v_9 = this.limit - this.cursor; let lab20 = true; while (lab20 == true) { lab20 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel6, 246, 252)) { break; } this.cursor = this.limit - v_9; break golab19; } this.cursor = this.limit - v_9; if (this.cursor <= this.limit_backward) { break lab18; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; let lab21 = true; lab21: while (lab21 == true) { lab21 = false; // (, line 122 // literal, line 122 if (!this.eq_s_b(1, 'u')) { break; } // goto, line 122 golab22: while (true) { v_10 = this.limit - this.cursor; let lab23 = true; while (lab23 == true) { lab23 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel5, 111, 117)) { break; } this.cursor = this.limit - v_10; break golab22; } this.cursor = this.limit - v_10; if (this.cursor <= this.limit_backward) { break lab21; } this.cursor--; } break lab2; } this.cursor = this.limit - v_3; // (, line 123 // literal, line 123 if (!this.eq_s_b(1, '\u00FC')) { return false; } // goto, line 123 golab24: while (true) { v_11 = this.limit - this.cursor; let lab25 = true; while (lab25 == true) { lab25 = false; if (!this.in_grouping_b(TurkishStemmer.g_vowel6, 246, 252)) { break; } this.cursor = this.limit - v_11; break golab24; } this.cursor = this.limit - v_11; if (this.cursor <= this.limit_backward) { return false; } this.cursor--; } } this.cursor = this.limit - v_1; return true; } r_mark_suffix_with_optional_n_consonant() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; // (, line 132 // or, line 134 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 133 // (, line 133 // test, line 133 v_2 = this.limit - this.cursor; // literal, line 133 if (!this.eq_s_b(1, 'n')) { break; } this.cursor = this.limit - v_2; // next, line 133 if (this.cursor <= this.limit_backward) { break; } this.cursor--; // (, line 133 // test, line 133 v_3 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { break; } this.cursor = this.limit - v_3; break lab0; } this.cursor = this.limit - v_1; // (, line 135 // (, line 135 // not, line 135 { v_4 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // (, line 135 // test, line 135 v_5 = this.limit - this.cursor; // literal, line 135 if (!this.eq_s_b(1, 'n')) { break; } this.cursor = this.limit - v_5; return false; } this.cursor = this.limit - v_4; } // test, line 135 v_6 = this.limit - this.cursor; // (, line 135 // next, line 135 if (this.cursor <= this.limit_backward) { return false; } this.cursor--; // (, line 135 // test, line 135 v_7 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { return false; } this.cursor = this.limit - v_7; this.cursor = this.limit - v_6; } return true; } r_mark_suffix_with_optional_s_consonant() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; // (, line 143 // or, line 145 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 144 // (, line 144 // test, line 144 v_2 = this.limit - this.cursor; // literal, line 144 if (!this.eq_s_b(1, 's')) { break; } this.cursor = this.limit - v_2; // next, line 144 if (this.cursor <= this.limit_backward) { break; } this.cursor--; // (, line 144 // test, line 144 v_3 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { break; } this.cursor = this.limit - v_3; break lab0; } this.cursor = this.limit - v_1; // (, line 146 // (, line 146 // not, line 146 { v_4 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // (, line 146 // test, line 146 v_5 = this.limit - this.cursor; // literal, line 146 if (!this.eq_s_b(1, 's')) { break; } this.cursor = this.limit - v_5; return false; } this.cursor = this.limit - v_4; } // test, line 146 v_6 = this.limit - this.cursor; // (, line 146 // next, line 146 if (this.cursor <= this.limit_backward) { return false; } this.cursor--; // (, line 146 // test, line 146 v_7 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { return false; } this.cursor = this.limit - v_7; this.cursor = this.limit - v_6; } return true; } r_mark_suffix_with_optional_y_consonant() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; // (, line 153 // or, line 155 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 154 // (, line 154 // test, line 154 v_2 = this.limit - this.cursor; // literal, line 154 if (!this.eq_s_b(1, 'y')) { break; } this.cursor = this.limit - v_2; // next, line 154 if (this.cursor <= this.limit_backward) { break; } this.cursor--; // (, line 154 // test, line 154 v_3 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { break; } this.cursor = this.limit - v_3; break lab0; } this.cursor = this.limit - v_1; // (, line 156 // (, line 156 // not, line 156 { v_4 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // (, line 156 // test, line 156 v_5 = this.limit - this.cursor; // literal, line 156 if (!this.eq_s_b(1, 'y')) { break; } this.cursor = this.limit - v_5; return false; } this.cursor = this.limit - v_4; } // test, line 156 v_6 = this.limit - this.cursor; // (, line 156 // next, line 156 if (this.cursor <= this.limit_backward) { return false; } this.cursor--; // (, line 156 // test, line 156 v_7 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { return false; } this.cursor = this.limit - v_7; this.cursor = this.limit - v_6; } return true; } r_mark_suffix_with_optional_U_vowel() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; // (, line 159 // or, line 161 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 160 // (, line 160 // test, line 160 v_2 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_U, 105, 305)) { break; } this.cursor = this.limit - v_2; // next, line 160 if (this.cursor <= this.limit_backward) { break; } this.cursor--; // (, line 160 // test, line 160 v_3 = this.limit - this.cursor; if (!this.out_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { break; } this.cursor = this.limit - v_3; break lab0; } this.cursor = this.limit - v_1; // (, line 162 // (, line 162 // not, line 162 { v_4 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // (, line 162 // test, line 162 v_5 = this.limit - this.cursor; if (!this.in_grouping_b(TurkishStemmer.g_U, 105, 305)) { break; } this.cursor = this.limit - v_5; return false; } this.cursor = this.limit - v_4; } // test, line 162 v_6 = this.limit - this.cursor; // (, line 162 // next, line 162 if (this.cursor <= this.limit_backward) { return false; } this.cursor--; // (, line 162 // test, line 162 v_7 = this.limit - this.cursor; if (!this.out_grouping_b(TurkishStemmer.g_vowel, 97, 305)) { return false; } this.cursor = this.limit - v_7; this.cursor = this.limit - v_6; } return true; } r_mark_possessives() { // (, line 166 // among, line 167 if (this.find_among_b(TurkishStemmer.a_0, 10) == 0) { return false; } // (, line 169 // call mark_suffix_with_optional_U_vowel, line 169 if (!this.r_mark_suffix_with_optional_U_vowel()) { return false; } return true; } r_mark_sU() { // (, line 172 // call check_vowel_harmony, line 173 if (!this.r_check_vowel_harmony()) { return false; } if (!this.in_grouping_b(TurkishStemmer.g_U, 105, 305)) { return false; } // (, line 175 // call mark_suffix_with_optional_s_consonant, line 175 if (!this.r_mark_suffix_with_optional_s_consonant()) { return false; } return true; } r_mark_lArI() { // (, line 178 // among, line 179 if (this.find_among_b(TurkishStemmer.a_1, 2) == 0) { return false; } return true; } r_mark_yU() { // (, line 182 // call check_vowel_harmony, line 183 if (!this.r_check_vowel_harmony()) { return false; } if (!this.in_grouping_b(TurkishStemmer.g_U, 105, 305)) { return false; } // (, line 185 // call mark_suffix_with_optional_y_consonant, line 185 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_nU() { // (, line 188 // call check_vowel_harmony, line 189 if (!this.r_check_vowel_harmony()) { return false; } // among, line 190 if (this.find_among_b(TurkishStemmer.a_2, 4) == 0) { return false; } return true; } r_mark_nUn() { // (, line 193 // call check_vowel_harmony, line 194 if (!this.r_check_vowel_harmony()) { return false; } // among, line 195 if (this.find_among_b(TurkishStemmer.a_3, 4) == 0) { return false; } // (, line 196 // call mark_suffix_with_optional_n_consonant, line 196 if (!this.r_mark_suffix_with_optional_n_consonant()) { return false; } return true; } r_mark_yA() { // (, line 199 // call check_vowel_harmony, line 200 if (!this.r_check_vowel_harmony()) { return false; } // among, line 201 if (this.find_among_b(TurkishStemmer.a_4, 2) == 0) { return false; } // (, line 202 // call mark_suffix_with_optional_y_consonant, line 202 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_nA() { // (, line 205 // call check_vowel_harmony, line 206 if (!this.r_check_vowel_harmony()) { return false; } // among, line 207 if (this.find_among_b(TurkishStemmer.a_5, 2) == 0) { return false; } return true; } r_mark_DA() { // (, line 210 // call check_vowel_harmony, line 211 if (!this.r_check_vowel_harmony()) { return false; } // among, line 212 if (this.find_among_b(TurkishStemmer.a_6, 4) == 0) { return false; } return true; } r_mark_ndA() { // (, line 215 // call check_vowel_harmony, line 216 if (!this.r_check_vowel_harmony()) { return false; } // among, line 217 if (this.find_among_b(TurkishStemmer.a_7, 2) == 0) { return false; } return true; } r_mark_DAn() { // (, line 220 // call check_vowel_harmony, line 221 if (!this.r_check_vowel_harmony()) { return false; } // among, line 222 if (this.find_among_b(TurkishStemmer.a_8, 4) == 0) { return false; } return true; } r_mark_ndAn() { // (, line 225 // call check_vowel_harmony, line 226 if (!this.r_check_vowel_harmony()) { return false; } // among, line 227 if (this.find_among_b(TurkishStemmer.a_9, 2) == 0) { return false; } return true; } r_mark_ylA() { // (, line 230 // call check_vowel_harmony, line 231 if (!this.r_check_vowel_harmony()) { return false; } // among, line 232 if (this.find_among_b(TurkishStemmer.a_10, 2) == 0) { return false; } // (, line 233 // call mark_suffix_with_optional_y_consonant, line 233 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_ki() { // (, line 236 // literal, line 237 if (!this.eq_s_b(2, 'ki')) { return false; } return true; } r_mark_ncA() { // (, line 240 // call check_vowel_harmony, line 241 if (!this.r_check_vowel_harmony()) { return false; } // among, line 242 if (this.find_among_b(TurkishStemmer.a_11, 2) == 0) { return false; } // (, line 243 // call mark_suffix_with_optional_n_consonant, line 243 if (!this.r_mark_suffix_with_optional_n_consonant()) { return false; } return true; } r_mark_yUm() { // (, line 246 // call check_vowel_harmony, line 247 if (!this.r_check_vowel_harmony()) { return false; } // among, line 248 if (this.find_among_b(TurkishStemmer.a_12, 4) == 0) { return false; } // (, line 249 // call mark_suffix_with_optional_y_consonant, line 249 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_sUn() { // (, line 252 // call check_vowel_harmony, line 253 if (!this.r_check_vowel_harmony()) { return false; } // among, line 254 if (this.find_among_b(TurkishStemmer.a_13, 4) == 0) { return false; } return true; } r_mark_yUz() { // (, line 257 // call check_vowel_harmony, line 258 if (!this.r_check_vowel_harmony()) { return false; } // among, line 259 if (this.find_among_b(TurkishStemmer.a_14, 4) == 0) { return false; } // (, line 260 // call mark_suffix_with_optional_y_consonant, line 260 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_sUnUz() { // (, line 263 // among, line 264 if (this.find_among_b(TurkishStemmer.a_15, 4) == 0) { return false; } return true; } r_mark_lAr() { // (, line 267 // call check_vowel_harmony, line 268 if (!this.r_check_vowel_harmony()) { return false; } // among, line 269 if (this.find_among_b(TurkishStemmer.a_16, 2) == 0) { return false; } return true; } r_mark_nUz() { // (, line 272 // call check_vowel_harmony, line 273 if (!this.r_check_vowel_harmony()) { return false; } // among, line 274 if (this.find_among_b(TurkishStemmer.a_17, 4) == 0) { return false; } return true; } r_mark_DUr() { // (, line 277 // call check_vowel_harmony, line 278 if (!this.r_check_vowel_harmony()) { return false; } // among, line 279 if (this.find_among_b(TurkishStemmer.a_18, 8) == 0) { return false; } return true; } r_mark_cAsInA() { // (, line 282 // among, line 283 if (this.find_among_b(TurkishStemmer.a_19, 2) == 0) { return false; } return true; } r_mark_yDU() { // (, line 286 // call check_vowel_harmony, line 287 if (!this.r_check_vowel_harmony()) { return false; } // among, line 288 if (this.find_among_b(TurkishStemmer.a_20, 32) == 0) { return false; } // (, line 292 // call mark_suffix_with_optional_y_consonant, line 292 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_ysA() { // (, line 296 // among, line 297 if (this.find_among_b(TurkishStemmer.a_21, 8) == 0) { return false; } // (, line 298 // call mark_suffix_with_optional_y_consonant, line 298 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_ymUs_() { // (, line 301 // call check_vowel_harmony, line 302 if (!this.r_check_vowel_harmony()) { return false; } // among, line 303 if (this.find_among_b(TurkishStemmer.a_22, 4) == 0) { return false; } // (, line 304 // call mark_suffix_with_optional_y_consonant, line 304 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_mark_yken() { // (, line 307 // literal, line 308 if (!this.eq_s_b(3, 'ken')) { return false; } // (, line 308 // call mark_suffix_with_optional_y_consonant, line 308 if (!this.r_mark_suffix_with_optional_y_consonant()) { return false; } return true; } r_stem_nominal_verb_suffixes() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; let v_8; let v_9; let v_10; // (, line 311 // [, line 312 this.ket = this.cursor; // set continue_stemming_noun_suffixes, line 313 this.B_continue_stemming_noun_suffixes = true; // or, line 315 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; lab1: while (lab1 == true) { lab1 = false; // (, line 314 // or, line 314 let lab2 = true; lab2: while (lab2 == true) { lab2 = false; v_2 = this.limit - this.cursor; let lab3 = true; while (lab3 == true) { lab3 = false; // call mark_ymUs_, line 314 if (!this.r_mark_ymUs_()) { break; } break lab2; } this.cursor = this.limit - v_2; let lab4 = true; while (lab4 == true) { lab4 = false; // call mark_yDU, line 314 if (!this.r_mark_yDU()) { break; } break lab2; } this.cursor = this.limit - v_2; let lab5 = true; while (lab5 == true) { lab5 = false; // call mark_ysA, line 314 if (!this.r_mark_ysA()) { break; } break lab2; } this.cursor = this.limit - v_2; // call mark_yken, line 314 if (!this.r_mark_yken()) { break lab1; } } break lab0; } this.cursor = this.limit - v_1; let lab6 = true; while (lab6 == true) { lab6 = false; // (, line 316 // call mark_cAsInA, line 316 if (!this.r_mark_cAsInA()) { break; } // (, line 316 // or, line 316 let lab7 = true; lab7: while (lab7 == true) { lab7 = false; v_3 = this.limit - this.cursor; let lab8 = true; while (lab8 == true) { lab8 = false; // call mark_sUnUz, line 316 if (!this.r_mark_sUnUz()) { break; } break lab7; } this.cursor = this.limit - v_3; let lab9 = true; while (lab9 == true) { lab9 = false; // call mark_lAr, line 316 if (!this.r_mark_lAr()) { break; } break lab7; } this.cursor = this.limit - v_3; let lab10 = true; while (lab10 == true) { lab10 = false; // call mark_yUm, line 316 if (!this.r_mark_yUm()) { break; } break lab7; } this.cursor = this.limit - v_3; let lab11 = true; while (lab11 == true) { lab11 = false; // call mark_sUn, line 316 if (!this.r_mark_sUn()) { break; } break lab7; } this.cursor = this.limit - v_3; let lab12 = true; while (lab12 == true) { lab12 = false; // call mark_yUz, line 316 if (!this.r_mark_yUz()) { break; } break lab7; } this.cursor = this.limit - v_3; } // call mark_ymUs_, line 316 if (!this.r_mark_ymUs_()) { break; } break lab0; } this.cursor = this.limit - v_1; let lab13 = true; while (lab13 == true) { lab13 = false; // (, line 318 // call mark_lAr, line 319 if (!this.r_mark_lAr()) { break; } // ], line 319 this.bra = this.cursor; // delete, line 319 if (!this.slice_del()) { return false; } // try, line 319 v_4 = this.limit - this.cursor; let lab14 = true; lab14: while (lab14 == true) { lab14 = false; // (, line 319 // [, line 319 this.ket = this.cursor; // (, line 319 // or, line 319 let lab15 = true; lab15: while (lab15 == true) { lab15 = false; v_5 = this.limit - this.cursor; let lab16 = true; while (lab16 == true) { lab16 = false; // call mark_DUr, line 319 if (!this.r_mark_DUr()) { break; } break lab15; } this.cursor = this.limit - v_5; let lab17 = true; while (lab17 == true) { lab17 = false; // call mark_yDU, line 319 if (!this.r_mark_yDU()) { break; } break lab15; } this.cursor = this.limit - v_5; let lab18 = true; while (lab18 == true) { lab18 = false; // call mark_ysA, line 319 if (!this.r_mark_ysA()) { break; } break lab15; } this.cursor = this.limit - v_5; // call mark_ymUs_, line 319 if (!this.r_mark_ymUs_()) { this.cursor = this.limit - v_4; break lab14; } } } // unset continue_stemming_noun_suffixes, line 320 this.B_continue_stemming_noun_suffixes = false; break lab0; } this.cursor = this.limit - v_1; let lab19 = true; lab19: while (lab19 == true) { lab19 = false; // (, line 323 // call mark_nUz, line 323 if (!this.r_mark_nUz()) { break; } // (, line 323 // or, line 323 let lab20 = true; lab20: while (lab20 == true) { lab20 = false; v_6 = this.limit - this.cursor; let lab21 = true; while (lab21 == true) { lab21 = false; // call mark_yDU, line 323 if (!this.r_mark_yDU()) { break; } break lab20; } this.cursor = this.limit - v_6; // call mark_ysA, line 323 if (!this.r_mark_ysA()) { break lab19; } } break lab0; } this.cursor = this.limit - v_1; let lab22 = true; lab22: while (lab22 == true) { lab22 = false; // (, line 325 // (, line 325 // or, line 325 let lab23 = true; lab23: while (lab23 == true) { lab23 = false; v_7 = this.limit - this.cursor; let lab24 = true; while (lab24 == true) { lab24 = false; // call mark_sUnUz, line 325 if (!this.r_mark_sUnUz()) { break; } break lab23; } this.cursor = this.limit - v_7; let lab25 = true; while (lab25 == true) { lab25 = false; // call mark_yUz, line 325 if (!this.r_mark_yUz()) { break; } break lab23; } this.cursor = this.limit - v_7; let lab26 = true; while (lab26 == true) { lab26 = false; // call mark_sUn, line 325 if (!this.r_mark_sUn()) { break; } break lab23; } this.cursor = this.limit - v_7; // call mark_yUm, line 325 if (!this.r_mark_yUm()) { break lab22; } } // ], line 325 this.bra = this.cursor; // delete, line 325 if (!this.slice_del()) { return false; } // try, line 325 v_8 = this.limit - this.cursor; let lab27 = true; while (lab27 == true) { lab27 = false; // (, line 325 // [, line 325 this.ket = this.cursor; // call mark_ymUs_, line 325 if (!this.r_mark_ymUs_()) { this.cursor = this.limit - v_8; break; } } break lab0; } this.cursor = this.limit - v_1; // (, line 327 // call mark_DUr, line 327 if (!this.r_mark_DUr()) { return false; } // ], line 327 this.bra = this.cursor; // delete, line 327 if (!this.slice_del()) { return false; } // try, line 327 v_9 = this.limit - this.cursor; let lab28 = true; while (lab28 == true) { lab28 = false; // (, line 327 // [, line 327 this.ket = this.cursor; // (, line 327 // or, line 327 let lab29 = true; lab29: while (lab29 == true) { lab29 = false; v_10 = this.limit - this.cursor; let lab30 = true; while (lab30 == true) { lab30 = false; // call mark_sUnUz, line 327 if (!this.r_mark_sUnUz()) { break; } break lab29; } this.cursor = this.limit - v_10; let lab31 = true; while (lab31 == true) { lab31 = false; // call mark_lAr, line 327 if (!this.r_mark_lAr()) { break; } break lab29; } this.cursor = this.limit - v_10; let lab32 = true; while (lab32 == true) { lab32 = false; // call mark_yUm, line 327 if (!this.r_mark_yUm()) { break; } break lab29; } this.cursor = this.limit - v_10; let lab33 = true; while (lab33 == true) { lab33 = false; // call mark_sUn, line 327 if (!this.r_mark_sUn()) { break; } break lab29; } this.cursor = this.limit - v_10; let lab34 = true; while (lab34 == true) { lab34 = false; // call mark_yUz, line 327 if (!this.r_mark_yUz()) { break; } break lab29; } this.cursor = this.limit - v_10; } // call mark_ymUs_, line 327 if (!this.r_mark_ymUs_()) { this.cursor = this.limit - v_9; break; } } } // ], line 328 this.bra = this.cursor; // delete, line 328 if (!this.slice_del()) { return false; } return true; } r_stem_suffix_chain_before_ki() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; let v_8; let v_9; let v_10; let v_11; // (, line 332 // [, line 333 this.ket = this.cursor; // call mark_ki, line 334 if (!this.r_mark_ki()) { return false; } // (, line 335 // or, line 342 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 336 // call mark_DA, line 336 if (!this.r_mark_DA()) { break; } // ], line 336 this.bra = this.cursor; // delete, line 336 if (!this.slice_del()) { return false; } // try, line 336 v_2 = this.limit - this.cursor; let lab2 = true; lab2: while (lab2 == true) { lab2 = false; // (, line 336 // [, line 336 this.ket = this.cursor; // or, line 338 let lab3 = true; lab3: while (lab3 == true) { lab3 = false; v_3 = this.limit - this.cursor; let lab4 = true; while (lab4 == true) { lab4 = false; // (, line 337 // call mark_lAr, line 337 if (!this.r_mark_lAr()) { break; } // ], line 337 this.bra = this.cursor; // delete, line 337 if (!this.slice_del()) { return false; } // try, line 337 v_4 = this.limit - this.cursor; let lab5 = true; while (lab5 == true) { lab5 = false; // (, line 337 // call stem_suffix_chain_before_ki, line 337 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_4; break; } } break lab3; } this.cursor = this.limit - v_3; // (, line 339 // call mark_possessives, line 339 if (!this.r_mark_possessives()) { this.cursor = this.limit - v_2; break lab2; } // ], line 339 this.bra = this.cursor; // delete, line 339 if (!this.slice_del()) { return false; } // try, line 339 v_5 = this.limit - this.cursor; let lab6 = true; while (lab6 == true) { lab6 = false; // (, line 339 // [, line 339 this.ket = this.cursor; // call mark_lAr, line 339 if (!this.r_mark_lAr()) { this.cursor = this.limit - v_5; break; } // ], line 339 this.bra = this.cursor; // delete, line 339 if (!this.slice_del()) { return false; } // call stem_suffix_chain_before_ki, line 339 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_5; break; } } } } break lab0; } this.cursor = this.limit - v_1; let lab7 = true; while (lab7 == true) { lab7 = false; // (, line 343 // call mark_nUn, line 343 if (!this.r_mark_nUn()) { break; } // ], line 343 this.bra = this.cursor; // delete, line 343 if (!this.slice_del()) { return false; } // try, line 343 v_6 = this.limit - this.cursor; let lab8 = true; lab8: while (lab8 == true) { lab8 = false; // (, line 343 // [, line 343 this.ket = this.cursor; // or, line 345 let lab9 = true; lab9: while (lab9 == true) { lab9 = false; v_7 = this.limit - this.cursor; let lab10 = true; while (lab10 == true) { lab10 = false; // (, line 344 // call mark_lArI, line 344 if (!this.r_mark_lArI()) { break; } // ], line 344 this.bra = this.cursor; // delete, line 344 if (!this.slice_del()) { return false; } break lab9; } this.cursor = this.limit - v_7; let lab11 = true; lab11: while (lab11 == true) { lab11 = false; // (, line 346 // [, line 346 this.ket = this.cursor; // or, line 346 let lab12 = true; lab12: while (lab12 == true) { lab12 = false; v_8 = this.limit - this.cursor; let lab13 = true; while (lab13 == true) { lab13 = false; // call mark_possessives, line 346 if (!this.r_mark_possessives()) { break; } break lab12; } this.cursor = this.limit - v_8; // call mark_sU, line 346 if (!this.r_mark_sU()) { break lab11; } } // ], line 346 this.bra = this.cursor; // delete, line 346 if (!this.slice_del()) { return false; } // try, line 346 v_9 = this.limit - this.cursor; let lab14 = true; while (lab14 == true) { lab14 = false; // (, line 346 // [, line 346 this.ket = this.cursor; // call mark_lAr, line 346 if (!this.r_mark_lAr()) { this.cursor = this.limit - v_9; break; } // ], line 346 this.bra = this.cursor; // delete, line 346 if (!this.slice_del()) { return false; } // call stem_suffix_chain_before_ki, line 346 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_9; break; } } break lab9; } this.cursor = this.limit - v_7; // (, line 348 // call stem_suffix_chain_before_ki, line 348 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_6; break lab8; } } } break lab0; } this.cursor = this.limit - v_1; // (, line 351 // call mark_ndA, line 351 if (!this.r_mark_ndA()) { return false; } // (, line 351 // or, line 353 let lab15 = true; lab15: while (lab15 == true) { lab15 = false; v_10 = this.limit - this.cursor; let lab16 = true; while (lab16 == true) { lab16 = false; // (, line 352 // call mark_lArI, line 352 if (!this.r_mark_lArI()) { break; } // ], line 352 this.bra = this.cursor; // delete, line 352 if (!this.slice_del()) { return false; } break lab15; } this.cursor = this.limit - v_10; let lab17 = true; while (lab17 == true) { lab17 = false; // (, line 354 // (, line 354 // call mark_sU, line 354 if (!this.r_mark_sU()) { break; } // ], line 354 this.bra = this.cursor; // delete, line 354 if (!this.slice_del()) { return false; } // try, line 354 v_11 = this.limit - this.cursor; let lab18 = true; while (lab18 == true) { lab18 = false; // (, line 354 // [, line 354 this.ket = this.cursor; // call mark_lAr, line 354 if (!this.r_mark_lAr()) { this.cursor = this.limit - v_11; break; } // ], line 354 this.bra = this.cursor; // delete, line 354 if (!this.slice_del()) { return false; } // call stem_suffix_chain_before_ki, line 354 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_11; break; } } break lab15; } this.cursor = this.limit - v_10; // (, line 356 // call stem_suffix_chain_before_ki, line 356 if (!this.r_stem_suffix_chain_before_ki()) { return false; } } } return true; } r_stem_noun_suffixes() { let v_1; let v_2; let v_3; let v_4; let v_5; let v_6; let v_7; let v_8; let v_9; let v_10; let v_11; let v_12; let v_13; let v_14; let v_15; let v_16; let v_17; let v_18; let v_19; let v_20; let v_21; let v_22; let v_23; let v_24; let v_25; let v_26; let v_27; // (, line 361 // or, line 363 let lab0 = true; lab0: while (lab0 == true) { lab0 = false; v_1 = this.limit - this.cursor; let lab1 = true; while (lab1 == true) { lab1 = false; // (, line 362 // [, line 362 this.ket = this.cursor; // call mark_lAr, line 362 if (!this.r_mark_lAr()) { break; } // ], line 362 this.bra = this.cursor; // delete, line 362 if (!this.slice_del()) { return false; } // try, line 362 v_2 = this.limit - this.cursor; let lab2 = true; while (lab2 == true) { lab2 = false; // (, line 362 // call stem_suffix_chain_before_ki, line 362 if (!this.r_stem_suffix_chain_before_ki()) { this.cursor = this.limit - v_2; break; } } break lab0; } this.cursor = this.limit - v_1; let lab3 = true; while (lab3 == true) { lab3 = false; // (, line 364 // [, line 364 this.ket = this.cursor; // call mark_ncA, line 364 if (!this.r_mark_ncA()) { break; } // ], line 364 this.bra = this.cursor; // delete, line 364 if (!this.slice_del()) { return false; } // try, line 365 v_3 = this.limit - this.cursor; let lab4 = true; lab4: while (lab4 == true) { lab4 = false; // (, line 365 // or, line 367 let lab5 = true; lab5: while (lab5 == true) { lab5 = false; v_4 = this.limit - this.cursor; let lab6 = true; while (lab6 == true) { lab6 = false; // (, line 366 // [, line 366 this.ket = this.cursor; // call mark_lArI, line 366 if (!this.r_mark_lArI()) { break; } // ], line 366 this.bra = this.cursor; // delete, line 366 if (!this.slice_del()) { return false; } break lab5; } this.cursor = this.limit - v_4; let lab7 = true; lab7: while (lab7 == true) { lab7 = false; // (, line 368 // [, line 368 this.ket = this.cursor; // or, line 368 let lab8 = true; lab8: while (lab8 == true) { lab8 = false; v_5 = this.limit - this.cursor; let lab9 = true; while (lab9 == true) { lab9 = false; // call mark_possessives, line 368 if (!this.r_mark_possessives()) { break; } break lab8; } this.cursor = this.limit - v_5; // call mark_sU, line 368 if (!this.r_mark_sU()) { break lab7; } } // ], line 368 this.bra = this.cursor; // delete, line 368 if (!this.slice_del()) { return false; } // try, line 368 v_6 = this.limit - this.cursor; let lab10 = true; while (lab10 == true) { lab10 = false; // (, line 368 // [, line 368 this.ket = this.cursor; // call mark_lAr, line 368 if (!this.r_mark_lAr()) { th