Initial import into git.
[galago.git] / java / galago / src / org / tartarus / snowball / ext / italianStemmer.java
blobbb5f0bc069a3c4593ca87007c5ee2e73a0cf309e
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 italianStemmer extends SnowballProgram {
12 private Among a_0[] = {
13 new Among ( "", -1, 7, "", this),
14 new Among ( "qu", 0, 6, "", this),
15 new Among ( "\u00E1", 0, 1, "", this),
16 new Among ( "\u00E9", 0, 2, "", this),
17 new Among ( "\u00ED", 0, 3, "", this),
18 new Among ( "\u00F3", 0, 4, "", this),
19 new Among ( "\u00FA", 0, 5, "", this)
22 private Among a_1[] = {
23 new Among ( "", -1, 3, "", this),
24 new Among ( "I", 0, 1, "", this),
25 new Among ( "U", 0, 2, "", this)
28 private Among a_2[] = {
29 new Among ( "la", -1, -1, "", this),
30 new Among ( "cela", 0, -1, "", this),
31 new Among ( "gliela", 0, -1, "", this),
32 new Among ( "mela", 0, -1, "", this),
33 new Among ( "tela", 0, -1, "", this),
34 new Among ( "vela", 0, -1, "", this),
35 new Among ( "le", -1, -1, "", this),
36 new Among ( "cele", 6, -1, "", this),
37 new Among ( "gliele", 6, -1, "", this),
38 new Among ( "mele", 6, -1, "", this),
39 new Among ( "tele", 6, -1, "", this),
40 new Among ( "vele", 6, -1, "", this),
41 new Among ( "ne", -1, -1, "", this),
42 new Among ( "cene", 12, -1, "", this),
43 new Among ( "gliene", 12, -1, "", this),
44 new Among ( "mene", 12, -1, "", this),
45 new Among ( "sene", 12, -1, "", this),
46 new Among ( "tene", 12, -1, "", this),
47 new Among ( "vene", 12, -1, "", this),
48 new Among ( "ci", -1, -1, "", this),
49 new Among ( "li", -1, -1, "", this),
50 new Among ( "celi", 20, -1, "", this),
51 new Among ( "glieli", 20, -1, "", this),
52 new Among ( "meli", 20, -1, "", this),
53 new Among ( "teli", 20, -1, "", this),
54 new Among ( "veli", 20, -1, "", this),
55 new Among ( "gli", 20, -1, "", this),
56 new Among ( "mi", -1, -1, "", this),
57 new Among ( "si", -1, -1, "", this),
58 new Among ( "ti", -1, -1, "", this),
59 new Among ( "vi", -1, -1, "", this),
60 new Among ( "lo", -1, -1, "", this),
61 new Among ( "celo", 31, -1, "", this),
62 new Among ( "glielo", 31, -1, "", this),
63 new Among ( "melo", 31, -1, "", this),
64 new Among ( "telo", 31, -1, "", this),
65 new Among ( "velo", 31, -1, "", this)
68 private Among a_3[] = {
69 new Among ( "ando", -1, 1, "", this),
70 new Among ( "endo", -1, 1, "", this),
71 new Among ( "ar", -1, 2, "", this),
72 new Among ( "er", -1, 2, "", this),
73 new Among ( "ir", -1, 2, "", this)
76 private Among a_4[] = {
77 new Among ( "ic", -1, -1, "", this),
78 new Among ( "abil", -1, -1, "", this),
79 new Among ( "os", -1, -1, "", this),
80 new Among ( "iv", -1, 1, "", this)
83 private Among a_5[] = {
84 new Among ( "ic", -1, 1, "", this),
85 new Among ( "abil", -1, 1, "", this),
86 new Among ( "iv", -1, 1, "", this)
89 private Among a_6[] = {
90 new Among ( "ica", -1, 1, "", this),
91 new Among ( "logia", -1, 3, "", this),
92 new Among ( "osa", -1, 1, "", this),
93 new Among ( "ista", -1, 1, "", this),
94 new Among ( "iva", -1, 9, "", this),
95 new Among ( "anza", -1, 1, "", this),
96 new Among ( "enza", -1, 5, "", this),
97 new Among ( "ice", -1, 1, "", this),
98 new Among ( "atrice", 7, 1, "", this),
99 new Among ( "iche", -1, 1, "", this),
100 new Among ( "logie", -1, 3, "", this),
101 new Among ( "abile", -1, 1, "", this),
102 new Among ( "ibile", -1, 1, "", this),
103 new Among ( "usione", -1, 4, "", this),
104 new Among ( "azione", -1, 2, "", this),
105 new Among ( "uzione", -1, 4, "", this),
106 new Among ( "atore", -1, 2, "", this),
107 new Among ( "ose", -1, 1, "", this),
108 new Among ( "ante", -1, 1, "", this),
109 new Among ( "mente", -1, 1, "", this),
110 new Among ( "amente", 19, 7, "", this),
111 new Among ( "iste", -1, 1, "", this),
112 new Among ( "ive", -1, 9, "", this),
113 new Among ( "anze", -1, 1, "", this),
114 new Among ( "enze", -1, 5, "", this),
115 new Among ( "ici", -1, 1, "", this),
116 new Among ( "atrici", 25, 1, "", this),
117 new Among ( "ichi", -1, 1, "", this),
118 new Among ( "abili", -1, 1, "", this),
119 new Among ( "ibili", -1, 1, "", this),
120 new Among ( "ismi", -1, 1, "", this),
121 new Among ( "usioni", -1, 4, "", this),
122 new Among ( "azioni", -1, 2, "", this),
123 new Among ( "uzioni", -1, 4, "", this),
124 new Among ( "atori", -1, 2, "", this),
125 new Among ( "osi", -1, 1, "", this),
126 new Among ( "anti", -1, 1, "", this),
127 new Among ( "amenti", -1, 6, "", this),
128 new Among ( "imenti", -1, 6, "", this),
129 new Among ( "isti", -1, 1, "", this),
130 new Among ( "ivi", -1, 9, "", this),
131 new Among ( "ico", -1, 1, "", this),
132 new Among ( "ismo", -1, 1, "", this),
133 new Among ( "oso", -1, 1, "", this),
134 new Among ( "amento", -1, 6, "", this),
135 new Among ( "imento", -1, 6, "", this),
136 new Among ( "ivo", -1, 9, "", this),
137 new Among ( "it\u00E0", -1, 8, "", this),
138 new Among ( "ist\u00E0", -1, 1, "", this),
139 new Among ( "ist\u00E8", -1, 1, "", this),
140 new Among ( "ist\u00EC", -1, 1, "", this)
143 private Among a_7[] = {
144 new Among ( "isca", -1, 1, "", this),
145 new Among ( "enda", -1, 1, "", this),
146 new Among ( "ata", -1, 1, "", this),
147 new Among ( "ita", -1, 1, "", this),
148 new Among ( "uta", -1, 1, "", this),
149 new Among ( "ava", -1, 1, "", this),
150 new Among ( "eva", -1, 1, "", this),
151 new Among ( "iva", -1, 1, "", this),
152 new Among ( "erebbe", -1, 1, "", this),
153 new Among ( "irebbe", -1, 1, "", this),
154 new Among ( "isce", -1, 1, "", this),
155 new Among ( "ende", -1, 1, "", this),
156 new Among ( "are", -1, 1, "", this),
157 new Among ( "ere", -1, 1, "", this),
158 new Among ( "ire", -1, 1, "", this),
159 new Among ( "asse", -1, 1, "", this),
160 new Among ( "ate", -1, 1, "", this),
161 new Among ( "avate", 16, 1, "", this),
162 new Among ( "evate", 16, 1, "", this),
163 new Among ( "ivate", 16, 1, "", this),
164 new Among ( "ete", -1, 1, "", this),
165 new Among ( "erete", 20, 1, "", this),
166 new Among ( "irete", 20, 1, "", this),
167 new Among ( "ite", -1, 1, "", this),
168 new Among ( "ereste", -1, 1, "", this),
169 new Among ( "ireste", -1, 1, "", this),
170 new Among ( "ute", -1, 1, "", this),
171 new Among ( "erai", -1, 1, "", this),
172 new Among ( "irai", -1, 1, "", this),
173 new Among ( "isci", -1, 1, "", this),
174 new Among ( "endi", -1, 1, "", this),
175 new Among ( "erei", -1, 1, "", this),
176 new Among ( "irei", -1, 1, "", this),
177 new Among ( "assi", -1, 1, "", this),
178 new Among ( "ati", -1, 1, "", this),
179 new Among ( "iti", -1, 1, "", this),
180 new Among ( "eresti", -1, 1, "", this),
181 new Among ( "iresti", -1, 1, "", this),
182 new Among ( "uti", -1, 1, "", this),
183 new Among ( "avi", -1, 1, "", this),
184 new Among ( "evi", -1, 1, "", this),
185 new Among ( "ivi", -1, 1, "", this),
186 new Among ( "isco", -1, 1, "", this),
187 new Among ( "ando", -1, 1, "", this),
188 new Among ( "endo", -1, 1, "", this),
189 new Among ( "Yamo", -1, 1, "", this),
190 new Among ( "iamo", -1, 1, "", this),
191 new Among ( "avamo", -1, 1, "", this),
192 new Among ( "evamo", -1, 1, "", this),
193 new Among ( "ivamo", -1, 1, "", this),
194 new Among ( "eremo", -1, 1, "", this),
195 new Among ( "iremo", -1, 1, "", this),
196 new Among ( "assimo", -1, 1, "", this),
197 new Among ( "ammo", -1, 1, "", this),
198 new Among ( "emmo", -1, 1, "", this),
199 new Among ( "eremmo", 54, 1, "", this),
200 new Among ( "iremmo", 54, 1, "", this),
201 new Among ( "immo", -1, 1, "", this),
202 new Among ( "ano", -1, 1, "", this),
203 new Among ( "iscano", 58, 1, "", this),
204 new Among ( "avano", 58, 1, "", this),
205 new Among ( "evano", 58, 1, "", this),
206 new Among ( "ivano", 58, 1, "", this),
207 new Among ( "eranno", -1, 1, "", this),
208 new Among ( "iranno", -1, 1, "", this),
209 new Among ( "ono", -1, 1, "", this),
210 new Among ( "iscono", 65, 1, "", this),
211 new Among ( "arono", 65, 1, "", this),
212 new Among ( "erono", 65, 1, "", this),
213 new Among ( "irono", 65, 1, "", this),
214 new Among ( "erebbero", -1, 1, "", this),
215 new Among ( "irebbero", -1, 1, "", this),
216 new Among ( "assero", -1, 1, "", this),
217 new Among ( "essero", -1, 1, "", this),
218 new Among ( "issero", -1, 1, "", this),
219 new Among ( "ato", -1, 1, "", this),
220 new Among ( "ito", -1, 1, "", this),
221 new Among ( "uto", -1, 1, "", this),
222 new Among ( "avo", -1, 1, "", this),
223 new Among ( "evo", -1, 1, "", this),
224 new Among ( "ivo", -1, 1, "", this),
225 new Among ( "ar", -1, 1, "", this),
226 new Among ( "ir", -1, 1, "", this),
227 new Among ( "er\u00E0", -1, 1, "", this),
228 new Among ( "ir\u00E0", -1, 1, "", this),
229 new Among ( "er\u00F2", -1, 1, "", this),
230 new Among ( "ir\u00F2", -1, 1, "", this)
233 private static final char g_v[] = {17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1 };
235 private static final char g_AEIO[] = {17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2 };
237 private static final char g_CG[] = {17 };
239 private int I_p2;
240 private int I_p1;
241 private int I_pV;
243 private void copy_from(italianStemmer other) {
244 I_p2 = other.I_p2;
245 I_p1 = other.I_p1;
246 I_pV = other.I_pV;
247 super.copy_from(other);
250 private boolean r_prelude() {
251 int among_var;
252 int v_1;
253 int v_2;
254 int v_3;
255 int v_4;
256 int v_5;
257 // (, line 34
258 // test, line 35
259 v_1 = cursor;
260 // repeat, line 35
261 replab0: while(true)
263 v_2 = cursor;
264 lab1: do {
265 // (, line 35
266 // [, line 36
267 bra = cursor;
268 // substring, line 36
269 among_var = find_among(a_0, 7);
270 if (among_var == 0)
272 break lab1;
274 // ], line 36
275 ket = cursor;
276 switch(among_var) {
277 case 0:
278 break lab1;
279 case 1:
280 // (, line 37
281 // <-, line 37
282 slice_from("\u00E0");
283 break;
284 case 2:
285 // (, line 38
286 // <-, line 38
287 slice_from("\u00E8");
288 break;
289 case 3:
290 // (, line 39
291 // <-, line 39
292 slice_from("\u00EC");
293 break;
294 case 4:
295 // (, line 40
296 // <-, line 40
297 slice_from("\u00F2");
298 break;
299 case 5:
300 // (, line 41
301 // <-, line 41
302 slice_from("\u00F9");
303 break;
304 case 6:
305 // (, line 42
306 // <-, line 42
307 slice_from("qU");
308 break;
309 case 7:
310 // (, line 43
311 // next, line 43
312 if (cursor >= limit)
314 break lab1;
316 cursor++;
317 break;
319 continue replab0;
320 } while (false);
321 cursor = v_2;
322 break replab0;
324 cursor = v_1;
325 // repeat, line 46
326 replab2: while(true)
328 v_3 = cursor;
329 lab3: do {
330 // goto, line 46
331 golab4: while(true)
333 v_4 = cursor;
334 lab5: do {
335 // (, line 46
336 if (!(in_grouping(g_v, 97, 249)))
338 break lab5;
340 // [, line 47
341 bra = cursor;
342 // or, line 47
343 lab6: do {
344 v_5 = cursor;
345 lab7: do {
346 // (, line 47
347 // literal, line 47
348 if (!(eq_s(1, "u")))
350 break lab7;
352 // ], line 47
353 ket = cursor;
354 if (!(in_grouping(g_v, 97, 249)))
356 break lab7;
358 // <-, line 47
359 slice_from("U");
360 break lab6;
361 } while (false);
362 cursor = v_5;
363 // (, line 48
364 // literal, line 48
365 if (!(eq_s(1, "i")))
367 break lab5;
369 // ], line 48
370 ket = cursor;
371 if (!(in_grouping(g_v, 97, 249)))
373 break lab5;
375 // <-, line 48
376 slice_from("I");
377 } while (false);
378 cursor = v_4;
379 break golab4;
380 } while (false);
381 cursor = v_4;
382 if (cursor >= limit)
384 break lab3;
386 cursor++;
388 continue replab2;
389 } while (false);
390 cursor = v_3;
391 break replab2;
393 return true;
396 private boolean r_mark_regions() {
397 int v_1;
398 int v_2;
399 int v_3;
400 int v_6;
401 int v_8;
402 // (, line 52
403 I_pV = limit;
404 I_p1 = limit;
405 I_p2 = limit;
406 // do, line 58
407 v_1 = cursor;
408 lab0: do {
409 // (, line 58
410 // or, line 60
411 lab1: do {
412 v_2 = cursor;
413 lab2: do {
414 // (, line 59
415 if (!(in_grouping(g_v, 97, 249)))
417 break lab2;
419 // or, line 59
420 lab3: do {
421 v_3 = cursor;
422 lab4: do {
423 // (, line 59
424 if (!(out_grouping(g_v, 97, 249)))
426 break lab4;
428 // gopast, line 59
429 golab5: while(true)
431 lab6: do {
432 if (!(in_grouping(g_v, 97, 249)))
434 break lab6;
436 break golab5;
437 } while (false);
438 if (cursor >= limit)
440 break lab4;
442 cursor++;
444 break lab3;
445 } while (false);
446 cursor = v_3;
447 // (, line 59
448 if (!(in_grouping(g_v, 97, 249)))
450 break lab2;
452 // gopast, line 59
453 golab7: while(true)
455 lab8: do {
456 if (!(out_grouping(g_v, 97, 249)))
458 break lab8;
460 break golab7;
461 } while (false);
462 if (cursor >= limit)
464 break lab2;
466 cursor++;
468 } while (false);
469 break lab1;
470 } while (false);
471 cursor = v_2;
472 // (, line 61
473 if (!(out_grouping(g_v, 97, 249)))
475 break lab0;
477 // or, line 61
478 lab9: do {
479 v_6 = cursor;
480 lab10: do {
481 // (, line 61
482 if (!(out_grouping(g_v, 97, 249)))
484 break lab10;
486 // gopast, line 61
487 golab11: while(true)
489 lab12: do {
490 if (!(in_grouping(g_v, 97, 249)))
492 break lab12;
494 break golab11;
495 } while (false);
496 if (cursor >= limit)
498 break lab10;
500 cursor++;
502 break lab9;
503 } while (false);
504 cursor = v_6;
505 // (, line 61
506 if (!(in_grouping(g_v, 97, 249)))
508 break lab0;
510 // next, line 61
511 if (cursor >= limit)
513 break lab0;
515 cursor++;
516 } while (false);
517 } while (false);
518 // setmark pV, line 62
519 I_pV = cursor;
520 } while (false);
521 cursor = v_1;
522 // do, line 64
523 v_8 = cursor;
524 lab13: do {
525 // (, line 64
526 // gopast, line 65
527 golab14: while(true)
529 lab15: do {
530 if (!(in_grouping(g_v, 97, 249)))
532 break lab15;
534 break golab14;
535 } while (false);
536 if (cursor >= limit)
538 break lab13;
540 cursor++;
542 // gopast, line 65
543 golab16: while(true)
545 lab17: do {
546 if (!(out_grouping(g_v, 97, 249)))
548 break lab17;
550 break golab16;
551 } while (false);
552 if (cursor >= limit)
554 break lab13;
556 cursor++;
558 // setmark p1, line 65
559 I_p1 = cursor;
560 // gopast, line 66
561 golab18: while(true)
563 lab19: do {
564 if (!(in_grouping(g_v, 97, 249)))
566 break lab19;
568 break golab18;
569 } while (false);
570 if (cursor >= limit)
572 break lab13;
574 cursor++;
576 // gopast, line 66
577 golab20: while(true)
579 lab21: do {
580 if (!(out_grouping(g_v, 97, 249)))
582 break lab21;
584 break golab20;
585 } while (false);
586 if (cursor >= limit)
588 break lab13;
590 cursor++;
592 // setmark p2, line 66
593 I_p2 = cursor;
594 } while (false);
595 cursor = v_8;
596 return true;
599 private boolean r_postlude() {
600 int among_var;
601 int v_1;
602 // repeat, line 70
603 replab0: while(true)
605 v_1 = cursor;
606 lab1: do {
607 // (, line 70
608 // [, line 72
609 bra = cursor;
610 // substring, line 72
611 among_var = find_among(a_1, 3);
612 if (among_var == 0)
614 break lab1;
616 // ], line 72
617 ket = cursor;
618 switch(among_var) {
619 case 0:
620 break lab1;
621 case 1:
622 // (, line 73
623 // <-, line 73
624 slice_from("i");
625 break;
626 case 2:
627 // (, line 74
628 // <-, line 74
629 slice_from("u");
630 break;
631 case 3:
632 // (, line 75
633 // next, line 75
634 if (cursor >= limit)
636 break lab1;
638 cursor++;
639 break;
641 continue replab0;
642 } while (false);
643 cursor = v_1;
644 break replab0;
646 return true;
649 private boolean r_RV() {
650 if (!(I_pV <= cursor))
652 return false;
654 return true;
657 private boolean r_R1() {
658 if (!(I_p1 <= cursor))
660 return false;
662 return true;
665 private boolean r_R2() {
666 if (!(I_p2 <= cursor))
668 return false;
670 return true;
673 private boolean r_attached_pronoun() {
674 int among_var;
675 // (, line 86
676 // [, line 87
677 ket = cursor;
678 // substring, line 87
679 if (find_among_b(a_2, 37) == 0)
681 return false;
683 // ], line 87
684 bra = cursor;
685 // among, line 97
686 among_var = find_among_b(a_3, 5);
687 if (among_var == 0)
689 return false;
691 // (, line 97
692 // call RV, line 97
693 if (!r_RV())
695 return false;
697 switch(among_var) {
698 case 0:
699 return false;
700 case 1:
701 // (, line 98
702 // delete, line 98
703 slice_del();
704 break;
705 case 2:
706 // (, line 99
707 // <-, line 99
708 slice_from("e");
709 break;
711 return true;
714 private boolean r_standard_suffix() {
715 int among_var;
716 int v_1;
717 int v_2;
718 int v_3;
719 int v_4;
720 // (, line 103
721 // [, line 104
722 ket = cursor;
723 // substring, line 104
724 among_var = find_among_b(a_6, 51);
725 if (among_var == 0)
727 return false;
729 // ], line 104
730 bra = cursor;
731 switch(among_var) {
732 case 0:
733 return false;
734 case 1:
735 // (, line 111
736 // call R2, line 111
737 if (!r_R2())
739 return false;
741 // delete, line 111
742 slice_del();
743 break;
744 case 2:
745 // (, line 113
746 // call R2, line 113
747 if (!r_R2())
749 return false;
751 // delete, line 113
752 slice_del();
753 // try, line 114
754 v_1 = limit - cursor;
755 lab0: do {
756 // (, line 114
757 // [, line 114
758 ket = cursor;
759 // literal, line 114
760 if (!(eq_s_b(2, "ic")))
762 cursor = limit - v_1;
763 break lab0;
765 // ], line 114
766 bra = cursor;
767 // call R2, line 114
768 if (!r_R2())
770 cursor = limit - v_1;
771 break lab0;
773 // delete, line 114
774 slice_del();
775 } while (false);
776 break;
777 case 3:
778 // (, line 117
779 // call R2, line 117
780 if (!r_R2())
782 return false;
784 // <-, line 117
785 slice_from("log");
786 break;
787 case 4:
788 // (, line 119
789 // call R2, line 119
790 if (!r_R2())
792 return false;
794 // <-, line 119
795 slice_from("u");
796 break;
797 case 5:
798 // (, line 121
799 // call R2, line 121
800 if (!r_R2())
802 return false;
804 // <-, line 121
805 slice_from("ente");
806 break;
807 case 6:
808 // (, line 123
809 // call RV, line 123
810 if (!r_RV())
812 return false;
814 // delete, line 123
815 slice_del();
816 break;
817 case 7:
818 // (, line 124
819 // call R1, line 125
820 if (!r_R1())
822 return false;
824 // delete, line 125
825 slice_del();
826 // try, line 126
827 v_2 = limit - cursor;
828 lab1: do {
829 // (, line 126
830 // [, line 127
831 ket = cursor;
832 // substring, line 127
833 among_var = find_among_b(a_4, 4);
834 if (among_var == 0)
836 cursor = limit - v_2;
837 break lab1;
839 // ], line 127
840 bra = cursor;
841 // call R2, line 127
842 if (!r_R2())
844 cursor = limit - v_2;
845 break lab1;
847 // delete, line 127
848 slice_del();
849 switch(among_var) {
850 case 0:
851 cursor = limit - v_2;
852 break lab1;
853 case 1:
854 // (, line 128
855 // [, line 128
856 ket = cursor;
857 // literal, line 128
858 if (!(eq_s_b(2, "at")))
860 cursor = limit - v_2;
861 break lab1;
863 // ], line 128
864 bra = cursor;
865 // call R2, line 128
866 if (!r_R2())
868 cursor = limit - v_2;
869 break lab1;
871 // delete, line 128
872 slice_del();
873 break;
875 } while (false);
876 break;
877 case 8:
878 // (, line 133
879 // call R2, line 134
880 if (!r_R2())
882 return false;
884 // delete, line 134
885 slice_del();
886 // try, line 135
887 v_3 = limit - cursor;
888 lab2: do {
889 // (, line 135
890 // [, line 136
891 ket = cursor;
892 // substring, line 136
893 among_var = find_among_b(a_5, 3);
894 if (among_var == 0)
896 cursor = limit - v_3;
897 break lab2;
899 // ], line 136
900 bra = cursor;
901 switch(among_var) {
902 case 0:
903 cursor = limit - v_3;
904 break lab2;
905 case 1:
906 // (, line 137
907 // call R2, line 137
908 if (!r_R2())
910 cursor = limit - v_3;
911 break lab2;
913 // delete, line 137
914 slice_del();
915 break;
917 } while (false);
918 break;
919 case 9:
920 // (, line 141
921 // call R2, line 142
922 if (!r_R2())
924 return false;
926 // delete, line 142
927 slice_del();
928 // try, line 143
929 v_4 = limit - cursor;
930 lab3: do {
931 // (, line 143
932 // [, line 143
933 ket = cursor;
934 // literal, line 143
935 if (!(eq_s_b(2, "at")))
937 cursor = limit - v_4;
938 break lab3;
940 // ], line 143
941 bra = cursor;
942 // call R2, line 143
943 if (!r_R2())
945 cursor = limit - v_4;
946 break lab3;
948 // delete, line 143
949 slice_del();
950 // [, line 143
951 ket = cursor;
952 // literal, line 143
953 if (!(eq_s_b(2, "ic")))
955 cursor = limit - v_4;
956 break lab3;
958 // ], line 143
959 bra = cursor;
960 // call R2, line 143
961 if (!r_R2())
963 cursor = limit - v_4;
964 break lab3;
966 // delete, line 143
967 slice_del();
968 } while (false);
969 break;
971 return true;
974 private boolean r_verb_suffix() {
975 int among_var;
976 int v_1;
977 int v_2;
978 // setlimit, line 148
979 v_1 = limit - cursor;
980 // tomark, line 148
981 if (cursor < I_pV)
983 return false;
985 cursor = I_pV;
986 v_2 = limit_backward;
987 limit_backward = cursor;
988 cursor = limit - v_1;
989 // (, line 148
990 // [, line 149
991 ket = cursor;
992 // substring, line 149
993 among_var = find_among_b(a_7, 87);
994 if (among_var == 0)
996 limit_backward = v_2;
997 return false;
999 // ], line 149
1000 bra = cursor;
1001 switch(among_var) {
1002 case 0:
1003 limit_backward = v_2;
1004 return false;
1005 case 1:
1006 // (, line 163
1007 // delete, line 163
1008 slice_del();
1009 break;
1011 limit_backward = v_2;
1012 return true;
1015 private boolean r_vowel_suffix() {
1016 int v_1;
1017 int v_2;
1018 // (, line 170
1019 // try, line 171
1020 v_1 = limit - cursor;
1021 lab0: do {
1022 // (, line 171
1023 // [, line 172
1024 ket = cursor;
1025 if (!(in_grouping_b(g_AEIO, 97, 242)))
1027 cursor = limit - v_1;
1028 break lab0;
1030 // ], line 172
1031 bra = cursor;
1032 // call RV, line 172
1033 if (!r_RV())
1035 cursor = limit - v_1;
1036 break lab0;
1038 // delete, line 172
1039 slice_del();
1040 // [, line 173
1041 ket = cursor;
1042 // literal, line 173
1043 if (!(eq_s_b(1, "i")))
1045 cursor = limit - v_1;
1046 break lab0;
1048 // ], line 173
1049 bra = cursor;
1050 // call RV, line 173
1051 if (!r_RV())
1053 cursor = limit - v_1;
1054 break lab0;
1056 // delete, line 173
1057 slice_del();
1058 } while (false);
1059 // try, line 175
1060 v_2 = limit - cursor;
1061 lab1: do {
1062 // (, line 175
1063 // [, line 176
1064 ket = cursor;
1065 // literal, line 176
1066 if (!(eq_s_b(1, "h")))
1068 cursor = limit - v_2;
1069 break lab1;
1071 // ], line 176
1072 bra = cursor;
1073 if (!(in_grouping_b(g_CG, 99, 103)))
1075 cursor = limit - v_2;
1076 break lab1;
1078 // call RV, line 176
1079 if (!r_RV())
1081 cursor = limit - v_2;
1082 break lab1;
1084 // delete, line 176
1085 slice_del();
1086 } while (false);
1087 return true;
1090 public boolean stem() {
1091 int v_1;
1092 int v_2;
1093 int v_3;
1094 int v_4;
1095 int v_5;
1096 int v_6;
1097 int v_7;
1098 // (, line 181
1099 // do, line 182
1100 v_1 = cursor;
1101 lab0: do {
1102 // call prelude, line 182
1103 if (!r_prelude())
1105 break lab0;
1107 } while (false);
1108 cursor = v_1;
1109 // do, line 183
1110 v_2 = cursor;
1111 lab1: do {
1112 // call mark_regions, line 183
1113 if (!r_mark_regions())
1115 break lab1;
1117 } while (false);
1118 cursor = v_2;
1119 // backwards, line 184
1120 limit_backward = cursor; cursor = limit;
1121 // (, line 184
1122 // do, line 185
1123 v_3 = limit - cursor;
1124 lab2: do {
1125 // call attached_pronoun, line 185
1126 if (!r_attached_pronoun())
1128 break lab2;
1130 } while (false);
1131 cursor = limit - v_3;
1132 // do, line 186
1133 v_4 = limit - cursor;
1134 lab3: do {
1135 // (, line 186
1136 // or, line 186
1137 lab4: do {
1138 v_5 = limit - cursor;
1139 lab5: do {
1140 // call standard_suffix, line 186
1141 if (!r_standard_suffix())
1143 break lab5;
1145 break lab4;
1146 } while (false);
1147 cursor = limit - v_5;
1148 // call verb_suffix, line 186
1149 if (!r_verb_suffix())
1151 break lab3;
1153 } while (false);
1154 } while (false);
1155 cursor = limit - v_4;
1156 // do, line 187
1157 v_6 = limit - cursor;
1158 lab6: do {
1159 // call vowel_suffix, line 187
1160 if (!r_vowel_suffix())
1162 break lab6;
1164 } while (false);
1165 cursor = limit - v_6;
1166 cursor = limit_backward; // do, line 189
1167 v_7 = cursor;
1168 lab7: do {
1169 // call postlude, line 189
1170 if (!r_postlude())
1172 break lab7;
1174 } while (false);
1175 cursor = v_7;
1176 return true;