pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / contrib / analyzers / common / src / java / org / tartarus / snowball / ext / PortugueseStemmer.java
1 // This file was generated automatically by the Snowball to Java compiler
2
3 package org.tartarus.snowball.ext;
4 import org.tartarus.snowball.SnowballProgram;
5 import org.tartarus.snowball.Among;
6
7 /**
8  * Generated class implementing code defined by a snowball script.
9  */
10 public class PortugueseStemmer extends SnowballProgram {
11
12         private Among a_0[] = {
13             new Among ( "", -1, 3, "", this),
14             new Among ( "\u00E3", 0, 1, "", this),
15             new Among ( "\u00F5", 0, 2, "", this)
16         };
17
18         private Among a_1[] = {
19             new Among ( "", -1, 3, "", this),
20             new Among ( "a~", 0, 1, "", this),
21             new Among ( "o~", 0, 2, "", this)
22         };
23
24         private Among a_2[] = {
25             new Among ( "ic", -1, -1, "", this),
26             new Among ( "ad", -1, -1, "", this),
27             new Among ( "os", -1, -1, "", this),
28             new Among ( "iv", -1, 1, "", this)
29         };
30
31         private Among a_3[] = {
32             new Among ( "ante", -1, 1, "", this),
33             new Among ( "avel", -1, 1, "", this),
34             new Among ( "\u00EDvel", -1, 1, "", this)
35         };
36
37         private Among a_4[] = {
38             new Among ( "ic", -1, 1, "", this),
39             new Among ( "abil", -1, 1, "", this),
40             new Among ( "iv", -1, 1, "", this)
41         };
42
43         private Among a_5[] = {
44             new Among ( "ica", -1, 1, "", this),
45             new Among ( "\u00E2ncia", -1, 1, "", this),
46             new Among ( "\u00EAncia", -1, 4, "", this),
47             new Among ( "ira", -1, 9, "", this),
48             new Among ( "adora", -1, 1, "", this),
49             new Among ( "osa", -1, 1, "", this),
50             new Among ( "ista", -1, 1, "", this),
51             new Among ( "iva", -1, 8, "", this),
52             new Among ( "eza", -1, 1, "", this),
53             new Among ( "log\u00EDa", -1, 2, "", this),
54             new Among ( "idade", -1, 7, "", this),
55             new Among ( "ante", -1, 1, "", this),
56             new Among ( "mente", -1, 6, "", this),
57             new Among ( "amente", 12, 5, "", this),
58             new Among ( "\u00E1vel", -1, 1, "", this),
59             new Among ( "\u00EDvel", -1, 1, "", this),
60             new Among ( "uci\u00F3n", -1, 3, "", this),
61             new Among ( "ico", -1, 1, "", this),
62             new Among ( "ismo", -1, 1, "", this),
63             new Among ( "oso", -1, 1, "", this),
64             new Among ( "amento", -1, 1, "", this),
65             new Among ( "imento", -1, 1, "", this),
66             new Among ( "ivo", -1, 8, "", this),
67             new Among ( "a\u00E7a~o", -1, 1, "", this),
68             new Among ( "ador", -1, 1, "", this),
69             new Among ( "icas", -1, 1, "", this),
70             new Among ( "\u00EAncias", -1, 4, "", this),
71             new Among ( "iras", -1, 9, "", this),
72             new Among ( "adoras", -1, 1, "", this),
73             new Among ( "osas", -1, 1, "", this),
74             new Among ( "istas", -1, 1, "", this),
75             new Among ( "ivas", -1, 8, "", this),
76             new Among ( "ezas", -1, 1, "", this),
77             new Among ( "log\u00EDas", -1, 2, "", this),
78             new Among ( "idades", -1, 7, "", this),
79             new Among ( "uciones", -1, 3, "", this),
80             new Among ( "adores", -1, 1, "", this),
81             new Among ( "antes", -1, 1, "", this),
82             new Among ( "a\u00E7o~es", -1, 1, "", this),
83             new Among ( "icos", -1, 1, "", this),
84             new Among ( "ismos", -1, 1, "", this),
85             new Among ( "osos", -1, 1, "", this),
86             new Among ( "amentos", -1, 1, "", this),
87             new Among ( "imentos", -1, 1, "", this),
88             new Among ( "ivos", -1, 8, "", this)
89         };
90
91         private Among a_6[] = {
92             new Among ( "ada", -1, 1, "", this),
93             new Among ( "ida", -1, 1, "", this),
94             new Among ( "ia", -1, 1, "", this),
95             new Among ( "aria", 2, 1, "", this),
96             new Among ( "eria", 2, 1, "", this),
97             new Among ( "iria", 2, 1, "", this),
98             new Among ( "ara", -1, 1, "", this),
99             new Among ( "era", -1, 1, "", this),
100             new Among ( "ira", -1, 1, "", this),
101             new Among ( "ava", -1, 1, "", this),
102             new Among ( "asse", -1, 1, "", this),
103             new Among ( "esse", -1, 1, "", this),
104             new Among ( "isse", -1, 1, "", this),
105             new Among ( "aste", -1, 1, "", this),
106             new Among ( "este", -1, 1, "", this),
107             new Among ( "iste", -1, 1, "", this),
108             new Among ( "ei", -1, 1, "", this),
109             new Among ( "arei", 16, 1, "", this),
110             new Among ( "erei", 16, 1, "", this),
111             new Among ( "irei", 16, 1, "", this),
112             new Among ( "am", -1, 1, "", this),
113             new Among ( "iam", 20, 1, "", this),
114             new Among ( "ariam", 21, 1, "", this),
115             new Among ( "eriam", 21, 1, "", this),
116             new Among ( "iriam", 21, 1, "", this),
117             new Among ( "aram", 20, 1, "", this),
118             new Among ( "eram", 20, 1, "", this),
119             new Among ( "iram", 20, 1, "", this),
120             new Among ( "avam", 20, 1, "", this),
121             new Among ( "em", -1, 1, "", this),
122             new Among ( "arem", 29, 1, "", this),
123             new Among ( "erem", 29, 1, "", this),
124             new Among ( "irem", 29, 1, "", this),
125             new Among ( "assem", 29, 1, "", this),
126             new Among ( "essem", 29, 1, "", this),
127             new Among ( "issem", 29, 1, "", this),
128             new Among ( "ado", -1, 1, "", this),
129             new Among ( "ido", -1, 1, "", this),
130             new Among ( "ando", -1, 1, "", this),
131             new Among ( "endo", -1, 1, "", this),
132             new Among ( "indo", -1, 1, "", this),
133             new Among ( "ara~o", -1, 1, "", this),
134             new Among ( "era~o", -1, 1, "", this),
135             new Among ( "ira~o", -1, 1, "", this),
136             new Among ( "ar", -1, 1, "", this),
137             new Among ( "er", -1, 1, "", this),
138             new Among ( "ir", -1, 1, "", this),
139             new Among ( "as", -1, 1, "", this),
140             new Among ( "adas", 47, 1, "", this),
141             new Among ( "idas", 47, 1, "", this),
142             new Among ( "ias", 47, 1, "", this),
143             new Among ( "arias", 50, 1, "", this),
144             new Among ( "erias", 50, 1, "", this),
145             new Among ( "irias", 50, 1, "", this),
146             new Among ( "aras", 47, 1, "", this),
147             new Among ( "eras", 47, 1, "", this),
148             new Among ( "iras", 47, 1, "", this),
149             new Among ( "avas", 47, 1, "", this),
150             new Among ( "es", -1, 1, "", this),
151             new Among ( "ardes", 58, 1, "", this),
152             new Among ( "erdes", 58, 1, "", this),
153             new Among ( "irdes", 58, 1, "", this),
154             new Among ( "ares", 58, 1, "", this),
155             new Among ( "eres", 58, 1, "", this),
156             new Among ( "ires", 58, 1, "", this),
157             new Among ( "asses", 58, 1, "", this),
158             new Among ( "esses", 58, 1, "", this),
159             new Among ( "isses", 58, 1, "", this),
160             new Among ( "astes", 58, 1, "", this),
161             new Among ( "estes", 58, 1, "", this),
162             new Among ( "istes", 58, 1, "", this),
163             new Among ( "is", -1, 1, "", this),
164             new Among ( "ais", 71, 1, "", this),
165             new Among ( "eis", 71, 1, "", this),
166             new Among ( "areis", 73, 1, "", this),
167             new Among ( "ereis", 73, 1, "", this),
168             new Among ( "ireis", 73, 1, "", this),
169             new Among ( "\u00E1reis", 73, 1, "", this),
170             new Among ( "\u00E9reis", 73, 1, "", this),
171             new Among ( "\u00EDreis", 73, 1, "", this),
172             new Among ( "\u00E1sseis", 73, 1, "", this),
173             new Among ( "\u00E9sseis", 73, 1, "", this),
174             new Among ( "\u00EDsseis", 73, 1, "", this),
175             new Among ( "\u00E1veis", 73, 1, "", this),
176             new Among ( "\u00EDeis", 73, 1, "", this),
177             new Among ( "ar\u00EDeis", 84, 1, "", this),
178             new Among ( "er\u00EDeis", 84, 1, "", this),
179             new Among ( "ir\u00EDeis", 84, 1, "", this),
180             new Among ( "ados", -1, 1, "", this),
181             new Among ( "idos", -1, 1, "", this),
182             new Among ( "amos", -1, 1, "", this),
183             new Among ( "\u00E1ramos", 90, 1, "", this),
184             new Among ( "\u00E9ramos", 90, 1, "", this),
185             new Among ( "\u00EDramos", 90, 1, "", this),
186             new Among ( "\u00E1vamos", 90, 1, "", this),
187             new Among ( "\u00EDamos", 90, 1, "", this),
188             new Among ( "ar\u00EDamos", 95, 1, "", this),
189             new Among ( "er\u00EDamos", 95, 1, "", this),
190             new Among ( "ir\u00EDamos", 95, 1, "", this),
191             new Among ( "emos", -1, 1, "", this),
192             new Among ( "aremos", 99, 1, "", this),
193             new Among ( "eremos", 99, 1, "", this),
194             new Among ( "iremos", 99, 1, "", this),
195             new Among ( "\u00E1ssemos", 99, 1, "", this),
196             new Among ( "\u00EAssemos", 99, 1, "", this),
197             new Among ( "\u00EDssemos", 99, 1, "", this),
198             new Among ( "imos", -1, 1, "", this),
199             new Among ( "armos", -1, 1, "", this),
200             new Among ( "ermos", -1, 1, "", this),
201             new Among ( "irmos", -1, 1, "", this),
202             new Among ( "\u00E1mos", -1, 1, "", this),
203             new Among ( "ar\u00E1s", -1, 1, "", this),
204             new Among ( "er\u00E1s", -1, 1, "", this),
205             new Among ( "ir\u00E1s", -1, 1, "", this),
206             new Among ( "eu", -1, 1, "", this),
207             new Among ( "iu", -1, 1, "", this),
208             new Among ( "ou", -1, 1, "", this),
209             new Among ( "ar\u00E1", -1, 1, "", this),
210             new Among ( "er\u00E1", -1, 1, "", this),
211             new Among ( "ir\u00E1", -1, 1, "", this)
212         };
213
214         private Among a_7[] = {
215             new Among ( "a", -1, 1, "", this),
216             new Among ( "i", -1, 1, "", this),
217             new Among ( "o", -1, 1, "", this),
218             new Among ( "os", -1, 1, "", this),
219             new Among ( "\u00E1", -1, 1, "", this),
220             new Among ( "\u00ED", -1, 1, "", this),
221             new Among ( "\u00F3", -1, 1, "", this)
222         };
223
224         private Among a_8[] = {
225             new Among ( "e", -1, 1, "", this),
226             new Among ( "\u00E7", -1, 2, "", this),
227             new Among ( "\u00E9", -1, 1, "", this),
228             new Among ( "\u00EA", -1, 1, "", this)
229         };
230
231         private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2 };
232
233         private int I_p2;
234         private int I_p1;
235         private int I_pV;
236
237         private void copy_from(PortugueseStemmer other) {
238             I_p2 = other.I_p2;
239             I_p1 = other.I_p1;
240             I_pV = other.I_pV;
241             super.copy_from(other);
242         }
243
244         private boolean r_prelude() {
245             int among_var;
246             int v_1;
247             // repeat, line 36
248             replab0: while(true)
249             {
250                 v_1 = cursor;
251                 lab1: do {
252                     // (, line 36
253                     // [, line 37
254                     bra = cursor;
255                     // substring, line 37
256                     among_var = find_among(a_0, 3);
257                     if (among_var == 0)
258                     {
259                         break lab1;
260                     }
261                     // ], line 37
262                     ket = cursor;
263                     switch(among_var) {
264                         case 0:
265                             break lab1;
266                         case 1:
267                             // (, line 38
268                             // <-, line 38
269                             slice_from("a~");
270                             break;
271                         case 2:
272                             // (, line 39
273                             // <-, line 39
274                             slice_from("o~");
275                             break;
276                         case 3:
277                             // (, line 40
278                             // next, line 40
279                             if (cursor >= limit)
280                             {
281                                 break lab1;
282                             }
283                             cursor++;
284                             break;
285                     }
286                     continue replab0;
287                 } while (false);
288                 cursor = v_1;
289                 break replab0;
290             }
291             return true;
292         }
293
294         private boolean r_mark_regions() {
295             int v_1;
296             int v_2;
297             int v_3;
298             int v_6;
299             int v_8;
300             // (, line 44
301             I_pV = limit;
302             I_p1 = limit;
303             I_p2 = limit;
304             // do, line 50
305             v_1 = cursor;
306             lab0: do {
307                 // (, line 50
308                 // or, line 52
309                 lab1: do {
310                     v_2 = cursor;
311                     lab2: do {
312                         // (, line 51
313                         if (!(in_grouping(g_v, 97, 250)))
314                         {
315                             break lab2;
316                         }
317                         // or, line 51
318                         lab3: do {
319                             v_3 = cursor;
320                             lab4: do {
321                                 // (, line 51
322                                 if (!(out_grouping(g_v, 97, 250)))
323                                 {
324                                     break lab4;
325                                 }
326                                 // gopast, line 51
327                                 golab5: while(true)
328                                 {
329                                     lab6: do {
330                                         if (!(in_grouping(g_v, 97, 250)))
331                                         {
332                                             break lab6;
333                                         }
334                                         break golab5;
335                                     } while (false);
336                                     if (cursor >= limit)
337                                     {
338                                         break lab4;
339                                     }
340                                     cursor++;
341                                 }
342                                 break lab3;
343                             } while (false);
344                             cursor = v_3;
345                             // (, line 51
346                             if (!(in_grouping(g_v, 97, 250)))
347                             {
348                                 break lab2;
349                             }
350                             // gopast, line 51
351                             golab7: while(true)
352                             {
353                                 lab8: do {
354                                     if (!(out_grouping(g_v, 97, 250)))
355                                     {
356                                         break lab8;
357                                     }
358                                     break golab7;
359                                 } while (false);
360                                 if (cursor >= limit)
361                                 {
362                                     break lab2;
363                                 }
364                                 cursor++;
365                             }
366                         } while (false);
367                         break lab1;
368                     } while (false);
369                     cursor = v_2;
370                     // (, line 53
371                     if (!(out_grouping(g_v, 97, 250)))
372                     {
373                         break lab0;
374                     }
375                     // or, line 53
376                     lab9: do {
377                         v_6 = cursor;
378                         lab10: do {
379                             // (, line 53
380                             if (!(out_grouping(g_v, 97, 250)))
381                             {
382                                 break lab10;
383                             }
384                             // gopast, line 53
385                             golab11: while(true)
386                             {
387                                 lab12: do {
388                                     if (!(in_grouping(g_v, 97, 250)))
389                                     {
390                                         break lab12;
391                                     }
392                                     break golab11;
393                                 } while (false);
394                                 if (cursor >= limit)
395                                 {
396                                     break lab10;
397                                 }
398                                 cursor++;
399                             }
400                             break lab9;
401                         } while (false);
402                         cursor = v_6;
403                         // (, line 53
404                         if (!(in_grouping(g_v, 97, 250)))
405                         {
406                             break lab0;
407                         }
408                         // next, line 53
409                         if (cursor >= limit)
410                         {
411                             break lab0;
412                         }
413                         cursor++;
414                     } while (false);
415                 } while (false);
416                 // setmark pV, line 54
417                 I_pV = cursor;
418             } while (false);
419             cursor = v_1;
420             // do, line 56
421             v_8 = cursor;
422             lab13: do {
423                 // (, line 56
424                 // gopast, line 57
425                 golab14: while(true)
426                 {
427                     lab15: do {
428                         if (!(in_grouping(g_v, 97, 250)))
429                         {
430                             break lab15;
431                         }
432                         break golab14;
433                     } while (false);
434                     if (cursor >= limit)
435                     {
436                         break lab13;
437                     }
438                     cursor++;
439                 }
440                 // gopast, line 57
441                 golab16: while(true)
442                 {
443                     lab17: do {
444                         if (!(out_grouping(g_v, 97, 250)))
445                         {
446                             break lab17;
447                         }
448                         break golab16;
449                     } while (false);
450                     if (cursor >= limit)
451                     {
452                         break lab13;
453                     }
454                     cursor++;
455                 }
456                 // setmark p1, line 57
457                 I_p1 = cursor;
458                 // gopast, line 58
459                 golab18: while(true)
460                 {
461                     lab19: do {
462                         if (!(in_grouping(g_v, 97, 250)))
463                         {
464                             break lab19;
465                         }
466                         break golab18;
467                     } while (false);
468                     if (cursor >= limit)
469                     {
470                         break lab13;
471                     }
472                     cursor++;
473                 }
474                 // gopast, line 58
475                 golab20: while(true)
476                 {
477                     lab21: do {
478                         if (!(out_grouping(g_v, 97, 250)))
479                         {
480                             break lab21;
481                         }
482                         break golab20;
483                     } while (false);
484                     if (cursor >= limit)
485                     {
486                         break lab13;
487                     }
488                     cursor++;
489                 }
490                 // setmark p2, line 58
491                 I_p2 = cursor;
492             } while (false);
493             cursor = v_8;
494             return true;
495         }
496
497         private boolean r_postlude() {
498             int among_var;
499             int v_1;
500             // repeat, line 62
501             replab0: while(true)
502             {
503                 v_1 = cursor;
504                 lab1: do {
505                     // (, line 62
506                     // [, line 63
507                     bra = cursor;
508                     // substring, line 63
509                     among_var = find_among(a_1, 3);
510                     if (among_var == 0)
511                     {
512                         break lab1;
513                     }
514                     // ], line 63
515                     ket = cursor;
516                     switch(among_var) {
517                         case 0:
518                             break lab1;
519                         case 1:
520                             // (, line 64
521                             // <-, line 64
522                             slice_from("\u00E3");
523                             break;
524                         case 2:
525                             // (, line 65
526                             // <-, line 65
527                             slice_from("\u00F5");
528                             break;
529                         case 3:
530                             // (, line 66
531                             // next, line 66
532                             if (cursor >= limit)
533                             {
534                                 break lab1;
535                             }
536                             cursor++;
537                             break;
538                     }
539                     continue replab0;
540                 } while (false);
541                 cursor = v_1;
542                 break replab0;
543             }
544             return true;
545         }
546
547         private boolean r_RV() {
548             if (!(I_pV <= cursor))
549             {
550                 return false;
551             }
552             return true;
553         }
554
555         private boolean r_R1() {
556             if (!(I_p1 <= cursor))
557             {
558                 return false;
559             }
560             return true;
561         }
562
563         private boolean r_R2() {
564             if (!(I_p2 <= cursor))
565             {
566                 return false;
567             }
568             return true;
569         }
570
571         private boolean r_standard_suffix() {
572             int among_var;
573             int v_1;
574             int v_2;
575             int v_3;
576             int v_4;
577             // (, line 76
578             // [, line 77
579             ket = cursor;
580             // substring, line 77
581             among_var = find_among_b(a_5, 45);
582             if (among_var == 0)
583             {
584                 return false;
585             }
586             // ], line 77
587             bra = cursor;
588             switch(among_var) {
589                 case 0:
590                     return false;
591                 case 1:
592                     // (, line 92
593                     // call R2, line 93
594                     if (!r_R2())
595                     {
596                         return false;
597                     }
598                     // delete, line 93
599                     slice_del();
600                     break;
601                 case 2:
602                     // (, line 97
603                     // call R2, line 98
604                     if (!r_R2())
605                     {
606                         return false;
607                     }
608                     // <-, line 98
609                     slice_from("log");
610                     break;
611                 case 3:
612                     // (, line 101
613                     // call R2, line 102
614                     if (!r_R2())
615                     {
616                         return false;
617                     }
618                     // <-, line 102
619                     slice_from("u");
620                     break;
621                 case 4:
622                     // (, line 105
623                     // call R2, line 106
624                     if (!r_R2())
625                     {
626                         return false;
627                     }
628                     // <-, line 106
629                     slice_from("ente");
630                     break;
631                 case 5:
632                     // (, line 109
633                     // call R1, line 110
634                     if (!r_R1())
635                     {
636                         return false;
637                     }
638                     // delete, line 110
639                     slice_del();
640                     // try, line 111
641                     v_1 = limit - cursor;
642                     lab0: do {
643                         // (, line 111
644                         // [, line 112
645                         ket = cursor;
646                         // substring, line 112
647                         among_var = find_among_b(a_2, 4);
648                         if (among_var == 0)
649                         {
650                             cursor = limit - v_1;
651                             break lab0;
652                         }
653                         // ], line 112
654                         bra = cursor;
655                         // call R2, line 112
656                         if (!r_R2())
657                         {
658                             cursor = limit - v_1;
659                             break lab0;
660                         }
661                         // delete, line 112
662                         slice_del();
663                         switch(among_var) {
664                             case 0:
665                                 cursor = limit - v_1;
666                                 break lab0;
667                             case 1:
668                                 // (, line 113
669                                 // [, line 113
670                                 ket = cursor;
671                                 // literal, line 113
672                                 if (!(eq_s_b(2, "at")))
673                                 {
674                                     cursor = limit - v_1;
675                                     break lab0;
676                                 }
677                                 // ], line 113
678                                 bra = cursor;
679                                 // call R2, line 113
680                                 if (!r_R2())
681                                 {
682                                     cursor = limit - v_1;
683                                     break lab0;
684                                 }
685                                 // delete, line 113
686                                 slice_del();
687                                 break;
688                         }
689                     } while (false);
690                     break;
691                 case 6:
692                     // (, line 121
693                     // call R2, line 122
694                     if (!r_R2())
695                     {
696                         return false;
697                     }
698                     // delete, line 122
699                     slice_del();
700                     // try, line 123
701                     v_2 = limit - cursor;
702                     lab1: do {
703                         // (, line 123
704                         // [, line 124
705                         ket = cursor;
706                         // substring, line 124
707                         among_var = find_among_b(a_3, 3);
708                         if (among_var == 0)
709                         {
710                             cursor = limit - v_2;
711                             break lab1;
712                         }
713                         // ], line 124
714                         bra = cursor;
715                         switch(among_var) {
716                             case 0:
717                                 cursor = limit - v_2;
718                                 break lab1;
719                             case 1:
720                                 // (, line 127
721                                 // call R2, line 127
722                                 if (!r_R2())
723                                 {
724                                     cursor = limit - v_2;
725                                     break lab1;
726                                 }
727                                 // delete, line 127
728                                 slice_del();
729                                 break;
730                         }
731                     } while (false);
732                     break;
733                 case 7:
734                     // (, line 133
735                     // call R2, line 134
736                     if (!r_R2())
737                     {
738                         return false;
739                     }
740                     // delete, line 134
741                     slice_del();
742                     // try, line 135
743                     v_3 = limit - cursor;
744                     lab2: do {
745                         // (, line 135
746                         // [, line 136
747                         ket = cursor;
748                         // substring, line 136
749                         among_var = find_among_b(a_4, 3);
750                         if (among_var == 0)
751                         {
752                             cursor = limit - v_3;
753                             break lab2;
754                         }
755                         // ], line 136
756                         bra = cursor;
757                         switch(among_var) {
758                             case 0:
759                                 cursor = limit - v_3;
760                                 break lab2;
761                             case 1:
762                                 // (, line 139
763                                 // call R2, line 139
764                                 if (!r_R2())
765                                 {
766                                     cursor = limit - v_3;
767                                     break lab2;
768                                 }
769                                 // delete, line 139
770                                 slice_del();
771                                 break;
772                         }
773                     } while (false);
774                     break;
775                 case 8:
776                     // (, line 145
777                     // call R2, line 146
778                     if (!r_R2())
779                     {
780                         return false;
781                     }
782                     // delete, line 146
783                     slice_del();
784                     // try, line 147
785                     v_4 = limit - cursor;
786                     lab3: do {
787                         // (, line 147
788                         // [, line 148
789                         ket = cursor;
790                         // literal, line 148
791                         if (!(eq_s_b(2, "at")))
792                         {
793                             cursor = limit - v_4;
794                             break lab3;
795                         }
796                         // ], line 148
797                         bra = cursor;
798                         // call R2, line 148
799                         if (!r_R2())
800                         {
801                             cursor = limit - v_4;
802                             break lab3;
803                         }
804                         // delete, line 148
805                         slice_del();
806                     } while (false);
807                     break;
808                 case 9:
809                     // (, line 152
810                     // call RV, line 153
811                     if (!r_RV())
812                     {
813                         return false;
814                     }
815                     // literal, line 153
816                     if (!(eq_s_b(1, "e")))
817                     {
818                         return false;
819                     }
820                     // <-, line 154
821                     slice_from("ir");
822                     break;
823             }
824             return true;
825         }
826
827         private boolean r_verb_suffix() {
828             int among_var;
829             int v_1;
830             int v_2;
831             // setlimit, line 159
832             v_1 = limit - cursor;
833             // tomark, line 159
834             if (cursor < I_pV)
835             {
836                 return false;
837             }
838             cursor = I_pV;
839             v_2 = limit_backward;
840             limit_backward = cursor;
841             cursor = limit - v_1;
842             // (, line 159
843             // [, line 160
844             ket = cursor;
845             // substring, line 160
846             among_var = find_among_b(a_6, 120);
847             if (among_var == 0)
848             {
849                 limit_backward = v_2;
850                 return false;
851             }
852             // ], line 160
853             bra = cursor;
854             switch(among_var) {
855                 case 0:
856                     limit_backward = v_2;
857                     return false;
858                 case 1:
859                     // (, line 179
860                     // delete, line 179
861                     slice_del();
862                     break;
863             }
864             limit_backward = v_2;
865             return true;
866         }
867
868         private boolean r_residual_suffix() {
869             int among_var;
870             // (, line 183
871             // [, line 184
872             ket = cursor;
873             // substring, line 184
874             among_var = find_among_b(a_7, 7);
875             if (among_var == 0)
876             {
877                 return false;
878             }
879             // ], line 184
880             bra = cursor;
881             switch(among_var) {
882                 case 0:
883                     return false;
884                 case 1:
885                     // (, line 187
886                     // call RV, line 187
887                     if (!r_RV())
888                     {
889                         return false;
890                     }
891                     // delete, line 187
892                     slice_del();
893                     break;
894             }
895             return true;
896         }
897
898         private boolean r_residual_form() {
899             int among_var;
900             int v_1;
901             int v_2;
902             int v_3;
903             // (, line 191
904             // [, line 192
905             ket = cursor;
906             // substring, line 192
907             among_var = find_among_b(a_8, 4);
908             if (among_var == 0)
909             {
910                 return false;
911             }
912             // ], line 192
913             bra = cursor;
914             switch(among_var) {
915                 case 0:
916                     return false;
917                 case 1:
918                     // (, line 194
919                     // call RV, line 194
920                     if (!r_RV())
921                     {
922                         return false;
923                     }
924                     // delete, line 194
925                     slice_del();
926                     // [, line 194
927                     ket = cursor;
928                     // or, line 194
929                     lab0: do {
930                         v_1 = limit - cursor;
931                         lab1: do {
932                             // (, line 194
933                             // literal, line 194
934                             if (!(eq_s_b(1, "u")))
935                             {
936                                 break lab1;
937                             }
938                             // ], line 194
939                             bra = cursor;
940                             // test, line 194
941                             v_2 = limit - cursor;
942                             // literal, line 194
943                             if (!(eq_s_b(1, "g")))
944                             {
945                                 break lab1;
946                             }
947                             cursor = limit - v_2;
948                             break lab0;
949                         } while (false);
950                         cursor = limit - v_1;
951                         // (, line 195
952                         // literal, line 195
953                         if (!(eq_s_b(1, "i")))
954                         {
955                             return false;
956                         }
957                         // ], line 195
958                         bra = cursor;
959                         // test, line 195
960                         v_3 = limit - cursor;
961                         // literal, line 195
962                         if (!(eq_s_b(1, "c")))
963                         {
964                             return false;
965                         }
966                         cursor = limit - v_3;
967                     } while (false);
968                     // call RV, line 195
969                     if (!r_RV())
970                     {
971                         return false;
972                     }
973                     // delete, line 195
974                     slice_del();
975                     break;
976                 case 2:
977                     // (, line 196
978                     // <-, line 196
979                     slice_from("c");
980                     break;
981             }
982             return true;
983         }
984
985         public boolean stem() {
986             int v_1;
987             int v_2;
988             int v_3;
989             int v_4;
990             int v_5;
991             int v_6;
992             int v_7;
993             int v_8;
994             int v_9;
995             int v_10;
996             // (, line 201
997             // do, line 202
998             v_1 = cursor;
999             lab0: do {
1000                 // call prelude, line 202
1001                 if (!r_prelude())
1002                 {
1003                     break lab0;
1004                 }
1005             } while (false);
1006             cursor = v_1;
1007             // do, line 203
1008             v_2 = cursor;
1009             lab1: do {
1010                 // call mark_regions, line 203
1011                 if (!r_mark_regions())
1012                 {
1013                     break lab1;
1014                 }
1015             } while (false);
1016             cursor = v_2;
1017             // backwards, line 204
1018             limit_backward = cursor; cursor = limit;
1019             // (, line 204
1020             // do, line 205
1021             v_3 = limit - cursor;
1022             lab2: do {
1023                 // (, line 205
1024                 // or, line 209
1025                 lab3: do {
1026                     v_4 = limit - cursor;
1027                     lab4: do {
1028                         // (, line 206
1029                         // and, line 207
1030                         v_5 = limit - cursor;
1031                         // (, line 206
1032                         // or, line 206
1033                         lab5: do {
1034                             v_6 = limit - cursor;
1035                             lab6: do {
1036                                 // call standard_suffix, line 206
1037                                 if (!r_standard_suffix())
1038                                 {
1039                                     break lab6;
1040                                 }
1041                                 break lab5;
1042                             } while (false);
1043                             cursor = limit - v_6;
1044                             // call verb_suffix, line 206
1045                             if (!r_verb_suffix())
1046                             {
1047                                 break lab4;
1048                             }
1049                         } while (false);
1050                         cursor = limit - v_5;
1051                         // do, line 207
1052                         v_7 = limit - cursor;
1053                         lab7: do {
1054                             // (, line 207
1055                             // [, line 207
1056                             ket = cursor;
1057                             // literal, line 207
1058                             if (!(eq_s_b(1, "i")))
1059                             {
1060                                 break lab7;
1061                             }
1062                             // ], line 207
1063                             bra = cursor;
1064                             // test, line 207
1065                             v_8 = limit - cursor;
1066                             // literal, line 207
1067                             if (!(eq_s_b(1, "c")))
1068                             {
1069                                 break lab7;
1070                             }
1071                             cursor = limit - v_8;
1072                             // call RV, line 207
1073                             if (!r_RV())
1074                             {
1075                                 break lab7;
1076                             }
1077                             // delete, line 207
1078                             slice_del();
1079                         } while (false);
1080                         cursor = limit - v_7;
1081                         break lab3;
1082                     } while (false);
1083                     cursor = limit - v_4;
1084                     // call residual_suffix, line 209
1085                     if (!r_residual_suffix())
1086                     {
1087                         break lab2;
1088                     }
1089                 } while (false);
1090             } while (false);
1091             cursor = limit - v_3;
1092             // do, line 211
1093             v_9 = limit - cursor;
1094             lab8: do {
1095                 // call residual_form, line 211
1096                 if (!r_residual_form())
1097                 {
1098                     break lab8;
1099                 }
1100             } while (false);
1101             cursor = limit - v_9;
1102             cursor = limit_backward;            // do, line 213
1103             v_10 = cursor;
1104             lab9: do {
1105                 // call postlude, line 213
1106                 if (!r_postlude())
1107                 {
1108                     break lab9;
1109                 }
1110             } while (false);
1111             cursor = v_10;
1112             return true;
1113         }
1114
1115 }
1116