Bringing tree up to date.
[galago.git] / java / galago / src / org / tartarus / snowball / ext / portugueseStemmer.java
blobd3cc0664d68dfbb9b99a54401aa8352c512ce1fc
1 // This file was generated automatically by the Snowball to Java compiler
3 package org.tartarus.snowball.ext;
4 import org.tartarus.snowball.SnowballProgram;
5 import org.tartarus.snowball.Among;
7 /**
8 * Generated class implementing code defined by a snowball script.
9 */
10 public class portugueseStemmer extends SnowballProgram {
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)
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)
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)
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)
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)
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)
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)
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)
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)
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 };
233 private int I_p2;
234 private int I_p1;
235 private int I_pV;
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);
244 private boolean r_prelude() {
245 int among_var;
246 int v_1;
247 // repeat, line 36
248 replab0: while(true)
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)
259 break lab1;
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)
281 break lab1;
283 cursor++;
284 break;
286 continue replab0;
287 } while (false);
288 cursor = v_1;
289 break replab0;
291 return true;
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)))
315 break lab2;
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)))
324 break lab4;
326 // gopast, line 51
327 golab5: while(true)
329 lab6: do {
330 if (!(in_grouping(g_v, 97, 250)))
332 break lab6;
334 break golab5;
335 } while (false);
336 if (cursor >= limit)
338 break lab4;
340 cursor++;
342 break lab3;
343 } while (false);
344 cursor = v_3;
345 // (, line 51
346 if (!(in_grouping(g_v, 97, 250)))
348 break lab2;
350 // gopast, line 51
351 golab7: while(true)
353 lab8: do {
354 if (!(out_grouping(g_v, 97, 250)))
356 break lab8;
358 break golab7;
359 } while (false);
360 if (cursor >= limit)
362 break lab2;
364 cursor++;
366 } while (false);
367 break lab1;
368 } while (false);
369 cursor = v_2;
370 // (, line 53
371 if (!(out_grouping(g_v, 97, 250)))
373 break lab0;
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)))
382 break lab10;
384 // gopast, line 53
385 golab11: while(true)
387 lab12: do {
388 if (!(in_grouping(g_v, 97, 250)))
390 break lab12;
392 break golab11;
393 } while (false);
394 if (cursor >= limit)
396 break lab10;
398 cursor++;
400 break lab9;
401 } while (false);
402 cursor = v_6;
403 // (, line 53
404 if (!(in_grouping(g_v, 97, 250)))
406 break lab0;
408 // next, line 53
409 if (cursor >= limit)
411 break lab0;
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)
427 lab15: do {
428 if (!(in_grouping(g_v, 97, 250)))
430 break lab15;
432 break golab14;
433 } while (false);
434 if (cursor >= limit)
436 break lab13;
438 cursor++;
440 // gopast, line 57
441 golab16: while(true)
443 lab17: do {
444 if (!(out_grouping(g_v, 97, 250)))
446 break lab17;
448 break golab16;
449 } while (false);
450 if (cursor >= limit)
452 break lab13;
454 cursor++;
456 // setmark p1, line 57
457 I_p1 = cursor;
458 // gopast, line 58
459 golab18: while(true)
461 lab19: do {
462 if (!(in_grouping(g_v, 97, 250)))
464 break lab19;
466 break golab18;
467 } while (false);
468 if (cursor >= limit)
470 break lab13;
472 cursor++;
474 // gopast, line 58
475 golab20: while(true)
477 lab21: do {
478 if (!(out_grouping(g_v, 97, 250)))
480 break lab21;
482 break golab20;
483 } while (false);
484 if (cursor >= limit)
486 break lab13;
488 cursor++;
490 // setmark p2, line 58
491 I_p2 = cursor;
492 } while (false);
493 cursor = v_8;
494 return true;
497 private boolean r_postlude() {
498 int among_var;
499 int v_1;
500 // repeat, line 62
501 replab0: while(true)
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)
512 break lab1;
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)
534 break lab1;
536 cursor++;
537 break;
539 continue replab0;
540 } while (false);
541 cursor = v_1;
542 break replab0;
544 return true;
547 private boolean r_RV() {
548 if (!(I_pV <= cursor))
550 return false;
552 return true;
555 private boolean r_R1() {
556 if (!(I_p1 <= cursor))
558 return false;
560 return true;
563 private boolean r_R2() {
564 if (!(I_p2 <= cursor))
566 return false;
568 return true;
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)
584 return false;
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())
596 return false;
598 // delete, line 93
599 slice_del();
600 break;
601 case 2:
602 // (, line 97
603 // call R2, line 98
604 if (!r_R2())
606 return false;
608 // <-, line 98
609 slice_from("log");
610 break;
611 case 3:
612 // (, line 101
613 // call R2, line 102
614 if (!r_R2())
616 return false;
618 // <-, line 102
619 slice_from("u");
620 break;
621 case 4:
622 // (, line 105
623 // call R2, line 106
624 if (!r_R2())
626 return false;
628 // <-, line 106
629 slice_from("ente");
630 break;
631 case 5:
632 // (, line 109
633 // call R1, line 110
634 if (!r_R1())
636 return false;
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)
650 cursor = limit - v_1;
651 break lab0;
653 // ], line 112
654 bra = cursor;
655 // call R2, line 112
656 if (!r_R2())
658 cursor = limit - v_1;
659 break lab0;
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")))
674 cursor = limit - v_1;
675 break lab0;
677 // ], line 113
678 bra = cursor;
679 // call R2, line 113
680 if (!r_R2())
682 cursor = limit - v_1;
683 break lab0;
685 // delete, line 113
686 slice_del();
687 break;
689 } while (false);
690 break;
691 case 6:
692 // (, line 121
693 // call R2, line 122
694 if (!r_R2())
696 return false;
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)
710 cursor = limit - v_2;
711 break lab1;
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())
724 cursor = limit - v_2;
725 break lab1;
727 // delete, line 127
728 slice_del();
729 break;
731 } while (false);
732 break;
733 case 7:
734 // (, line 133
735 // call R2, line 134
736 if (!r_R2())
738 return false;
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)
752 cursor = limit - v_3;
753 break lab2;
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())
766 cursor = limit - v_3;
767 break lab2;
769 // delete, line 139
770 slice_del();
771 break;
773 } while (false);
774 break;
775 case 8:
776 // (, line 145
777 // call R2, line 146
778 if (!r_R2())
780 return false;
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")))
793 cursor = limit - v_4;
794 break lab3;
796 // ], line 148
797 bra = cursor;
798 // call R2, line 148
799 if (!r_R2())
801 cursor = limit - v_4;
802 break lab3;
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())
813 return false;
815 // literal, line 153
816 if (!(eq_s_b(1, "e")))
818 return false;
820 // <-, line 154
821 slice_from("ir");
822 break;
824 return true;
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)
836 return false;
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)
849 limit_backward = v_2;
850 return false;
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;
864 limit_backward = v_2;
865 return true;
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)
877 return false;
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())
889 return false;
891 // delete, line 187
892 slice_del();
893 break;
895 return true;
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)
910 return false;
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())
922 return false;
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")))
936 break lab1;
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")))
945 break lab1;
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")))
955 return false;
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")))
964 return false;
966 cursor = limit - v_3;
967 } while (false);
968 // call RV, line 195
969 if (!r_RV())
971 return false;
973 // delete, line 195
974 slice_del();
975 break;
976 case 2:
977 // (, line 196
978 // <-, line 196
979 slice_from("c");
980 break;
982 return true;
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())
1003 break lab0;
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())
1013 break lab1;
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())
1039 break lab6;
1041 break lab5;
1042 } while (false);
1043 cursor = limit - v_6;
1044 // call verb_suffix, line 206
1045 if (!r_verb_suffix())
1047 break lab4;
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")))
1060 break lab7;
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")))
1069 break lab7;
1071 cursor = limit - v_8;
1072 // call RV, line 207
1073 if (!r_RV())
1075 break lab7;
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())
1087 break lab2;
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())
1098 break lab8;
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())
1108 break lab9;
1110 } while (false);
1111 cursor = v_10;
1112 return true;