View Javadoc

1   // This file was generated automatically by the Snowball to Java compiler
2   
3   package org.tartarus.snowball.ext;
4   
5   import org.tartarus.snowball.Among;
6   
7    /***
8     * This class was automatically generated by a Snowball to Java compiler 
9     * It implements the stemming algorithm defined by a snowball script.
10    */
11  
12  public class turkishStemmer extends org.tartarus.snowball.SnowballStemmer {
13  
14  private static final long serialVersionUID = 1L;
15  
16          private final static turkishStemmer methodObject = new turkishStemmer ();
17  
18                  private final static Among a_0[] = {
19                      new Among ( "m", -1, -1, "", methodObject ),
20                      new Among ( "n", -1, -1, "", methodObject ),
21                      new Among ( "miz", -1, -1, "", methodObject ),
22                      new Among ( "niz", -1, -1, "", methodObject ),
23                      new Among ( "muz", -1, -1, "", methodObject ),
24                      new Among ( "nuz", -1, -1, "", methodObject ),
25                      new Among ( "m\u00FCz", -1, -1, "", methodObject ),
26                      new Among ( "n\u00FCz", -1, -1, "", methodObject ),
27                      new Among ( "m\u0131z", -1, -1, "", methodObject ),
28                      new Among ( "n\u0131z", -1, -1, "", methodObject )
29                  };
30  
31                  private final static Among a_1[] = {
32                      new Among ( "leri", -1, -1, "", methodObject ),
33                      new Among ( "lar\u0131", -1, -1, "", methodObject )
34                  };
35  
36                  private final static Among a_2[] = {
37                      new Among ( "ni", -1, -1, "", methodObject ),
38                      new Among ( "nu", -1, -1, "", methodObject ),
39                      new Among ( "n\u00FC", -1, -1, "", methodObject ),
40                      new Among ( "n\u0131", -1, -1, "", methodObject )
41                  };
42  
43                  private final static Among a_3[] = {
44                      new Among ( "in", -1, -1, "", methodObject ),
45                      new Among ( "un", -1, -1, "", methodObject ),
46                      new Among ( "\u00FCn", -1, -1, "", methodObject ),
47                      new Among ( "\u0131n", -1, -1, "", methodObject )
48                  };
49  
50                  private final static Among a_4[] = {
51                      new Among ( "a", -1, -1, "", methodObject ),
52                      new Among ( "e", -1, -1, "", methodObject )
53                  };
54  
55                  private final static Among a_5[] = {
56                      new Among ( "na", -1, -1, "", methodObject ),
57                      new Among ( "ne", -1, -1, "", methodObject )
58                  };
59  
60                  private final static Among a_6[] = {
61                      new Among ( "da", -1, -1, "", methodObject ),
62                      new Among ( "ta", -1, -1, "", methodObject ),
63                      new Among ( "de", -1, -1, "", methodObject ),
64                      new Among ( "te", -1, -1, "", methodObject )
65                  };
66  
67                  private final static Among a_7[] = {
68                      new Among ( "nda", -1, -1, "", methodObject ),
69                      new Among ( "nde", -1, -1, "", methodObject )
70                  };
71  
72                  private final static Among a_8[] = {
73                      new Among ( "dan", -1, -1, "", methodObject ),
74                      new Among ( "tan", -1, -1, "", methodObject ),
75                      new Among ( "den", -1, -1, "", methodObject ),
76                      new Among ( "ten", -1, -1, "", methodObject )
77                  };
78  
79                  private final static Among a_9[] = {
80                      new Among ( "ndan", -1, -1, "", methodObject ),
81                      new Among ( "nden", -1, -1, "", methodObject )
82                  };
83  
84                  private final static Among a_10[] = {
85                      new Among ( "la", -1, -1, "", methodObject ),
86                      new Among ( "le", -1, -1, "", methodObject )
87                  };
88  
89                  private final static Among a_11[] = {
90                      new Among ( "ca", -1, -1, "", methodObject ),
91                      new Among ( "ce", -1, -1, "", methodObject )
92                  };
93  
94                  private final static Among a_12[] = {
95                      new Among ( "im", -1, -1, "", methodObject ),
96                      new Among ( "um", -1, -1, "", methodObject ),
97                      new Among ( "\u00FCm", -1, -1, "", methodObject ),
98                      new Among ( "\u0131m", -1, -1, "", methodObject )
99                  };
100 
101                 private final static Among a_13[] = {
102                     new Among ( "sin", -1, -1, "", methodObject ),
103                     new Among ( "sun", -1, -1, "", methodObject ),
104                     new Among ( "s\u00FCn", -1, -1, "", methodObject ),
105                     new Among ( "s\u0131n", -1, -1, "", methodObject )
106                 };
107 
108                 private final static Among a_14[] = {
109                     new Among ( "iz", -1, -1, "", methodObject ),
110                     new Among ( "uz", -1, -1, "", methodObject ),
111                     new Among ( "\u00FCz", -1, -1, "", methodObject ),
112                     new Among ( "\u0131z", -1, -1, "", methodObject )
113                 };
114 
115                 private final static Among a_15[] = {
116                     new Among ( "siniz", -1, -1, "", methodObject ),
117                     new Among ( "sunuz", -1, -1, "", methodObject ),
118                     new Among ( "s\u00FCn\u00FCz", -1, -1, "", methodObject ),
119                     new Among ( "s\u0131n\u0131z", -1, -1, "", methodObject )
120                 };
121 
122                 private final static Among a_16[] = {
123                     new Among ( "lar", -1, -1, "", methodObject ),
124                     new Among ( "ler", -1, -1, "", methodObject )
125                 };
126 
127                 private final static Among a_17[] = {
128                     new Among ( "niz", -1, -1, "", methodObject ),
129                     new Among ( "nuz", -1, -1, "", methodObject ),
130                     new Among ( "n\u00FCz", -1, -1, "", methodObject ),
131                     new Among ( "n\u0131z", -1, -1, "", methodObject )
132                 };
133 
134                 private final static Among a_18[] = {
135                     new Among ( "dir", -1, -1, "", methodObject ),
136                     new Among ( "tir", -1, -1, "", methodObject ),
137                     new Among ( "dur", -1, -1, "", methodObject ),
138                     new Among ( "tur", -1, -1, "", methodObject ),
139                     new Among ( "d\u00FCr", -1, -1, "", methodObject ),
140                     new Among ( "t\u00FCr", -1, -1, "", methodObject ),
141                     new Among ( "d\u0131r", -1, -1, "", methodObject ),
142                     new Among ( "t\u0131r", -1, -1, "", methodObject )
143                 };
144 
145                 private final static Among a_19[] = {
146                     new Among ( "cas\u0131na", -1, -1, "", methodObject ),
147                     new Among ( "cesine", -1, -1, "", methodObject )
148                 };
149 
150                 private final static Among a_20[] = {
151                     new Among ( "di", -1, -1, "", methodObject ),
152                     new Among ( "ti", -1, -1, "", methodObject ),
153                     new Among ( "dik", -1, -1, "", methodObject ),
154                     new Among ( "tik", -1, -1, "", methodObject ),
155                     new Among ( "duk", -1, -1, "", methodObject ),
156                     new Among ( "tuk", -1, -1, "", methodObject ),
157                     new Among ( "d\u00FCk", -1, -1, "", methodObject ),
158                     new Among ( "t\u00FCk", -1, -1, "", methodObject ),
159                     new Among ( "d\u0131k", -1, -1, "", methodObject ),
160                     new Among ( "t\u0131k", -1, -1, "", methodObject ),
161                     new Among ( "dim", -1, -1, "", methodObject ),
162                     new Among ( "tim", -1, -1, "", methodObject ),
163                     new Among ( "dum", -1, -1, "", methodObject ),
164                     new Among ( "tum", -1, -1, "", methodObject ),
165                     new Among ( "d\u00FCm", -1, -1, "", methodObject ),
166                     new Among ( "t\u00FCm", -1, -1, "", methodObject ),
167                     new Among ( "d\u0131m", -1, -1, "", methodObject ),
168                     new Among ( "t\u0131m", -1, -1, "", methodObject ),
169                     new Among ( "din", -1, -1, "", methodObject ),
170                     new Among ( "tin", -1, -1, "", methodObject ),
171                     new Among ( "dun", -1, -1, "", methodObject ),
172                     new Among ( "tun", -1, -1, "", methodObject ),
173                     new Among ( "d\u00FCn", -1, -1, "", methodObject ),
174                     new Among ( "t\u00FCn", -1, -1, "", methodObject ),
175                     new Among ( "d\u0131n", -1, -1, "", methodObject ),
176                     new Among ( "t\u0131n", -1, -1, "", methodObject ),
177                     new Among ( "du", -1, -1, "", methodObject ),
178                     new Among ( "tu", -1, -1, "", methodObject ),
179                     new Among ( "d\u00FC", -1, -1, "", methodObject ),
180                     new Among ( "t\u00FC", -1, -1, "", methodObject ),
181                     new Among ( "d\u0131", -1, -1, "", methodObject ),
182                     new Among ( "t\u0131", -1, -1, "", methodObject )
183                 };
184 
185                 private final static Among a_21[] = {
186                     new Among ( "sa", -1, -1, "", methodObject ),
187                     new Among ( "se", -1, -1, "", methodObject ),
188                     new Among ( "sak", -1, -1, "", methodObject ),
189                     new Among ( "sek", -1, -1, "", methodObject ),
190                     new Among ( "sam", -1, -1, "", methodObject ),
191                     new Among ( "sem", -1, -1, "", methodObject ),
192                     new Among ( "san", -1, -1, "", methodObject ),
193                     new Among ( "sen", -1, -1, "", methodObject )
194                 };
195 
196                 private final static Among a_22[] = {
197                     new Among ( "mi\u015F", -1, -1, "", methodObject ),
198                     new Among ( "mu\u015F", -1, -1, "", methodObject ),
199                     new Among ( "m\u00FC\u015F", -1, -1, "", methodObject ),
200                     new Among ( "m\u0131\u015F", -1, -1, "", methodObject )
201                 };
202 
203                 private final static Among a_23[] = {
204                     new Among ( "b", -1, 1, "", methodObject ),
205                     new Among ( "c", -1, 2, "", methodObject ),
206                     new Among ( "d", -1, 3, "", methodObject ),
207                     new Among ( "\u011F", -1, 4, "", methodObject )
208                 };
209 
210                 private static final char g_vowel[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1 };
211 
212                 private static final char g_U[] = {1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1 };
213 
214                 private static final char g_vowel1[] = {1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
215 
216                 private static final char g_vowel2[] = {17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130 };
217 
218                 private static final char g_vowel3[] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 };
219 
220                 private static final char g_vowel4[] = {17 };
221 
222                 private static final char g_vowel5[] = {65 };
223 
224                 private static final char g_vowel6[] = {65 };
225 
226         private boolean B_continue_stemming_noun_suffixes;
227         private int I_strlen;
228 
229                 private void copy_from(turkishStemmer other) {
230                     B_continue_stemming_noun_suffixes = other.B_continue_stemming_noun_suffixes;
231                     I_strlen = other.I_strlen;
232                     super.copy_from(other);
233                 }
234 
235                 private boolean r_check_vowel_harmony() {
236             int v_1;
237             int v_2;
238             int v_3;
239             int v_4;
240             int v_5;
241             int v_6;
242             int v_7;
243             int v_8;
244             int v_9;
245             int v_10;
246             int v_11;
247                     // (, line 111
248                     // test, line 112
249                     v_1 = limit - cursor;
250                     // (, line 113
251                     // (, line 114
252                     // goto, line 114
253                     golab0: while(true)
254                     {
255                         v_2 = limit - cursor;
256                         lab1: do {
257                             if (!(in_grouping_b(g_vowel, 97, 305)))
258                             {
259                                 break lab1;
260                             }
261                             cursor = limit - v_2;
262                             break golab0;
263                         } while (false);
264                         cursor = limit - v_2;
265                         if (cursor <= limit_backward)
266                         {
267                             return false;
268                         }
269                         cursor--;
270                     }
271                     // (, line 115
272                     // or, line 116
273                     lab2: do {
274                         v_3 = limit - cursor;
275                         lab3: do {
276                             // (, line 116
277                             // literal, line 116
278                             if (!(eq_s_b(1, "a")))
279                             {
280                                 break lab3;
281                             }
282                             // goto, line 116
283                             golab4: while(true)
284                             {
285                                 v_4 = limit - cursor;
286                                 lab5: do {
287                                     if (!(in_grouping_b(g_vowel1, 97, 305)))
288                                     {
289                                         break lab5;
290                                     }
291                                     cursor = limit - v_4;
292                                     break golab4;
293                                 } while (false);
294                                 cursor = limit - v_4;
295                                 if (cursor <= limit_backward)
296                                 {
297                                     break lab3;
298                                 }
299                                 cursor--;
300                             }
301                             break lab2;
302                         } while (false);
303                         cursor = limit - v_3;
304                         lab6: do {
305                             // (, line 117
306                             // literal, line 117
307                             if (!(eq_s_b(1, "e")))
308                             {
309                                 break lab6;
310                             }
311                             // goto, line 117
312                             golab7: while(true)
313                             {
314                                 v_5 = limit - cursor;
315                                 lab8: do {
316                                     if (!(in_grouping_b(g_vowel2, 101, 252)))
317                                     {
318                                         break lab8;
319                                     }
320                                     cursor = limit - v_5;
321                                     break golab7;
322                                 } while (false);
323                                 cursor = limit - v_5;
324                                 if (cursor <= limit_backward)
325                                 {
326                                     break lab6;
327                                 }
328                                 cursor--;
329                             }
330                             break lab2;
331                         } while (false);
332                         cursor = limit - v_3;
333                         lab9: do {
334                             // (, line 118
335                             // literal, line 118
336                             if (!(eq_s_b(1, "\u0131")))
337                             {
338                                 break lab9;
339                             }
340                             // goto, line 118
341                             golab10: while(true)
342                             {
343                                 v_6 = limit - cursor;
344                                 lab11: do {
345                                     if (!(in_grouping_b(g_vowel3, 97, 305)))
346                                     {
347                                         break lab11;
348                                     }
349                                     cursor = limit - v_6;
350                                     break golab10;
351                                 } while (false);
352                                 cursor = limit - v_6;
353                                 if (cursor <= limit_backward)
354                                 {
355                                     break lab9;
356                                 }
357                                 cursor--;
358                             }
359                             break lab2;
360                         } while (false);
361                         cursor = limit - v_3;
362                         lab12: do {
363                             // (, line 119
364                             // literal, line 119
365                             if (!(eq_s_b(1, "i")))
366                             {
367                                 break lab12;
368                             }
369                             // goto, line 119
370                             golab13: while(true)
371                             {
372                                 v_7 = limit - cursor;
373                                 lab14: do {
374                                     if (!(in_grouping_b(g_vowel4, 101, 105)))
375                                     {
376                                         break lab14;
377                                     }
378                                     cursor = limit - v_7;
379                                     break golab13;
380                                 } while (false);
381                                 cursor = limit - v_7;
382                                 if (cursor <= limit_backward)
383                                 {
384                                     break lab12;
385                                 }
386                                 cursor--;
387                             }
388                             break lab2;
389                         } while (false);
390                         cursor = limit - v_3;
391                         lab15: do {
392                             // (, line 120
393                             // literal, line 120
394                             if (!(eq_s_b(1, "o")))
395                             {
396                                 break lab15;
397                             }
398                             // goto, line 120
399                             golab16: while(true)
400                             {
401                                 v_8 = limit - cursor;
402                                 lab17: do {
403                                     if (!(in_grouping_b(g_vowel5, 111, 117)))
404                                     {
405                                         break lab17;
406                                     }
407                                     cursor = limit - v_8;
408                                     break golab16;
409                                 } while (false);
410                                 cursor = limit - v_8;
411                                 if (cursor <= limit_backward)
412                                 {
413                                     break lab15;
414                                 }
415                                 cursor--;
416                             }
417                             break lab2;
418                         } while (false);
419                         cursor = limit - v_3;
420                         lab18: do {
421                             // (, line 121
422                             // literal, line 121
423                             if (!(eq_s_b(1, "\u00F6")))
424                             {
425                                 break lab18;
426                             }
427                             // goto, line 121
428                             golab19: while(true)
429                             {
430                                 v_9 = limit - cursor;
431                                 lab20: do {
432                                     if (!(in_grouping_b(g_vowel6, 246, 252)))
433                                     {
434                                         break lab20;
435                                     }
436                                     cursor = limit - v_9;
437                                     break golab19;
438                                 } while (false);
439                                 cursor = limit - v_9;
440                                 if (cursor <= limit_backward)
441                                 {
442                                     break lab18;
443                                 }
444                                 cursor--;
445                             }
446                             break lab2;
447                         } while (false);
448                         cursor = limit - v_3;
449                         lab21: do {
450                             // (, line 122
451                             // literal, line 122
452                             if (!(eq_s_b(1, "u")))
453                             {
454                                 break lab21;
455                             }
456                             // goto, line 122
457                             golab22: while(true)
458                             {
459                                 v_10 = limit - cursor;
460                                 lab23: do {
461                                     if (!(in_grouping_b(g_vowel5, 111, 117)))
462                                     {
463                                         break lab23;
464                                     }
465                                     cursor = limit - v_10;
466                                     break golab22;
467                                 } while (false);
468                                 cursor = limit - v_10;
469                                 if (cursor <= limit_backward)
470                                 {
471                                     break lab21;
472                                 }
473                                 cursor--;
474                             }
475                             break lab2;
476                         } while (false);
477                         cursor = limit - v_3;
478                         // (, line 123
479                         // literal, line 123
480                         if (!(eq_s_b(1, "\u00FC")))
481                         {
482                             return false;
483                         }
484                         // goto, line 123
485                         golab24: while(true)
486                         {
487                             v_11 = limit - cursor;
488                             lab25: do {
489                                 if (!(in_grouping_b(g_vowel6, 246, 252)))
490                                 {
491                                     break lab25;
492                                 }
493                                 cursor = limit - v_11;
494                                 break golab24;
495                             } while (false);
496                             cursor = limit - v_11;
497                             if (cursor <= limit_backward)
498                             {
499                                 return false;
500                             }
501                             cursor--;
502                         }
503                     } while (false);
504                     cursor = limit - v_1;
505                     return true;
506                 }
507 
508                 private boolean r_mark_suffix_with_optional_n_consonant() {
509             int v_1;
510             int v_2;
511             int v_3;
512             int v_4;
513             int v_5;
514             int v_6;
515             int v_7;
516                     // (, line 132
517                     // or, line 134
518                     lab0: do {
519                         v_1 = limit - cursor;
520                         lab1: do {
521                             // (, line 133
522                             // (, line 133
523                             // test, line 133
524                             v_2 = limit - cursor;
525                             // literal, line 133
526                             if (!(eq_s_b(1, "n")))
527                             {
528                                 break lab1;
529                             }
530                             cursor = limit - v_2;
531                             // next, line 133
532                             if (cursor <= limit_backward)
533                             {
534                                 break lab1;
535                             }
536                             cursor--;
537                             // (, line 133
538                             // test, line 133
539                             v_3 = limit - cursor;
540                             if (!(in_grouping_b(g_vowel, 97, 305)))
541                             {
542                                 break lab1;
543                             }
544                             cursor = limit - v_3;
545                             break lab0;
546                         } while (false);
547                         cursor = limit - v_1;
548                         // (, line 135
549                         // (, line 135
550                         // not, line 135
551                         {
552                             v_4 = limit - cursor;
553                             lab2: do {
554                                 // (, line 135
555                                 // test, line 135
556                                 v_5 = limit - cursor;
557                                 // literal, line 135
558                                 if (!(eq_s_b(1, "n")))
559                                 {
560                                     break lab2;
561                                 }
562                                 cursor = limit - v_5;
563                                 return false;
564                             } while (false);
565                             cursor = limit - v_4;
566                         }
567                         // test, line 135
568                         v_6 = limit - cursor;
569                         // (, line 135
570                         // next, line 135
571                         if (cursor <= limit_backward)
572                         {
573                             return false;
574                         }
575                         cursor--;
576                         // (, line 135
577                         // test, line 135
578                         v_7 = limit - cursor;
579                         if (!(in_grouping_b(g_vowel, 97, 305)))
580                         {
581                             return false;
582                         }
583                         cursor = limit - v_7;
584                         cursor = limit - v_6;
585                     } while (false);
586                     return true;
587                 }
588 
589                 private boolean r_mark_suffix_with_optional_s_consonant() {
590             int v_1;
591             int v_2;
592             int v_3;
593             int v_4;
594             int v_5;
595             int v_6;
596             int v_7;
597                     // (, line 143
598                     // or, line 145
599                     lab0: do {
600                         v_1 = limit - cursor;
601                         lab1: do {
602                             // (, line 144
603                             // (, line 144
604                             // test, line 144
605                             v_2 = limit - cursor;
606                             // literal, line 144
607                             if (!(eq_s_b(1, "s")))
608                             {
609                                 break lab1;
610                             }
611                             cursor = limit - v_2;
612                             // next, line 144
613                             if (cursor <= limit_backward)
614                             {
615                                 break lab1;
616                             }
617                             cursor--;
618                             // (, line 144
619                             // test, line 144
620                             v_3 = limit - cursor;
621                             if (!(in_grouping_b(g_vowel, 97, 305)))
622                             {
623                                 break lab1;
624                             }
625                             cursor = limit - v_3;
626                             break lab0;
627                         } while (false);
628                         cursor = limit - v_1;
629                         // (, line 146
630                         // (, line 146
631                         // not, line 146
632                         {
633                             v_4 = limit - cursor;
634                             lab2: do {
635                                 // (, line 146
636                                 // test, line 146
637                                 v_5 = limit - cursor;
638                                 // literal, line 146
639                                 if (!(eq_s_b(1, "s")))
640                                 {
641                                     break lab2;
642                                 }
643                                 cursor = limit - v_5;
644                                 return false;
645                             } while (false);
646                             cursor = limit - v_4;
647                         }
648                         // test, line 146
649                         v_6 = limit - cursor;
650                         // (, line 146
651                         // next, line 146
652                         if (cursor <= limit_backward)
653                         {
654                             return false;
655                         }
656                         cursor--;
657                         // (, line 146
658                         // test, line 146
659                         v_7 = limit - cursor;
660                         if (!(in_grouping_b(g_vowel, 97, 305)))
661                         {
662                             return false;
663                         }
664                         cursor = limit - v_7;
665                         cursor = limit - v_6;
666                     } while (false);
667                     return true;
668                 }
669 
670                 private boolean r_mark_suffix_with_optional_y_consonant() {
671             int v_1;
672             int v_2;
673             int v_3;
674             int v_4;
675             int v_5;
676             int v_6;
677             int v_7;
678                     // (, line 153
679                     // or, line 155
680                     lab0: do {
681                         v_1 = limit - cursor;
682                         lab1: do {
683                             // (, line 154
684                             // (, line 154
685                             // test, line 154
686                             v_2 = limit - cursor;
687                             // literal, line 154
688                             if (!(eq_s_b(1, "y")))
689                             {
690                                 break lab1;
691                             }
692                             cursor = limit - v_2;
693                             // next, line 154
694                             if (cursor <= limit_backward)
695                             {
696                                 break lab1;
697                             }
698                             cursor--;
699                             // (, line 154
700                             // test, line 154
701                             v_3 = limit - cursor;
702                             if (!(in_grouping_b(g_vowel, 97, 305)))
703                             {
704                                 break lab1;
705                             }
706                             cursor = limit - v_3;
707                             break lab0;
708                         } while (false);
709                         cursor = limit - v_1;
710                         // (, line 156
711                         // (, line 156
712                         // not, line 156
713                         {
714                             v_4 = limit - cursor;
715                             lab2: do {
716                                 // (, line 156
717                                 // test, line 156
718                                 v_5 = limit - cursor;
719                                 // literal, line 156
720                                 if (!(eq_s_b(1, "y")))
721                                 {
722                                     break lab2;
723                                 }
724                                 cursor = limit - v_5;
725                                 return false;
726                             } while (false);
727                             cursor = limit - v_4;
728                         }
729                         // test, line 156
730                         v_6 = limit - cursor;
731                         // (, line 156
732                         // next, line 156
733                         if (cursor <= limit_backward)
734                         {
735                             return false;
736                         }
737                         cursor--;
738                         // (, line 156
739                         // test, line 156
740                         v_7 = limit - cursor;
741                         if (!(in_grouping_b(g_vowel, 97, 305)))
742                         {
743                             return false;
744                         }
745                         cursor = limit - v_7;
746                         cursor = limit - v_6;
747                     } while (false);
748                     return true;
749                 }
750 
751                 private boolean r_mark_suffix_with_optional_U_vowel() {
752             int v_1;
753             int v_2;
754             int v_3;
755             int v_4;
756             int v_5;
757             int v_6;
758             int v_7;
759                     // (, line 159
760                     // or, line 161
761                     lab0: do {
762                         v_1 = limit - cursor;
763                         lab1: do {
764                             // (, line 160
765                             // (, line 160
766                             // test, line 160
767                             v_2 = limit - cursor;
768                             if (!(in_grouping_b(g_U, 105, 305)))
769                             {
770                                 break lab1;
771                             }
772                             cursor = limit - v_2;
773                             // next, line 160
774                             if (cursor <= limit_backward)
775                             {
776                                 break lab1;
777                             }
778                             cursor--;
779                             // (, line 160
780                             // test, line 160
781                             v_3 = limit - cursor;
782                             if (!(out_grouping_b(g_vowel, 97, 305)))
783                             {
784                                 break lab1;
785                             }
786                             cursor = limit - v_3;
787                             break lab0;
788                         } while (false);
789                         cursor = limit - v_1;
790                         // (, line 162
791                         // (, line 162
792                         // not, line 162
793                         {
794                             v_4 = limit - cursor;
795                             lab2: do {
796                                 // (, line 162
797                                 // test, line 162
798                                 v_5 = limit - cursor;
799                                 if (!(in_grouping_b(g_U, 105, 305)))
800                                 {
801                                     break lab2;
802                                 }
803                                 cursor = limit - v_5;
804                                 return false;
805                             } while (false);
806                             cursor = limit - v_4;
807                         }
808                         // test, line 162
809                         v_6 = limit - cursor;
810                         // (, line 162
811                         // next, line 162
812                         if (cursor <= limit_backward)
813                         {
814                             return false;
815                         }
816                         cursor--;
817                         // (, line 162
818                         // test, line 162
819                         v_7 = limit - cursor;
820                         if (!(out_grouping_b(g_vowel, 97, 305)))
821                         {
822                             return false;
823                         }
824                         cursor = limit - v_7;
825                         cursor = limit - v_6;
826                     } while (false);
827                     return true;
828                 }
829 
830                 private boolean r_mark_possessives() {
831                     // (, line 166
832                     // among, line 167
833                     if (find_among_b(a_0, 10) == 0)
834                     {
835                         return false;
836                     }
837                     // (, line 169
838                     // call mark_suffix_with_optional_U_vowel, line 169
839                     if (!r_mark_suffix_with_optional_U_vowel())
840                     {
841                         return false;
842                     }
843                     return true;
844                 }
845 
846                 private boolean r_mark_sU() {
847                     // (, line 172
848                     // call check_vowel_harmony, line 173
849                     if (!r_check_vowel_harmony())
850                     {
851                         return false;
852                     }
853                     if (!(in_grouping_b(g_U, 105, 305)))
854                     {
855                         return false;
856                     }
857                     // (, line 175
858                     // call mark_suffix_with_optional_s_consonant, line 175
859                     if (!r_mark_suffix_with_optional_s_consonant())
860                     {
861                         return false;
862                     }
863                     return true;
864                 }
865 
866                 private boolean r_mark_lArI() {
867                     // (, line 178
868                     // among, line 179
869                     if (find_among_b(a_1, 2) == 0)
870                     {
871                         return false;
872                     }
873                     return true;
874                 }
875 
876                 private boolean r_mark_yU() {
877                     // (, line 182
878                     // call check_vowel_harmony, line 183
879                     if (!r_check_vowel_harmony())
880                     {
881                         return false;
882                     }
883                     if (!(in_grouping_b(g_U, 105, 305)))
884                     {
885                         return false;
886                     }
887                     // (, line 185
888                     // call mark_suffix_with_optional_y_consonant, line 185
889                     if (!r_mark_suffix_with_optional_y_consonant())
890                     {
891                         return false;
892                     }
893                     return true;
894                 }
895 
896                 private boolean r_mark_nU() {
897                     // (, line 188
898                     // call check_vowel_harmony, line 189
899                     if (!r_check_vowel_harmony())
900                     {
901                         return false;
902                     }
903                     // among, line 190
904                     if (find_among_b(a_2, 4) == 0)
905                     {
906                         return false;
907                     }
908                     return true;
909                 }
910 
911                 private boolean r_mark_nUn() {
912                     // (, line 193
913                     // call check_vowel_harmony, line 194
914                     if (!r_check_vowel_harmony())
915                     {
916                         return false;
917                     }
918                     // among, line 195
919                     if (find_among_b(a_3, 4) == 0)
920                     {
921                         return false;
922                     }
923                     // (, line 196
924                     // call mark_suffix_with_optional_n_consonant, line 196
925                     if (!r_mark_suffix_with_optional_n_consonant())
926                     {
927                         return false;
928                     }
929                     return true;
930                 }
931 
932                 private boolean r_mark_yA() {
933                     // (, line 199
934                     // call check_vowel_harmony, line 200
935                     if (!r_check_vowel_harmony())
936                     {
937                         return false;
938                     }
939                     // among, line 201
940                     if (find_among_b(a_4, 2) == 0)
941                     {
942                         return false;
943                     }
944                     // (, line 202
945                     // call mark_suffix_with_optional_y_consonant, line 202
946                     if (!r_mark_suffix_with_optional_y_consonant())
947                     {
948                         return false;
949                     }
950                     return true;
951                 }
952 
953                 private boolean r_mark_nA() {
954                     // (, line 205
955                     // call check_vowel_harmony, line 206
956                     if (!r_check_vowel_harmony())
957                     {
958                         return false;
959                     }
960                     // among, line 207
961                     if (find_among_b(a_5, 2) == 0)
962                     {
963                         return false;
964                     }
965                     return true;
966                 }
967 
968                 private boolean r_mark_DA() {
969                     // (, line 210
970                     // call check_vowel_harmony, line 211
971                     if (!r_check_vowel_harmony())
972                     {
973                         return false;
974                     }
975                     // among, line 212
976                     if (find_among_b(a_6, 4) == 0)
977                     {
978                         return false;
979                     }
980                     return true;
981                 }
982 
983                 private boolean r_mark_ndA() {
984                     // (, line 215
985                     // call check_vowel_harmony, line 216
986                     if (!r_check_vowel_harmony())
987                     {
988                         return false;
989                     }
990                     // among, line 217
991                     if (find_among_b(a_7, 2) == 0)
992                     {
993                         return false;
994                     }
995                     return true;
996                 }
997 
998                 private boolean r_mark_DAn() {
999                     // (, line 220
1000                     // call check_vowel_harmony, line 221
1001                     if (!r_check_vowel_harmony())
1002                     {
1003                         return false;
1004                     }
1005                     // among, line 222
1006                     if (find_among_b(a_8, 4) == 0)
1007                     {
1008                         return false;
1009                     }
1010                     return true;
1011                 }
1012 
1013                 private boolean r_mark_ndAn() {
1014                     // (, line 225
1015                     // call check_vowel_harmony, line 226
1016                     if (!r_check_vowel_harmony())
1017                     {
1018                         return false;
1019                     }
1020                     // among, line 227
1021                     if (find_among_b(a_9, 2) == 0)
1022                     {
1023                         return false;
1024                     }
1025                     return true;
1026                 }
1027 
1028                 private boolean r_mark_ylA() {
1029                     // (, line 230
1030                     // call check_vowel_harmony, line 231
1031                     if (!r_check_vowel_harmony())
1032                     {
1033                         return false;
1034                     }
1035                     // among, line 232
1036                     if (find_among_b(a_10, 2) == 0)
1037                     {
1038                         return false;
1039                     }
1040                     // (, line 233
1041                     // call mark_suffix_with_optional_y_consonant, line 233
1042                     if (!r_mark_suffix_with_optional_y_consonant())
1043                     {
1044                         return false;
1045                     }
1046                     return true;
1047                 }
1048 
1049                 private boolean r_mark_ki() {
1050                     // (, line 236
1051                     // literal, line 237
1052                     if (!(eq_s_b(2, "ki")))
1053                     {
1054                         return false;
1055                     }
1056                     return true;
1057                 }
1058 
1059                 private boolean r_mark_ncA() {
1060                     // (, line 240
1061                     // call check_vowel_harmony, line 241
1062                     if (!r_check_vowel_harmony())
1063                     {
1064                         return false;
1065                     }
1066                     // among, line 242
1067                     if (find_among_b(a_11, 2) == 0)
1068                     {
1069                         return false;
1070                     }
1071                     // (, line 243
1072                     // call mark_suffix_with_optional_n_consonant, line 243
1073                     if (!r_mark_suffix_with_optional_n_consonant())
1074                     {
1075                         return false;
1076                     }
1077                     return true;
1078                 }
1079 
1080                 private boolean r_mark_yUm() {
1081                     // (, line 246
1082                     // call check_vowel_harmony, line 247
1083                     if (!r_check_vowel_harmony())
1084                     {
1085                         return false;
1086                     }
1087                     // among, line 248
1088                     if (find_among_b(a_12, 4) == 0)
1089                     {
1090                         return false;
1091                     }
1092                     // (, line 249
1093                     // call mark_suffix_with_optional_y_consonant, line 249
1094                     if (!r_mark_suffix_with_optional_y_consonant())
1095                     {
1096                         return false;
1097                     }
1098                     return true;
1099                 }
1100 
1101                 private boolean r_mark_sUn() {
1102                     // (, line 252
1103                     // call check_vowel_harmony, line 253
1104                     if (!r_check_vowel_harmony())
1105                     {
1106                         return false;
1107                     }
1108                     // among, line 254
1109                     if (find_among_b(a_13, 4) == 0)
1110                     {
1111                         return false;
1112                     }
1113                     return true;
1114                 }
1115 
1116                 private boolean r_mark_yUz() {
1117                     // (, line 257
1118                     // call check_vowel_harmony, line 258
1119                     if (!r_check_vowel_harmony())
1120                     {
1121                         return false;
1122                     }
1123                     // among, line 259
1124                     if (find_among_b(a_14, 4) == 0)
1125                     {
1126                         return false;
1127                     }
1128                     // (, line 260
1129                     // call mark_suffix_with_optional_y_consonant, line 260
1130                     if (!r_mark_suffix_with_optional_y_consonant())
1131                     {
1132                         return false;
1133                     }
1134                     return true;
1135                 }
1136 
1137                 private boolean r_mark_sUnUz() {
1138                     // (, line 263
1139                     // among, line 264
1140                     if (find_among_b(a_15, 4) == 0)
1141                     {
1142                         return false;
1143                     }
1144                     return true;
1145                 }
1146 
1147                 private boolean r_mark_lAr() {
1148                     // (, line 267
1149                     // call check_vowel_harmony, line 268
1150                     if (!r_check_vowel_harmony())
1151                     {
1152                         return false;
1153                     }
1154                     // among, line 269
1155                     if (find_among_b(a_16, 2) == 0)
1156                     {
1157                         return false;
1158                     }
1159                     return true;
1160                 }
1161 
1162                 private boolean r_mark_nUz() {
1163                     // (, line 272
1164                     // call check_vowel_harmony, line 273
1165                     if (!r_check_vowel_harmony())
1166                     {
1167                         return false;
1168                     }
1169                     // among, line 274
1170                     if (find_among_b(a_17, 4) == 0)
1171                     {
1172                         return false;
1173                     }
1174                     return true;
1175                 }
1176 
1177                 private boolean r_mark_DUr() {
1178                     // (, line 277
1179                     // call check_vowel_harmony, line 278
1180                     if (!r_check_vowel_harmony())
1181                     {
1182                         return false;
1183                     }
1184                     // among, line 279
1185                     if (find_among_b(a_18, 8) == 0)
1186                     {
1187                         return false;
1188                     }
1189                     return true;
1190                 }
1191 
1192                 private boolean r_mark_cAsInA() {
1193                     // (, line 282
1194                     // among, line 283
1195                     if (find_among_b(a_19, 2) == 0)
1196                     {
1197                         return false;
1198                     }
1199                     return true;
1200                 }
1201 
1202                 private boolean r_mark_yDU() {
1203                     // (, line 286
1204                     // call check_vowel_harmony, line 287
1205                     if (!r_check_vowel_harmony())
1206                     {
1207                         return false;
1208                     }
1209                     // among, line 288
1210                     if (find_among_b(a_20, 32) == 0)
1211                     {
1212                         return false;
1213                     }
1214                     // (, line 292
1215                     // call mark_suffix_with_optional_y_consonant, line 292
1216                     if (!r_mark_suffix_with_optional_y_consonant())
1217                     {
1218                         return false;
1219                     }
1220                     return true;
1221                 }
1222 
1223                 private boolean r_mark_ysA() {
1224                     // (, line 296
1225                     // among, line 297
1226                     if (find_among_b(a_21, 8) == 0)
1227                     {
1228                         return false;
1229                     }
1230                     // (, line 298
1231                     // call mark_suffix_with_optional_y_consonant, line 298
1232                     if (!r_mark_suffix_with_optional_y_consonant())
1233                     {
1234                         return false;
1235                     }
1236                     return true;
1237                 }
1238 
1239                 private boolean r_mark_ymUs_() {
1240                     // (, line 301
1241                     // call check_vowel_harmony, line 302
1242                     if (!r_check_vowel_harmony())
1243                     {
1244                         return false;
1245                     }
1246                     // among, line 303
1247                     if (find_among_b(a_22, 4) == 0)
1248                     {
1249                         return false;
1250                     }
1251                     // (, line 304
1252                     // call mark_suffix_with_optional_y_consonant, line 304
1253                     if (!r_mark_suffix_with_optional_y_consonant())
1254                     {
1255                         return false;
1256                     }
1257                     return true;
1258                 }
1259 
1260                 private boolean r_mark_yken() {
1261                     // (, line 307
1262                     // literal, line 308
1263                     if (!(eq_s_b(3, "ken")))
1264                     {
1265                         return false;
1266                     }
1267                     // (, line 308
1268                     // call mark_suffix_with_optional_y_consonant, line 308
1269                     if (!r_mark_suffix_with_optional_y_consonant())
1270                     {
1271                         return false;
1272                     }
1273                     return true;
1274                 }
1275 
1276                 private boolean r_stem_nominal_verb_suffixes() {
1277             int v_1;
1278             int v_2;
1279             int v_3;
1280             int v_4;
1281             int v_5;
1282             int v_6;
1283             int v_7;
1284             int v_8;
1285             int v_9;
1286             int v_10;
1287                     // (, line 311
1288                     // [, line 312
1289                     ket = cursor;
1290                     // set continue_stemming_noun_suffixes, line 313
1291                     B_continue_stemming_noun_suffixes = true;
1292                     // or, line 315
1293                     lab0: do {
1294                         v_1 = limit - cursor;
1295                         lab1: do {
1296                             // (, line 314
1297                             // or, line 314
1298                             lab2: do {
1299                                 v_2 = limit - cursor;
1300                                 lab3: do {
1301                                     // call mark_ymUs_, line 314
1302                                     if (!r_mark_ymUs_())
1303                                     {
1304                                         break lab3;
1305                                     }
1306                                     break lab2;
1307                                 } while (false);
1308                                 cursor = limit - v_2;
1309                                 lab4: do {
1310                                     // call mark_yDU, line 314
1311                                     if (!r_mark_yDU())
1312                                     {
1313                                         break lab4;
1314                                     }
1315                                     break lab2;
1316                                 } while (false);
1317                                 cursor = limit - v_2;
1318                                 lab5: do {
1319                                     // call mark_ysA, line 314
1320                                     if (!r_mark_ysA())
1321                                     {
1322                                         break lab5;
1323                                     }
1324                                     break lab2;
1325                                 } while (false);
1326                                 cursor = limit - v_2;
1327                                 // call mark_yken, line 314
1328                                 if (!r_mark_yken())
1329                                 {
1330                                     break lab1;
1331                                 }
1332                             } while (false);
1333                             break lab0;
1334                         } while (false);
1335                         cursor = limit - v_1;
1336                         lab6: do {
1337                             // (, line 316
1338                             // call mark_cAsInA, line 316
1339                             if (!r_mark_cAsInA())
1340                             {
1341                                 break lab6;
1342                             }
1343                             // (, line 316
1344                             // or, line 316
1345                             lab7: do {
1346                                 v_3 = limit - cursor;
1347                                 lab8: do {
1348                                     // call mark_sUnUz, line 316
1349                                     if (!r_mark_sUnUz())
1350                                     {
1351                                         break lab8;
1352                                     }
1353                                     break lab7;
1354                                 } while (false);
1355                                 cursor = limit - v_3;
1356                                 lab9: do {
1357                                     // call mark_lAr, line 316
1358                                     if (!r_mark_lAr())
1359                                     {
1360                                         break lab9;
1361                                     }
1362                                     break lab7;
1363                                 } while (false);
1364                                 cursor = limit - v_3;
1365                                 lab10: do {
1366                                     // call mark_yUm, line 316
1367                                     if (!r_mark_yUm())
1368                                     {
1369                                         break lab10;
1370                                     }
1371                                     break lab7;
1372                                 } while (false);
1373                                 cursor = limit - v_3;
1374                                 lab11: do {
1375                                     // call mark_sUn, line 316
1376                                     if (!r_mark_sUn())
1377                                     {
1378                                         break lab11;
1379                                     }
1380                                     break lab7;
1381                                 } while (false);
1382                                 cursor = limit - v_3;
1383                                 lab12: do {
1384                                     // call mark_yUz, line 316
1385                                     if (!r_mark_yUz())
1386                                     {
1387                                         break lab12;
1388                                     }
1389                                     break lab7;
1390                                 } while (false);
1391                                 cursor = limit - v_3;
1392                             } while (false);
1393                             // call mark_ymUs_, line 316
1394                             if (!r_mark_ymUs_())
1395                             {
1396                                 break lab6;
1397                             }
1398                             break lab0;
1399                         } while (false);
1400                         cursor = limit - v_1;
1401                         lab13: do {
1402                             // (, line 318
1403                             // call mark_lAr, line 319
1404                             if (!r_mark_lAr())
1405                             {
1406                                 break lab13;
1407                             }
1408                             // ], line 319
1409                             bra = cursor;
1410                             // delete, line 319
1411                             slice_del();
1412                             // try, line 319
1413                             v_4 = limit - cursor;
1414                             lab14: do {
1415                                 // (, line 319
1416                                 // [, line 319
1417                                 ket = cursor;
1418                                 // (, line 319
1419                                 // or, line 319
1420                                 lab15: do {
1421                                     v_5 = limit - cursor;
1422                                     lab16: do {
1423                                         // call mark_DUr, line 319
1424                                         if (!r_mark_DUr())
1425                                         {
1426                                             break lab16;
1427                                         }
1428                                         break lab15;
1429                                     } while (false);
1430                                     cursor = limit - v_5;
1431                                     lab17: do {
1432                                         // call mark_yDU, line 319
1433                                         if (!r_mark_yDU())
1434                                         {
1435                                             break lab17;
1436                                         }
1437                                         break lab15;
1438                                     } while (false);
1439                                     cursor = limit - v_5;
1440                                     lab18: do {
1441                                         // call mark_ysA, line 319
1442                                         if (!r_mark_ysA())
1443                                         {
1444                                             break lab18;
1445                                         }
1446                                         break lab15;
1447                                     } while (false);
1448                                     cursor = limit - v_5;
1449                                     // call mark_ymUs_, line 319
1450                                     if (!r_mark_ymUs_())
1451                                     {
1452                                         cursor = limit - v_4;
1453                                         break lab14;
1454                                     }
1455                                 } while (false);
1456                             } while (false);
1457                             // unset continue_stemming_noun_suffixes, line 320
1458                             B_continue_stemming_noun_suffixes = false;
1459                             break lab0;
1460                         } while (false);
1461                         cursor = limit - v_1;
1462                         lab19: do {
1463                             // (, line 323
1464                             // call mark_nUz, line 323
1465                             if (!r_mark_nUz())
1466                             {
1467                                 break lab19;
1468                             }
1469                             // (, line 323
1470                             // or, line 323
1471                             lab20: do {
1472                                 v_6 = limit - cursor;
1473                                 lab21: do {
1474                                     // call mark_yDU, line 323
1475                                     if (!r_mark_yDU())
1476                                     {
1477                                         break lab21;
1478                                     }
1479                                     break lab20;
1480                                 } while (false);
1481                                 cursor = limit - v_6;
1482                                 // call mark_ysA, line 323
1483                                 if (!r_mark_ysA())
1484                                 {
1485                                     break lab19;
1486                                 }
1487                             } while (false);
1488                             break lab0;
1489                         } while (false);
1490                         cursor = limit - v_1;
1491                         lab22: do {
1492                             // (, line 325
1493                             // (, line 325
1494                             // or, line 325
1495                             lab23: do {
1496                                 v_7 = limit - cursor;
1497                                 lab24: do {
1498                                     // call mark_sUnUz, line 325
1499                                     if (!r_mark_sUnUz())
1500                                     {
1501                                         break lab24;
1502                                     }
1503                                     break lab23;
1504                                 } while (false);
1505                                 cursor = limit - v_7;
1506                                 lab25: do {
1507                                     // call mark_yUz, line 325
1508                                     if (!r_mark_yUz())
1509                                     {
1510                                         break lab25;
1511                                     }
1512                                     break lab23;
1513                                 } while (false);
1514                                 cursor = limit - v_7;
1515                                 lab26: do {
1516                                     // call mark_sUn, line 325
1517                                     if (!r_mark_sUn())
1518                                     {
1519                                         break lab26;
1520                                     }
1521                                     break lab23;
1522                                 } while (false);
1523                                 cursor = limit - v_7;
1524                                 // call mark_yUm, line 325
1525                                 if (!r_mark_yUm())
1526                                 {
1527                                     break lab22;
1528                                 }
1529                             } while (false);
1530                             // ], line 325
1531                             bra = cursor;
1532                             // delete, line 325
1533                             slice_del();
1534                             // try, line 325
1535                             v_8 = limit - cursor;
1536                             lab27: do {
1537                                 // (, line 325
1538                                 // [, line 325
1539                                 ket = cursor;
1540                                 // call mark_ymUs_, line 325
1541                                 if (!r_mark_ymUs_())
1542                                 {
1543                                     cursor = limit - v_8;
1544                                     break lab27;
1545                                 }
1546                             } while (false);
1547                             break lab0;
1548                         } while (false);
1549                         cursor = limit - v_1;
1550                         // (, line 327
1551                         // call mark_DUr, line 327
1552                         if (!r_mark_DUr())
1553                         {
1554                             return false;
1555                         }
1556                         // ], line 327
1557                         bra = cursor;
1558                         // delete, line 327
1559                         slice_del();
1560                         // try, line 327
1561                         v_9 = limit - cursor;
1562                         lab28: do {
1563                             // (, line 327
1564                             // [, line 327
1565                             ket = cursor;
1566                             // (, line 327
1567                             // or, line 327
1568                             lab29: do {
1569                                 v_10 = limit - cursor;
1570                                 lab30: do {
1571                                     // call mark_sUnUz, line 327
1572                                     if (!r_mark_sUnUz())
1573                                     {
1574                                         break lab30;
1575                                     }
1576                                     break lab29;
1577                                 } while (false);
1578                                 cursor = limit - v_10;
1579                                 lab31: do {
1580                                     // call mark_lAr, line 327
1581                                     if (!r_mark_lAr())
1582                                     {
1583                                         break lab31;
1584                                     }
1585                                     break lab29;
1586                                 } while (false);
1587                                 cursor = limit - v_10;
1588                                 lab32: do {
1589                                     // call mark_yUm, line 327
1590                                     if (!r_mark_yUm())
1591                                     {
1592                                         break lab32;
1593                                     }
1594                                     break lab29;
1595                                 } while (false);
1596                                 cursor = limit - v_10;
1597                                 lab33: do {
1598                                     // call mark_sUn, line 327
1599                                     if (!r_mark_sUn())
1600                                     {
1601                                         break lab33;
1602                                     }
1603                                     break lab29;
1604                                 } while (false);
1605                                 cursor = limit - v_10;
1606                                 lab34: do {
1607                                     // call mark_yUz, line 327
1608                                     if (!r_mark_yUz())
1609                                     {
1610                                         break lab34;
1611                                     }
1612                                     break lab29;
1613                                 } while (false);
1614                                 cursor = limit - v_10;
1615                             } while (false);
1616                             // call mark_ymUs_, line 327
1617                             if (!r_mark_ymUs_())
1618                             {
1619                                 cursor = limit - v_9;
1620                                 break lab28;
1621                             }
1622                         } while (false);
1623                     } while (false);
1624                     // ], line 328
1625                     bra = cursor;
1626                     // delete, line 328
1627                     slice_del();
1628                     return true;
1629                 }
1630 
1631                 private boolean r_stem_suffix_chain_before_ki() {
1632             int v_1;
1633             int v_2;
1634             int v_3;
1635             int v_4;
1636             int v_5;
1637             int v_6;
1638             int v_7;
1639             int v_8;
1640             int v_9;
1641             int v_10;
1642             int v_11;
1643                     // (, line 332
1644                     // [, line 333
1645                     ket = cursor;
1646                     // call mark_ki, line 334
1647                     if (!r_mark_ki())
1648                     {
1649                         return false;
1650                     }
1651                     // (, line 335
1652                     // or, line 342
1653                     lab0: do {
1654                         v_1 = limit - cursor;
1655                         lab1: do {
1656                             // (, line 336
1657                             // call mark_DA, line 336
1658                             if (!r_mark_DA())
1659                             {
1660                                 break lab1;
1661                             }
1662                             // ], line 336
1663                             bra = cursor;
1664                             // delete, line 336
1665                             slice_del();
1666                             // try, line 336
1667                             v_2 = limit - cursor;
1668                             lab2: do {
1669                                 // (, line 336
1670                                 // [, line 336
1671                                 ket = cursor;
1672                                 // or, line 338
1673                                 lab3: do {
1674                                     v_3 = limit - cursor;
1675                                     lab4: do {
1676                                         // (, line 337
1677                                         // call mark_lAr, line 337
1678                                         if (!r_mark_lAr())
1679                                         {
1680                                             break lab4;
1681                                         }
1682                                         // ], line 337
1683                                         bra = cursor;
1684                                         // delete, line 337
1685                                         slice_del();
1686                                         // try, line 337
1687                                         v_4 = limit - cursor;
1688                                         lab5: do {
1689                                             // (, line 337
1690                                             // call stem_suffix_chain_before_ki, line 337
1691                                             if (!r_stem_suffix_chain_before_ki())
1692                                             {
1693                                                 cursor = limit - v_4;
1694                                                 break lab5;
1695                                             }
1696                                         } while (false);
1697                                         break lab3;
1698                                     } while (false);
1699                                     cursor = limit - v_3;
1700                                     // (, line 339
1701                                     // call mark_possessives, line 339
1702                                     if (!r_mark_possessives())
1703                                     {
1704                                         cursor = limit - v_2;
1705                                         break lab2;
1706                                     }
1707                                     // ], line 339
1708                                     bra = cursor;
1709                                     // delete, line 339
1710                                     slice_del();
1711                                     // try, line 339
1712                                     v_5 = limit - cursor;
1713                                     lab6: do {
1714                                         // (, line 339
1715                                         // [, line 339
1716                                         ket = cursor;
1717                                         // call mark_lAr, line 339
1718                                         if (!r_mark_lAr())
1719                                         {
1720                                             cursor = limit - v_5;
1721                                             break lab6;
1722                                         }
1723                                         // ], line 339
1724                                         bra = cursor;
1725                                         // delete, line 339
1726                                         slice_del();
1727                                         // call stem_suffix_chain_before_ki, line 339
1728                                         if (!r_stem_suffix_chain_before_ki())
1729                                         {
1730                                             cursor = limit - v_5;
1731                                             break lab6;
1732                                         }
1733                                     } while (false);
1734                                 } while (false);
1735                             } while (false);
1736                             break lab0;
1737                         } while (false);
1738                         cursor = limit - v_1;
1739                         lab7: do {
1740                             // (, line 343
1741                             // call mark_nUn, line 343
1742                             if (!r_mark_nUn())
1743                             {
1744                                 break lab7;
1745                             }
1746                             // ], line 343
1747                             bra = cursor;
1748                             // delete, line 343
1749                             slice_del();
1750                             // try, line 343
1751                             v_6 = limit - cursor;
1752                             lab8: do {
1753                                 // (, line 343
1754                                 // [, line 343
1755                                 ket = cursor;
1756                                 // or, line 345
1757                                 lab9: do {
1758                                     v_7 = limit - cursor;
1759                                     lab10: do {
1760                                         // (, line 344
1761                                         // call mark_lArI, line 344
1762                                         if (!r_mark_lArI())
1763                                         {
1764                                             break lab10;
1765                                         }
1766                                         // ], line 344
1767                                         bra = cursor;
1768                                         // delete, line 344
1769                                         slice_del();
1770                                         break lab9;
1771                                     } while (false);
1772                                     cursor = limit - v_7;
1773                                     lab11: do {
1774                                         // (, line 346
1775                                         // [, line 346
1776                                         ket = cursor;
1777                                         // or, line 346
1778                                         lab12: do {
1779                                             v_8 = limit - cursor;
1780                                             lab13: do {
1781                                                 // call mark_possessives, line 346
1782                                                 if (!r_mark_possessives())
1783                                                 {
1784                                                     break lab13;
1785                                                 }
1786                                                 break lab12;
1787                                             } while (false);
1788                                             cursor = limit - v_8;
1789                                             // call mark_sU, line 346
1790                                             if (!r_mark_sU())
1791                                             {
1792                                                 break lab11;
1793                                             }
1794                                         } while (false);
1795                                         // ], line 346
1796                                         bra = cursor;
1797                                         // delete, line 346
1798                                         slice_del();
1799                                         // try, line 346
1800                                         v_9 = limit - cursor;
1801                                         lab14: do {
1802                                             // (, line 346
1803                                             // [, line 346
1804                                             ket = cursor;
1805                                             // call mark_lAr, line 346
1806                                             if (!r_mark_lAr())
1807                                             {
1808                                                 cursor = limit - v_9;
1809                                                 break lab14;
1810                                             }
1811                                             // ], line 346
1812                                             bra = cursor;
1813                                             // delete, line 346
1814                                             slice_del();
1815                                             // call stem_suffix_chain_before_ki, line 346
1816                                             if (!r_stem_suffix_chain_before_ki())
1817                                             {
1818                                                 cursor = limit - v_9;
1819                                                 break lab14;
1820                                             }
1821                                         } while (false);
1822                                         break lab9;
1823                                     } while (false);
1824                                     cursor = limit - v_7;
1825                                     // (, line 348
1826                                     // call stem_suffix_chain_before_ki, line 348
1827                                     if (!r_stem_suffix_chain_before_ki())
1828                                     {
1829                                         cursor = limit - v_6;
1830                                         break lab8;
1831                                     }
1832                                 } while (false);
1833                             } while (false);
1834                             break lab0;
1835                         } while (false);
1836                         cursor = limit - v_1;
1837                         // (, line 351
1838                         // call mark_ndA, line 351
1839                         if (!r_mark_ndA())
1840                         {
1841                             return false;
1842                         }
1843                         // (, line 351
1844                         // or, line 353
1845                         lab15: do {
1846                             v_10 = limit - cursor;
1847                             lab16: do {
1848                                 // (, line 352
1849                                 // call mark_lArI, line 352
1850                                 if (!r_mark_lArI())
1851                                 {
1852                                     break lab16;
1853                                 }
1854                                 // ], line 352
1855                                 bra = cursor;
1856                                 // delete, line 352
1857                                 slice_del();
1858                                 break lab15;
1859                             } while (false);
1860                             cursor = limit - v_10;
1861                             lab17: do {
1862                                 // (, line 354
1863                                 // (, line 354
1864                                 // call mark_sU, line 354
1865                                 if (!r_mark_sU())
1866                                 {
1867                                     break lab17;
1868                                 }
1869                                 // ], line 354
1870                                 bra = cursor;
1871                                 // delete, line 354
1872                                 slice_del();
1873                                 // try, line 354
1874                                 v_11 = limit - cursor;
1875                                 lab18: do {
1876                                     // (, line 354
1877                                     // [, line 354
1878                                     ket = cursor;
1879                                     // call mark_lAr, line 354
1880                                     if (!r_mark_lAr())
1881                                     {
1882                                         cursor = limit - v_11;
1883                                         break lab18;
1884                                     }
1885                                     // ], line 354
1886                                     bra = cursor;
1887                                     // delete, line 354
1888                                     slice_del();
1889                                     // call stem_suffix_chain_before_ki, line 354
1890                                     if (!r_stem_suffix_chain_before_ki())
1891                                     {
1892                                         cursor = limit - v_11;
1893                                         break lab18;
1894                                     }
1895                                 } while (false);
1896                                 break lab15;
1897                             } while (false);
1898                             cursor = limit - v_10;
1899                             // (, line 356
1900                             // call stem_suffix_chain_before_ki, line 356
1901                             if (!r_stem_suffix_chain_before_ki())
1902                             {
1903                                 return false;
1904                             }
1905                         } while (false);
1906                     } while (false);
1907                     return true;
1908                 }
1909 
1910                 private boolean r_stem_noun_suffixes() {
1911             int v_1;
1912             int v_2;
1913             int v_3;
1914             int v_4;
1915             int v_5;
1916             int v_6;
1917             int v_7;
1918             int v_8;
1919             int v_9;
1920             int v_10;
1921             int v_11;
1922             int v_12;
1923             int v_13;
1924             int v_14;
1925             int v_15;
1926             int v_16;
1927             int v_17;
1928             int v_18;
1929             int v_19;
1930             int v_20;
1931             int v_21;
1932             int v_22;
1933             int v_23;
1934             int v_24;
1935             int v_25;
1936             int v_26;
1937             int v_27;
1938                     // (, line 361
1939                     // or, line 363
1940                     lab0: do {
1941                         v_1 = limit - cursor;
1942                         lab1: do {
1943                             // (, line 362
1944                             // [, line 362
1945                             ket = cursor;
1946                             // call mark_lAr, line 362
1947                             if (!r_mark_lAr())
1948                             {
1949                                 break lab1;
1950                             }
1951                             // ], line 362
1952                             bra = cursor;
1953                             // delete, line 362
1954                             slice_del();
1955                             // try, line 362
1956                             v_2 = limit - cursor;
1957                             lab2: do {
1958                                 // (, line 362
1959                                 // call stem_suffix_chain_before_ki, line 362
1960                                 if (!r_stem_suffix_chain_before_ki())
1961                                 {
1962                                     cursor = limit - v_2;
1963                                     break lab2;
1964                                 }
1965                             } while (false);
1966                             break lab0;
1967                         } while (false);
1968                         cursor = limit - v_1;
1969                         lab3: do {
1970                             // (, line 364
1971                             // [, line 364
1972                             ket = cursor;
1973                             // call mark_ncA, line 364
1974                             if (!r_mark_ncA())
1975                             {
1976                                 break lab3;
1977                             }
1978                             // ], line 364
1979                             bra = cursor;
1980                             // delete, line 364
1981                             slice_del();
1982                             // try, line 365
1983                             v_3 = limit - cursor;
1984                             lab4: do {
1985                                 // (, line 365
1986                                 // or, line 367
1987                                 lab5: do {
1988                                     v_4 = limit - cursor;
1989                                     lab6: do {
1990                                         // (, line 366
1991                                         // [, line 366
1992                                         ket = cursor;
1993                                         // call mark_lArI, line 366
1994                                         if (!r_mark_lArI())
1995                                         {
1996                                             break lab6;
1997                                         }
1998                                         // ], line 366
1999                                         bra = cursor;
2000                                         // delete, line 366
2001                                         slice_del();
2002                                         break lab5;
2003                                     } while (false);
2004                                     cursor = limit - v_4;
2005                                     lab7: do {
2006                                         // (, line 368
2007                                         // [, line 368
2008                                         ket = cursor;
2009                                         // or, line 368
2010                                         lab8: do {
2011                                             v_5 = limit - cursor;
2012                                             lab9: do {
2013                                                 // call mark_possessives, line 368
2014                                                 if (!r_mark_possessives())
2015                                                 {
2016                                                     break lab9;
2017                                                 }
2018                                                 break lab8;
2019                                             } while (false);
2020                                             cursor = limit - v_5;
2021                                             // call mark_sU, line 368
2022                                             if (!r_mark_sU())
2023                                             {
2024                                                 break lab7;
2025                                             }
2026                                         } while (false);
2027                                         // ], line 368
2028                                         bra = cursor;
2029                                         // delete, line 368
2030                                         slice_del();
2031                                         // try, line 368
2032                                         v_6 = limit - cursor;
2033                                         lab10: do {
2034                                             // (, line 368
2035                                             // [, line 368
2036                                             ket = cursor;
2037                                             // call mark_lAr, line 368
2038                                             if (!r_mark_lAr())
2039                                             {
2040                                                 cursor = limit - v_6;
2041                                                 break lab10;
2042                                             }
2043                                             // ], line 368
2044                                             bra = cursor;
2045                                             // delete, line 368
2046                                             slice_del();
2047                                             // call stem_suffix_chain_before_ki, line 368
2048                                             if (!r_stem_suffix_chain_before_ki())
2049                                             {
2050                                                 cursor = limit - v_6;
2051                                                 break lab10;
2052                                             }
2053                                         } while (false);
2054                                         break lab5;
2055                                     } while (false);
2056                                     cursor = limit - v_4;
2057                                     // (, line 370
2058                                     // [, line 370
2059                                     ket = cursor;
2060                                     // call mark_lAr, line 370
2061                                     if (!r_mark_lAr())
2062                                     {
2063                                         cursor = limit - v_3;
2064                                         break lab4;
2065                                     }
2066                                     // ], line 370
2067                                     bra = cursor;
2068                                     // delete, line 370
2069                                     slice_del();
2070                                     // call stem_suffix_chain_before_ki, line 370
2071                                     if (!r_stem_suffix_chain_before_ki())
2072                                     {
2073                                         cursor = limit - v_3;
2074                                         break lab4;
2075                                     }
2076                                 } while (false);
2077                             } while (false);
2078                             break lab0;
2079                         } while (false);
2080                         cursor = limit - v_1;
2081                         lab11: do {
2082                             // (, line 374
2083                             // [, line 374
2084                             ket = cursor;
2085                             // (, line 374
2086                             // or, line 374
2087                             lab12: do {
2088                                 v_7 = limit - cursor;
2089                                 lab13: do {
2090                                     // call mark_ndA, line 374
2091                                     if (!r_mark_ndA())
2092                                     {
2093                                         break lab13;
2094                                     }
2095                                     break lab12;
2096                                 } while (false);
2097                                 cursor = limit - v_7;
2098                                 // call mark_nA, line 374
2099                                 if (!r_mark_nA())
2100                                 {
2101                                     break lab11;
2102                                 }
2103                             } while (false);
2104                             // (, line 375
2105                             // or, line 377
2106                             lab14: do {
2107                                 v_8 = limit - cursor;
2108                                 lab15: do {
2109                                     // (, line 376
2110                                     // call mark_lArI, line 376
2111                                     if (!r_mark_lArI())
2112                                     {
2113                                         break lab15;
2114                                     }
2115                                     // ], line 376
2116                                     bra = cursor;
2117                                     // delete, line 376
2118                                     slice_del();
2119                                     break lab14;
2120                                 } while (false);
2121                                 cursor = limit - v_8;
2122                                 lab16: do {
2123                                     // (, line 378
2124                                     // call mark_sU, line 378
2125                                     if (!r_mark_sU())
2126                                     {
2127                                         break lab16;
2128                                     }
2129                                     // ], line 378
2130                                     bra = cursor;
2131                                     // delete, line 378
2132                                     slice_del();
2133                                     // try, line 378
2134                                     v_9 = limit - cursor;
2135                                     lab17: do {
2136                                         // (, line 378
2137                                         // [, line 378
2138                                         ket = cursor;
2139                                         // call mark_lAr, line 378
2140                                         if (!r_mark_lAr())
2141                                         {
2142                                             cursor = limit - v_9;
2143                                             break lab17;
2144                                         }
2145                                         // ], line 378
2146                                         bra = cursor;
2147                                         // delete, line 378
2148                                         slice_del();
2149                                         // call stem_suffix_chain_before_ki, line 378
2150                                         if (!r_stem_suffix_chain_before_ki())
2151                                         {
2152                                             cursor = limit - v_9;
2153                                             break lab17;
2154                                         }
2155                                     } while (false);
2156                                     break lab14;
2157                                 } while (false);
2158                                 cursor = limit - v_8;
2159                                 // (, line 380
2160                                 // call stem_suffix_chain_before_ki, line 380
2161                                 if (!r_stem_suffix_chain_before_ki())
2162                                 {
2163                                     break lab11;
2164                                 }
2165                             } while (false);
2166                             break lab0;
2167                         } while (false);
2168                         cursor = limit - v_1;
2169                         lab18: do {
2170                             // (, line 384
2171                             // [, line 384
2172                             ket = cursor;
2173                             // (, line 384
2174                             // or, line 384
2175                             lab19: do {
2176                                 v_10 = limit - cursor;
2177                                 lab20: do {
2178                                     // call mark_ndAn, line 384
2179                                     if (!r_mark_ndAn())
2180                                     {
2181                                         break lab20;
2182                                     }
2183                                     break lab19;
2184                                 } while (false);
2185                                 cursor = limit - v_10;
2186                                 // call mark_nU, line 384
2187                                 if (!r_mark_nU())
2188                                 {
2189                                     break lab18;
2190                                 }
2191                             } while (false);
2192                             // (, line 384
2193                             // or, line 384
2194                             lab21: do {
2195                                 v_11 = limit - cursor;
2196                                 lab22: do {
2197                                     // (, line 384
2198                                     // call mark_sU, line 384
2199                                     if (!r_mark_sU())
2200                                     {
2201                                         break lab22;
2202                                     }
2203                                     // ], line 384
2204                                     bra = cursor;
2205                                     // delete, line 384
2206                                     slice_del();
2207                                     // try, line 384
2208                                     v_12 = limit - cursor;
2209                                     lab23: do {
2210                                         // (, line 384
2211                                         // [, line 384
2212                                         ket = cursor;
2213                                         // call mark_lAr, line 384
2214                                         if (!r_mark_lAr())
2215                                         {
2216                                             cursor = limit - v_12;
2217                                             break lab23;
2218                                         }
2219                                         // ], line 384
2220                                         bra = cursor;
2221                                         // delete, line 384
2222                                         slice_del();
2223                                         // call stem_suffix_chain_before_ki, line 384
2224                                         if (!r_stem_suffix_chain_before_ki())
2225                                         {
2226                                             cursor = limit - v_12;
2227                                             break lab23;
2228                                         }
2229                                     } while (false);
2230                                     break lab21;
2231                                 } while (false);
2232                                 cursor = limit - v_11;
2233                                 // (, line 384
2234                                 // call mark_lArI, line 384
2235                                 if (!r_mark_lArI())
2236                                 {
2237                                     break lab18;
2238                                 }
2239                             } while (false);
2240                             break lab0;
2241                         } while (false);
2242                         cursor = limit - v_1;
2243                         lab24: do {
2244                             // (, line 386
2245                             // [, line 386
2246                             ket = cursor;
2247                             // call mark_DAn, line 386
2248                             if (!r_mark_DAn())
2249                             {
2250                                 break lab24;
2251                             }
2252                             // ], line 386
2253                             bra = cursor;
2254                             // delete, line 386
2255                             slice_del();
2256                             // try, line 386
2257                             v_13 = limit - cursor;
2258                             lab25: do {
2259                                 // (, line 386
2260                                 // [, line 386
2261                                 ket = cursor;
2262                                 // (, line 387
2263                                 // or, line 389
2264                                 lab26: do {
2265                                     v_14 = limit - cursor;
2266                                     lab27: do {
2267                                         // (, line 388
2268                                         // call mark_possessives, line 388
2269                                         if (!r_mark_possessives())
2270                                         {
2271                                             break lab27;
2272                                         }
2273                                         // ], line 388
2274                                         bra = cursor;
2275                                         // delete, line 388
2276                                         slice_del();
2277                                         // try, line 388
2278                                         v_15 = limit - cursor;
2279                                         lab28: do {
2280                                             // (, line 388
2281                                             // [, line 388
2282                                             ket = cursor;
2283                                             // call mark_lAr, line 388
2284                                             if (!r_mark_lAr())
2285                                             {
2286                                                 cursor = limit - v_15;
2287                                                 break lab28;
2288                                             }
2289                                             // ], line 388
2290                                             bra = cursor;
2291                                             // delete, line 388
2292                                             slice_del();
2293                                             // call stem_suffix_chain_before_ki, line 388
2294                                             if (!r_stem_suffix_chain_before_ki())
2295                                             {
2296                                                 cursor = limit - v_15;
2297                                                 break lab28;
2298                                             }
2299                                         } while (false);
2300                                         break lab26;
2301                                     } while (false);
2302                                     cursor = limit - v_14;
2303                                     lab29: do {
2304                                         // (, line 390
2305                                         // call mark_lAr, line 390
2306                                         if (!r_mark_lAr())
2307                                         {
2308                                             break lab29;
2309                                         }
2310                                         // ], line 390
2311                                         bra = cursor;
2312                                         // delete, line 390
2313                                         slice_del();
2314                                         // try, line 390
2315                                         v_16 = limit - cursor;
2316                                         lab30: do {
2317                                             // (, line 390
2318                                             // call stem_suffix_chain_before_ki, line 390
2319                                             if (!r_stem_suffix_chain_before_ki())
2320                                             {
2321                                                 cursor = limit - v_16;
2322                                                 break lab30;
2323                                             }
2324                                         } while (false);
2325                                         break lab26;
2326                                     } while (false);
2327                                     cursor = limit - v_14;
2328                                     // (, line 392
2329                                     // call stem_suffix_chain_before_ki, line 392
2330                                     if (!r_stem_suffix_chain_before_ki())
2331                                     {
2332                                         cursor = limit - v_13;
2333                                         break lab25;
2334                                     }
2335                                 } while (false);
2336                             } while (false);
2337                             break lab0;
2338                         } while (false);
2339                         cursor = limit - v_1;
2340                         lab31: do {
2341                             // (, line 396
2342                             // [, line 396
2343                             ket = cursor;
2344                             // or, line 396
2345                             lab32: do {
2346                                 v_17 = limit - cursor;
2347                                 lab33: do {
2348                                     // call mark_nUn, line 396
2349                                     if (!r_mark_nUn())
2350                                     {
2351                                         break lab33;
2352                                     }
2353                                     break lab32;
2354                                 } while (false);
2355                                 cursor = limit - v_17;
2356                                 // call mark_ylA, line 396
2357                                 if (!r_mark_ylA())
2358                                 {
2359                                     break lab31;
2360                                 }
2361                             } while (false);
2362                             // ], line 396
2363                             bra = cursor;
2364                             // delete, line 396
2365                             slice_del();
2366                             // try, line 397
2367                             v_18 = limit - cursor;
2368                             lab34: do {
2369                                 // (, line 397
2370                                 // or, line 399
2371                                 lab35: do {
2372                                     v_19 = limit - cursor;
2373                                     lab36: do {
2374                                         // (, line 398
2375                                         // [, line 398
2376                                         ket = cursor;
2377                                         // call mark_lAr, line 398
2378                                         if (!r_mark_lAr())
2379                                         {
2380                                             break lab36;
2381                                         }
2382                                         // ], line 398
2383                                         bra = cursor;
2384                                         // delete, line 398
2385                                         slice_del();
2386                                         // call stem_suffix_chain_before_ki, line 398
2387                                         if (!r_stem_suffix_chain_before_ki())
2388                                         {
2389                                             break lab36;
2390                                         }
2391                                         break lab35;
2392                                     } while (false);
2393                                     cursor = limit - v_19;
2394                                     lab37: do {
2395                                         // (, line 400
2396                                         // [, line 400
2397                                         ket = cursor;
2398                                         // or, line 400
2399                                         lab38: do {
2400                                             v_20 = limit - cursor;
2401                                             lab39: do {
2402                                                 // call mark_possessives, line 400
2403                                                 if (!r_mark_possessives())
2404                                                 {
2405                                                     break lab39;
2406                                                 }
2407                                                 break lab38;
2408                                             } while (false);
2409                                             cursor = limit - v_20;
2410                                             // call mark_sU, line 400
2411                                             if (!r_mark_sU())
2412                                             {
2413                                                 break lab37;
2414                                             }
2415                                         } while (false);
2416                                         // ], line 400
2417                                         bra = cursor;
2418                                         // delete, line 400
2419                                         slice_del();
2420                                         // try, line 400
2421                                         v_21 = limit - cursor;
2422                                         lab40: do {
2423                                             // (, line 400
2424                                             // [, line 400
2425                                             ket = cursor;
2426                                             // call mark_lAr, line 400
2427                                             if (!r_mark_lAr())
2428                                             {
2429                                                 cursor = limit - v_21;
2430                                                 break lab40;
2431                                             }
2432                                             // ], line 400
2433                                             bra = cursor;
2434                                             // delete, line 400
2435                                             slice_del();
2436                                             // call stem_suffix_chain_before_ki, line 400
2437                                             if (!r_stem_suffix_chain_before_ki())
2438                                             {
2439                                                 cursor = limit - v_21;
2440                                                 break lab40;
2441                                             }
2442                                         } while (false);
2443                                         break lab35;
2444                                     } while (false);
2445                                     cursor = limit - v_19;
2446                                     // call stem_suffix_chain_before_ki, line 402
2447                                     if (!r_stem_suffix_chain_before_ki())
2448                                     {
2449                                         cursor = limit - v_18;
2450                                         break lab34;
2451                                     }
2452                                 } while (false);
2453                             } while (false);
2454                             break lab0;
2455                         } while (false);
2456                         cursor = limit - v_1;
2457                         lab41: do {
2458                             // (, line 406
2459                             // [, line 406
2460                             ket = cursor;
2461                             // call mark_lArI, line 406
2462                             if (!r_mark_lArI())
2463                             {
2464                                 break lab41;
2465                             }
2466                             // ], line 406
2467                             bra = cursor;
2468                             // delete, line 406
2469                             slice_del();
2470                             break lab0;
2471                         } while (false);
2472                         cursor = limit - v_1;
2473                         lab42: do {
2474                             // (, line 408
2475                             // call stem_suffix_chain_before_ki, line 408
2476                             if (!r_stem_suffix_chain_before_ki())
2477                             {
2478                                 break lab42;
2479                             }
2480                             break lab0;
2481                         } while (false);
2482                         cursor = limit - v_1;
2483                         lab43: do {
2484                             // (, line 410
2485                             // [, line 410
2486                             ket = cursor;
2487                             // or, line 410
2488                             lab44: do {
2489                                 v_22 = limit - cursor;
2490                                 lab45: do {
2491                                     // call mark_DA, line 410
2492                                     if (!r_mark_DA())
2493                                     {
2494                                         break lab45;
2495                                     }
2496                                     break lab44;
2497                                 } while (false);
2498                                 cursor = limit - v_22;
2499                                 lab46: do {
2500                                     // call mark_yU, line 410
2501                                     if (!r_mark_yU())
2502                                     {
2503                                         break lab46;
2504                                     }
2505                                     break lab44;
2506                                 } while (false);
2507                                 cursor = limit - v_22;
2508                                 // call mark_yA, line 410
2509                                 if (!r_mark_yA())
2510                                 {
2511                                     break lab43;
2512                                 }
2513                             } while (false);
2514                             // ], line 410
2515                             bra = cursor;
2516                             // delete, line 410
2517                             slice_del();
2518                             // try, line 410
2519                             v_23 = limit - cursor;
2520                             lab47: do {
2521                                 // (, line 410
2522                                 // [, line 410
2523                                 ket = cursor;
2524                                 // (, line 410
2525                                 // or, line 410
2526                                 lab48: do {
2527                                     v_24 = limit - cursor;
2528                                     lab49: do {
2529                                         // (, line 410
2530                                         // call mark_possessives, line 410
2531                                         if (!r_mark_possessives())
2532                                         {
2533                                             break lab49;
2534                                         }
2535                                         // ], line 410
2536                                         bra = cursor;
2537                                         // delete, line 410
2538                                         slice_del();
2539                                         // try, line 410
2540                                         v_25 = limit - cursor;
2541                                         lab50: do {
2542                                             // (, line 410
2543                                             // [, line 410
2544                                             ket = cursor;
2545                                             // call mark_lAr, line 410
2546                                             if (!r_mark_lAr())
2547                                             {
2548                                                 cursor = limit - v_25;
2549                                                 break lab50;
2550                                             }
2551                                         } while (false);
2552                                         break lab48;
2553                                     } while (false);
2554                                     cursor = limit - v_24;
2555                                     // call mark_lAr, line 410
2556                                     if (!r_mark_lAr())
2557                                     {
2558                                         cursor = limit - v_23;
2559                                         break lab47;
2560                                     }
2561                                 } while (false);
2562                                 // ], line 410
2563                                 bra = cursor;
2564                                 // delete, line 410
2565                                 slice_del();
2566                                 // [, line 410
2567                                 ket = cursor;
2568                                 // call stem_suffix_chain_before_ki, line 410
2569                                 if (!r_stem_suffix_chain_before_ki())
2570                                 {
2571                                     cursor = limit - v_23;
2572                                     break lab47;
2573                                 }
2574                             } while (false);
2575                             break lab0;
2576                         } while (false);
2577                         cursor = limit - v_1;
2578                         // (, line 412
2579                         // [, line 412
2580                         ket = cursor;
2581                         // or, line 412
2582                         lab51: do {
2583                             v_26 = limit - cursor;
2584                             lab52: do {
2585                                 // call mark_possessives, line 412
2586                                 if (!r_mark_possessives())
2587                                 {
2588                                     break lab52;
2589                                 }
2590                                 break lab51;
2591                             } while (false);
2592                             cursor = limit - v_26;
2593                             // call mark_sU, line 412
2594                             if (!r_mark_sU())
2595                             {
2596                                 return false;
2597                             }
2598                         } while (false);
2599                         // ], line 412
2600                         bra = cursor;
2601                         // delete, line 412
2602                         slice_del();
2603                         // try, line 412
2604                         v_27 = limit - cursor;
2605                         lab53: do {
2606                             // (, line 412
2607                             // [, line 412
2608                             ket = cursor;
2609                             // call mark_lAr, line 412
2610                             if (!r_mark_lAr())
2611                             {
2612                                 cursor = limit - v_27;
2613                                 break lab53;
2614                             }
2615                             // ], line 412
2616                             bra = cursor;
2617                             // delete, line 412
2618                             slice_del();
2619                             // call stem_suffix_chain_before_ki, line 412
2620                             if (!r_stem_suffix_chain_before_ki())
2621                             {
2622                                 cursor = limit - v_27;
2623                                 break lab53;
2624                             }
2625                         } while (false);
2626                     } while (false);
2627                     return true;
2628                 }
2629 
2630                 private boolean r_post_process_last_consonants() {
2631             int among_var;
2632                     // (, line 415
2633                     // [, line 416
2634                     ket = cursor;
2635                     // substring, line 416
2636                     among_var = find_among_b(a_23, 4);
2637                     if (among_var == 0)
2638                     {
2639                         return false;
2640                     }
2641                     // ], line 416
2642                     bra = cursor;
2643                     switch(among_var) {
2644                         case 0:
2645                             return false;
2646                         case 1:
2647                             // (, line 417
2648                             // <-, line 417
2649                             slice_from("p");
2650                             break;
2651                         case 2:
2652                             // (, line 418
2653                             // <-, line 418
2654                             slice_from("\u00E7");
2655                             break;
2656                         case 3:
2657                             // (, line 419
2658                             // <-, line 419
2659                             slice_from("t");
2660                             break;
2661                         case 4:
2662                             // (, line 420
2663                             // <-, line 420
2664                             slice_from("k");
2665                             break;
2666                     }
2667                     return true;
2668                 }
2669 
2670                 private boolean r_append_U_to_stems_ending_with_d_or_g() {
2671             int v_1;
2672             int v_2;
2673             int v_3;
2674             int v_4;
2675             int v_5;
2676             int v_6;
2677             int v_7;
2678             int v_8;
2679             int v_9;
2680             int v_10;
2681             int v_11;
2682             int v_12;
2683             int v_13;
2684             int v_14;
2685             int v_15;
2686                     // (, line 430
2687                     // test, line 431
2688                     v_1 = limit - cursor;
2689                     // (, line 431
2690                     // or, line 431
2691                     lab0: do {
2692                         v_2 = limit - cursor;
2693                         lab1: do {
2694                             // literal, line 431
2695                             if (!(eq_s_b(1, "d")))
2696                             {
2697                                 break lab1;
2698                             }
2699                             break lab0;
2700                         } while (false);
2701                         cursor = limit - v_2;
2702                         // literal, line 431
2703                         if (!(eq_s_b(1, "g")))
2704                         {
2705                             return false;
2706                         }
2707                     } while (false);
2708                     cursor = limit - v_1;
2709                     // or, line 433
2710                     lab2: do {
2711                         v_3 = limit - cursor;
2712                         lab3: do {
2713                             // (, line 432
2714                             // test, line 432
2715                             v_4 = limit - cursor;
2716                             // (, line 432
2717                             // (, line 432
2718                             // goto, line 432
2719                             golab4: while(true)
2720                             {
2721                                 v_5 = limit - cursor;
2722                                 lab5: do {
2723                                     if (!(in_grouping_b(g_vowel, 97, 305)))
2724                                     {
2725                                         break lab5;
2726                                     }
2727                                     cursor = limit - v_5;
2728                                     break golab4;
2729                                 } while (false);
2730                                 cursor = limit - v_5;
2731                                 if (cursor <= limit_backward)
2732                                 {
2733                                     break lab3;
2734                                 }
2735                                 cursor--;
2736                             }
2737                             // or, line 432
2738                             lab6: do {
2739                                 v_6 = limit - cursor;
2740                                 lab7: do {
2741                                     // literal, line 432
2742                                     if (!(eq_s_b(1, "a")))
2743                                     {
2744                                         break lab7;
2745                                     }
2746                                     break lab6;
2747                                 } while (false);
2748                                 cursor = limit - v_6;
2749                                 // literal, line 432
2750                                 if (!(eq_s_b(1, "\u0131")))
2751                                 {
2752                                     break lab3;
2753                                 }
2754                             } while (false);
2755                             cursor = limit - v_4;
2756                             // <+, line 432
2757                             {
2758                                 int c = cursor;
2759                                 insert(cursor, cursor, "\u0131");
2760                                 cursor = c;
2761                             }
2762                             break lab2;
2763                         } while (false);
2764                         cursor = limit - v_3;
2765                         lab8: do {
2766                             // (, line 434
2767                             // test, line 434
2768                             v_7 = limit - cursor;
2769                             // (, line 434
2770                             // (, line 434
2771                             // goto, line 434
2772                             golab9: while(true)
2773                             {
2774                                 v_8 = limit - cursor;
2775                                 lab10: do {
2776                                     if (!(in_grouping_b(g_vowel, 97, 305)))
2777                                     {
2778                                         break lab10;
2779                                     }
2780                                     cursor = limit - v_8;
2781                                     break golab9;
2782                                 } while (false);
2783                                 cursor = limit - v_8;
2784                                 if (cursor <= limit_backward)
2785                                 {
2786                                     break lab8;
2787                                 }
2788                                 cursor--;
2789                             }
2790                             // or, line 434
2791                             lab11: do {
2792                                 v_9 = limit - cursor;
2793                                 lab12: do {
2794                                     // literal, line 434
2795                                     if (!(eq_s_b(1, "e")))
2796                                     {
2797                                         break lab12;
2798                                     }
2799                                     break lab11;
2800                                 } while (false);
2801                                 cursor = limit - v_9;
2802                                 // literal, line 434
2803                                 if (!(eq_s_b(1, "i")))
2804                                 {
2805                                     break lab8;
2806                                 }
2807                             } while (false);
2808                             cursor = limit - v_7;
2809                             // <+, line 434
2810                             {
2811                                 int c = cursor;
2812                                 insert(cursor, cursor, "i");
2813                                 cursor = c;
2814                             }
2815                             break lab2;
2816                         } while (false);
2817                         cursor = limit - v_3;
2818                         lab13: do {
2819                             // (, line 436
2820                             // test, line 436
2821                             v_10 = limit - cursor;
2822                             // (, line 436
2823                             // (, line 436
2824                             // goto, line 436
2825                             golab14: while(true)
2826                             {
2827                                 v_11 = limit - cursor;
2828                                 lab15: do {
2829                                     if (!(in_grouping_b(g_vowel, 97, 305)))
2830                                     {
2831                                         break lab15;
2832                                     }
2833                                     cursor = limit - v_11;
2834                                     break golab14;
2835                                 } while (false);
2836                                 cursor = limit - v_11;
2837                                 if (cursor <= limit_backward)
2838                                 {
2839                                     break lab13;
2840                                 }
2841                                 cursor--;
2842                             }
2843                             // or, line 436
2844                             lab16: do {
2845                                 v_12 = limit - cursor;
2846                                 lab17: do {
2847                                     // literal, line 436
2848                                     if (!(eq_s_b(1, "o")))
2849                                     {
2850                                         break lab17;
2851                                     }
2852                                     break lab16;
2853                                 } while (false);
2854                                 cursor = limit - v_12;
2855                                 // literal, line 436
2856                                 if (!(eq_s_b(1, "u")))
2857                                 {
2858                                     break lab13;
2859                                 }
2860                             } while (false);
2861                             cursor = limit - v_10;
2862                             // <+, line 436
2863                             {
2864                                 int c = cursor;
2865                                 insert(cursor, cursor, "u");
2866                                 cursor = c;
2867                             }
2868                             break lab2;
2869                         } while (false);
2870                         cursor = limit - v_3;
2871                         // (, line 438
2872                         // test, line 438
2873                         v_13 = limit - cursor;
2874                         // (, line 438
2875                         // (, line 438
2876                         // goto, line 438
2877                         golab18: while(true)
2878                         {
2879                             v_14 = limit - cursor;
2880                             lab19: do {
2881                                 if (!(in_grouping_b(g_vowel, 97, 305)))
2882                                 {
2883                                     break lab19;
2884                                 }
2885                                 cursor = limit - v_14;
2886                                 break golab18;
2887                             } while (false);
2888                             cursor = limit - v_14;
2889                             if (cursor <= limit_backward)
2890                             {
2891                                 return false;
2892                             }
2893                             cursor--;
2894                         }
2895                         // or, line 438
2896                         lab20: do {
2897                             v_15 = limit - cursor;
2898                             lab21: do {
2899                                 // literal, line 438
2900                                 if (!(eq_s_b(1, "\u00F6")))
2901                                 {
2902                                     break lab21;
2903                                 }
2904                                 break lab20;
2905                             } while (false);
2906                             cursor = limit - v_15;
2907                             // literal, line 438
2908                             if (!(eq_s_b(1, "\u00FC")))
2909                             {
2910                                 return false;
2911                             }
2912                         } while (false);
2913                         cursor = limit - v_13;
2914                         // <+, line 438
2915                         {
2916                             int c = cursor;
2917                             insert(cursor, cursor, "\u00FC");
2918                             cursor = c;
2919                         }
2920                     } while (false);
2921                     return true;
2922                 }
2923 
2924                 private boolean r_more_than_one_syllable_word() {
2925             int v_1;
2926             int v_3;
2927                     // (, line 445
2928                     // test, line 446
2929                     v_1 = cursor;
2930                     // (, line 446
2931                     // atleast, line 446
2932                     {
2933                         int v_2 = 2;
2934                         // atleast, line 446
2935                         replab0: while(true)
2936                         {
2937                             v_3 = cursor;
2938                             lab1: do {
2939                                 // (, line 446
2940                                 // gopast, line 446
2941                                 golab2: while(true)
2942                                 {
2943                                     lab3: do {
2944                                         if (!(in_grouping(g_vowel, 97, 305)))
2945                                         {
2946                                             break lab3;
2947                                         }
2948                                         break golab2;
2949                                     } while (false);
2950                                     if (cursor >= limit)
2951                                     {
2952                                         break lab1;
2953                                     }
2954                                     cursor++;
2955                                 }
2956                                 v_2--;
2957                                 continue replab0;
2958                             } while (false);
2959                             cursor = v_3;
2960                             break replab0;
2961                         }
2962                         if (v_2 > 0)
2963                         {
2964                             return false;
2965                         }
2966                     }
2967                     cursor = v_1;
2968                     return true;
2969                 }
2970 
2971                 private boolean r_is_reserved_word() {
2972             int v_1;
2973             int v_2;
2974             int v_4;
2975                     // (, line 449
2976                     // or, line 451
2977                     lab0: do {
2978                         v_1 = cursor;
2979                         lab1: do {
2980                             // test, line 450
2981                             v_2 = cursor;
2982                             // (, line 450
2983                             // gopast, line 450
2984                             golab2: while(true)
2985                             {
2986                                 lab3: do {
2987                                     // literal, line 450
2988                                     if (!(eq_s(2, "ad")))
2989                                     {
2990                                         break lab3;
2991                                     }
2992                                     break golab2;
2993                                 } while (false);
2994                                 if (cursor >= limit)
2995                                 {
2996                                     break lab1;
2997                                 }
2998                                 cursor++;
2999                             }
3000                             // (, line 450
3001                             I_strlen = 2;
3002                             // (, line 450
3003                             if (!(I_strlen == limit))
3004                             {
3005                                 break lab1;
3006                             }
3007                             cursor = v_2;
3008                             break lab0;
3009                         } while (false);
3010                         cursor = v_1;
3011                         // test, line 452
3012                         v_4 = cursor;
3013                         // (, line 452
3014                         // gopast, line 452
3015                         golab4: while(true)
3016                         {
3017                             lab5: do {
3018                                 // literal, line 452
3019                                 if (!(eq_s(5, "soyad")))
3020                                 {
3021                                     break lab5;
3022                                 }
3023                                 break golab4;
3024                             } while (false);
3025                             if (cursor >= limit)
3026                             {
3027                                 return false;
3028                             }
3029                             cursor++;
3030                         }
3031                         // (, line 452
3032                         I_strlen = 5;
3033                         // (, line 452
3034                         if (!(I_strlen == limit))
3035                         {
3036                             return false;
3037                         }
3038                         cursor = v_4;
3039                     } while (false);
3040                     return true;
3041                 }
3042 
3043                 private boolean r_postlude() {
3044             int v_1;
3045             int v_2;
3046             int v_3;
3047                     // (, line 455
3048                     // not, line 456
3049                     {
3050                         v_1 = cursor;
3051                         lab0: do {
3052                             // (, line 456
3053                             // call is_reserved_word, line 456
3054                             if (!r_is_reserved_word())
3055                             {
3056                                 break lab0;
3057                             }
3058                             return false;
3059                         } while (false);
3060                         cursor = v_1;
3061                     }
3062                     // backwards, line 457
3063                     limit_backward = cursor; cursor = limit;
3064                     // (, line 457
3065                     // do, line 458
3066                     v_2 = limit - cursor;
3067                     lab1: do {
3068                         // call append_U_to_stems_ending_with_d_or_g, line 458
3069                         if (!r_append_U_to_stems_ending_with_d_or_g())
3070                         {
3071                             break lab1;
3072                         }
3073                     } while (false);
3074                     cursor = limit - v_2;
3075                     // do, line 459
3076                     v_3 = limit - cursor;
3077                     lab2: do {
3078                         // call post_process_last_consonants, line 459
3079                         if (!r_post_process_last_consonants())
3080                         {
3081                             break lab2;
3082                         }
3083                     } while (false);
3084                     cursor = limit - v_3;
3085                     cursor = limit_backward;                    return true;
3086                 }
3087 
3088                 public boolean stem() {
3089             int v_1;
3090             int v_2;
3091                     // (, line 464
3092                     // (, line 465
3093                     // call more_than_one_syllable_word, line 465
3094                     if (!r_more_than_one_syllable_word())
3095                     {
3096                         return false;
3097                     }
3098                     // (, line 466
3099                     // backwards, line 467
3100                     limit_backward = cursor; cursor = limit;
3101                     // (, line 467
3102                     // do, line 468
3103                     v_1 = limit - cursor;
3104                     lab0: do {
3105                         // call stem_nominal_verb_suffixes, line 468
3106                         if (!r_stem_nominal_verb_suffixes())
3107                         {
3108                             break lab0;
3109                         }
3110                     } while (false);
3111                     cursor = limit - v_1;
3112                     // Boolean test continue_stemming_noun_suffixes, line 469
3113                     if (!(B_continue_stemming_noun_suffixes))
3114                     {
3115                         return false;
3116                     }
3117                     // do, line 470
3118                     v_2 = limit - cursor;
3119                     lab1: do {
3120                         // call stem_noun_suffixes, line 470
3121                         if (!r_stem_noun_suffixes())
3122                         {
3123                             break lab1;
3124                         }
3125                     } while (false);
3126                     cursor = limit - v_2;
3127                     cursor = limit_backward;                    // call postlude, line 473
3128                     if (!r_postlude())
3129                     {
3130                         return false;
3131                     }
3132                     return true;
3133                 }
3134 
3135         public boolean equals( Object o ) {
3136             return o instanceof turkishStemmer;
3137         }
3138 
3139         public int hashCode() {
3140             return turkishStemmer.class.getName().hashCode();
3141         }
3142 
3143 
3144 
3145 }
3146