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