Initial import into git.
[galago.git] / java / galago / src / org / tartarus / snowball / ext / frenchStemmer.java
blobc55b05cae519a23f7ae78a0e181800d1c64dce59
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 frenchStemmer extends SnowballProgram {
12 private Among a_0[] = {
13 new Among ( "col", -1, -1, "", this),
14 new Among ( "par", -1, -1, "", this),
15 new Among ( "tap", -1, -1, "", this)
18 private Among a_1[] = {
19 new Among ( "", -1, 4, "", this),
20 new Among ( "I", 0, 1, "", this),
21 new Among ( "U", 0, 2, "", this),
22 new Among ( "Y", 0, 3, "", this)
25 private Among a_2[] = {
26 new Among ( "iqU", -1, 3, "", this),
27 new Among ( "abl", -1, 3, "", this),
28 new Among ( "I\u00E8r", -1, 4, "", this),
29 new Among ( "i\u00E8r", -1, 4, "", this),
30 new Among ( "eus", -1, 2, "", this),
31 new Among ( "iv", -1, 1, "", this)
34 private Among a_3[] = {
35 new Among ( "ic", -1, 2, "", this),
36 new Among ( "abil", -1, 1, "", this),
37 new Among ( "iv", -1, 3, "", this)
40 private Among a_4[] = {
41 new Among ( "iqUe", -1, 1, "", this),
42 new Among ( "atrice", -1, 2, "", this),
43 new Among ( "ance", -1, 1, "", this),
44 new Among ( "ence", -1, 5, "", this),
45 new Among ( "logie", -1, 3, "", this),
46 new Among ( "able", -1, 1, "", this),
47 new Among ( "isme", -1, 1, "", this),
48 new Among ( "euse", -1, 11, "", this),
49 new Among ( "iste", -1, 1, "", this),
50 new Among ( "ive", -1, 8, "", this),
51 new Among ( "if", -1, 8, "", this),
52 new Among ( "usion", -1, 4, "", this),
53 new Among ( "ation", -1, 2, "", this),
54 new Among ( "ution", -1, 4, "", this),
55 new Among ( "ateur", -1, 2, "", this),
56 new Among ( "iqUes", -1, 1, "", this),
57 new Among ( "atrices", -1, 2, "", this),
58 new Among ( "ances", -1, 1, "", this),
59 new Among ( "ences", -1, 5, "", this),
60 new Among ( "logies", -1, 3, "", this),
61 new Among ( "ables", -1, 1, "", this),
62 new Among ( "ismes", -1, 1, "", this),
63 new Among ( "euses", -1, 11, "", this),
64 new Among ( "istes", -1, 1, "", this),
65 new Among ( "ives", -1, 8, "", this),
66 new Among ( "ifs", -1, 8, "", this),
67 new Among ( "usions", -1, 4, "", this),
68 new Among ( "ations", -1, 2, "", this),
69 new Among ( "utions", -1, 4, "", this),
70 new Among ( "ateurs", -1, 2, "", this),
71 new Among ( "ments", -1, 15, "", this),
72 new Among ( "ements", 30, 6, "", this),
73 new Among ( "issements", 31, 12, "", this),
74 new Among ( "it\u00E9s", -1, 7, "", this),
75 new Among ( "ment", -1, 15, "", this),
76 new Among ( "ement", 34, 6, "", this),
77 new Among ( "issement", 35, 12, "", this),
78 new Among ( "amment", 34, 13, "", this),
79 new Among ( "emment", 34, 14, "", this),
80 new Among ( "aux", -1, 10, "", this),
81 new Among ( "eaux", 39, 9, "", this),
82 new Among ( "eux", -1, 1, "", this),
83 new Among ( "it\u00E9", -1, 7, "", this)
86 private Among a_5[] = {
87 new Among ( "ira", -1, 1, "", this),
88 new Among ( "ie", -1, 1, "", this),
89 new Among ( "isse", -1, 1, "", this),
90 new Among ( "issante", -1, 1, "", this),
91 new Among ( "i", -1, 1, "", this),
92 new Among ( "irai", 4, 1, "", this),
93 new Among ( "ir", -1, 1, "", this),
94 new Among ( "iras", -1, 1, "", this),
95 new Among ( "ies", -1, 1, "", this),
96 new Among ( "\u00EEmes", -1, 1, "", this),
97 new Among ( "isses", -1, 1, "", this),
98 new Among ( "issantes", -1, 1, "", this),
99 new Among ( "\u00EEtes", -1, 1, "", this),
100 new Among ( "is", -1, 1, "", this),
101 new Among ( "irais", 13, 1, "", this),
102 new Among ( "issais", 13, 1, "", this),
103 new Among ( "irions", -1, 1, "", this),
104 new Among ( "issions", -1, 1, "", this),
105 new Among ( "irons", -1, 1, "", this),
106 new Among ( "issons", -1, 1, "", this),
107 new Among ( "issants", -1, 1, "", this),
108 new Among ( "it", -1, 1, "", this),
109 new Among ( "irait", 21, 1, "", this),
110 new Among ( "issait", 21, 1, "", this),
111 new Among ( "issant", -1, 1, "", this),
112 new Among ( "iraIent", -1, 1, "", this),
113 new Among ( "issaIent", -1, 1, "", this),
114 new Among ( "irent", -1, 1, "", this),
115 new Among ( "issent", -1, 1, "", this),
116 new Among ( "iront", -1, 1, "", this),
117 new Among ( "\u00EEt", -1, 1, "", this),
118 new Among ( "iriez", -1, 1, "", this),
119 new Among ( "issiez", -1, 1, "", this),
120 new Among ( "irez", -1, 1, "", this),
121 new Among ( "issez", -1, 1, "", this)
124 private Among a_6[] = {
125 new Among ( "a", -1, 3, "", this),
126 new Among ( "era", 0, 2, "", this),
127 new Among ( "asse", -1, 3, "", this),
128 new Among ( "ante", -1, 3, "", this),
129 new Among ( "\u00E9e", -1, 2, "", this),
130 new Among ( "ai", -1, 3, "", this),
131 new Among ( "erai", 5, 2, "", this),
132 new Among ( "er", -1, 2, "", this),
133 new Among ( "as", -1, 3, "", this),
134 new Among ( "eras", 8, 2, "", this),
135 new Among ( "\u00E2mes", -1, 3, "", this),
136 new Among ( "asses", -1, 3, "", this),
137 new Among ( "antes", -1, 3, "", this),
138 new Among ( "\u00E2tes", -1, 3, "", this),
139 new Among ( "\u00E9es", -1, 2, "", this),
140 new Among ( "ais", -1, 3, "", this),
141 new Among ( "erais", 15, 2, "", this),
142 new Among ( "ions", -1, 1, "", this),
143 new Among ( "erions", 17, 2, "", this),
144 new Among ( "assions", 17, 3, "", this),
145 new Among ( "erons", -1, 2, "", this),
146 new Among ( "ants", -1, 3, "", this),
147 new Among ( "\u00E9s", -1, 2, "", this),
148 new Among ( "ait", -1, 3, "", this),
149 new Among ( "erait", 23, 2, "", this),
150 new Among ( "ant", -1, 3, "", this),
151 new Among ( "aIent", -1, 3, "", this),
152 new Among ( "eraIent", 26, 2, "", this),
153 new Among ( "\u00E8rent", -1, 2, "", this),
154 new Among ( "assent", -1, 3, "", this),
155 new Among ( "eront", -1, 2, "", this),
156 new Among ( "\u00E2t", -1, 3, "", this),
157 new Among ( "ez", -1, 2, "", this),
158 new Among ( "iez", 32, 2, "", this),
159 new Among ( "eriez", 33, 2, "", this),
160 new Among ( "assiez", 33, 3, "", this),
161 new Among ( "erez", 32, 2, "", this),
162 new Among ( "\u00E9", -1, 2, "", this)
165 private Among a_7[] = {
166 new Among ( "e", -1, 3, "", this),
167 new Among ( "I\u00E8re", 0, 2, "", this),
168 new Among ( "i\u00E8re", 0, 2, "", this),
169 new Among ( "ion", -1, 1, "", this),
170 new Among ( "Ier", -1, 2, "", this),
171 new Among ( "ier", -1, 2, "", this),
172 new Among ( "\u00EB", -1, 4, "", this)
175 private Among a_8[] = {
176 new Among ( "ell", -1, -1, "", this),
177 new Among ( "eill", -1, -1, "", this),
178 new Among ( "enn", -1, -1, "", this),
179 new Among ( "onn", -1, -1, "", this),
180 new Among ( "ett", -1, -1, "", this)
183 private static final char g_v[] = {17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
185 private static final char g_keep_with_s[] = {1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
187 private int I_p2;
188 private int I_p1;
189 private int I_pV;
191 private void copy_from(frenchStemmer other) {
192 I_p2 = other.I_p2;
193 I_p1 = other.I_p1;
194 I_pV = other.I_pV;
195 super.copy_from(other);
198 private boolean r_prelude() {
199 int v_1;
200 int v_2;
201 int v_3;
202 int v_4;
203 // repeat, line 38
204 replab0: while(true)
206 v_1 = cursor;
207 lab1: do {
208 // goto, line 38
209 golab2: while(true)
211 v_2 = cursor;
212 lab3: do {
213 // (, line 38
214 // or, line 44
215 lab4: do {
216 v_3 = cursor;
217 lab5: do {
218 // (, line 40
219 if (!(in_grouping(g_v, 97, 251)))
221 break lab5;
223 // [, line 40
224 bra = cursor;
225 // or, line 40
226 lab6: do {
227 v_4 = cursor;
228 lab7: do {
229 // (, line 40
230 // literal, line 40
231 if (!(eq_s(1, "u")))
233 break lab7;
235 // ], line 40
236 ket = cursor;
237 if (!(in_grouping(g_v, 97, 251)))
239 break lab7;
241 // <-, line 40
242 slice_from("U");
243 break lab6;
244 } while (false);
245 cursor = v_4;
246 lab8: do {
247 // (, line 41
248 // literal, line 41
249 if (!(eq_s(1, "i")))
251 break lab8;
253 // ], line 41
254 ket = cursor;
255 if (!(in_grouping(g_v, 97, 251)))
257 break lab8;
259 // <-, line 41
260 slice_from("I");
261 break lab6;
262 } while (false);
263 cursor = v_4;
264 // (, line 42
265 // literal, line 42
266 if (!(eq_s(1, "y")))
268 break lab5;
270 // ], line 42
271 ket = cursor;
272 // <-, line 42
273 slice_from("Y");
274 } while (false);
275 break lab4;
276 } while (false);
277 cursor = v_3;
278 lab9: do {
279 // (, line 45
280 // [, line 45
281 bra = cursor;
282 // literal, line 45
283 if (!(eq_s(1, "y")))
285 break lab9;
287 // ], line 45
288 ket = cursor;
289 if (!(in_grouping(g_v, 97, 251)))
291 break lab9;
293 // <-, line 45
294 slice_from("Y");
295 break lab4;
296 } while (false);
297 cursor = v_3;
298 // (, line 47
299 // literal, line 47
300 if (!(eq_s(1, "q")))
302 break lab3;
304 // [, line 47
305 bra = cursor;
306 // literal, line 47
307 if (!(eq_s(1, "u")))
309 break lab3;
311 // ], line 47
312 ket = cursor;
313 // <-, line 47
314 slice_from("U");
315 } while (false);
316 cursor = v_2;
317 break golab2;
318 } while (false);
319 cursor = v_2;
320 if (cursor >= limit)
322 break lab1;
324 cursor++;
326 continue replab0;
327 } while (false);
328 cursor = v_1;
329 break replab0;
331 return true;
334 private boolean r_mark_regions() {
335 int v_1;
336 int v_2;
337 int v_4;
338 // (, line 50
339 I_pV = limit;
340 I_p1 = limit;
341 I_p2 = limit;
342 // do, line 56
343 v_1 = cursor;
344 lab0: do {
345 // (, line 56
346 // or, line 58
347 lab1: do {
348 v_2 = cursor;
349 lab2: do {
350 // (, line 57
351 if (!(in_grouping(g_v, 97, 251)))
353 break lab2;
355 if (!(in_grouping(g_v, 97, 251)))
357 break lab2;
359 // next, line 57
360 if (cursor >= limit)
362 break lab2;
364 cursor++;
365 break lab1;
366 } while (false);
367 cursor = v_2;
368 lab3: do {
369 // among, line 59
370 if (find_among(a_0, 3) == 0)
372 break lab3;
374 break lab1;
375 } while (false);
376 cursor = v_2;
377 // (, line 66
378 // next, line 66
379 if (cursor >= limit)
381 break lab0;
383 cursor++;
384 // gopast, line 66
385 golab4: while(true)
387 lab5: do {
388 if (!(in_grouping(g_v, 97, 251)))
390 break lab5;
392 break golab4;
393 } while (false);
394 if (cursor >= limit)
396 break lab0;
398 cursor++;
400 } while (false);
401 // setmark pV, line 67
402 I_pV = cursor;
403 } while (false);
404 cursor = v_1;
405 // do, line 69
406 v_4 = cursor;
407 lab6: do {
408 // (, line 69
409 // gopast, line 70
410 golab7: while(true)
412 lab8: do {
413 if (!(in_grouping(g_v, 97, 251)))
415 break lab8;
417 break golab7;
418 } while (false);
419 if (cursor >= limit)
421 break lab6;
423 cursor++;
425 // gopast, line 70
426 golab9: while(true)
428 lab10: do {
429 if (!(out_grouping(g_v, 97, 251)))
431 break lab10;
433 break golab9;
434 } while (false);
435 if (cursor >= limit)
437 break lab6;
439 cursor++;
441 // setmark p1, line 70
442 I_p1 = cursor;
443 // gopast, line 71
444 golab11: while(true)
446 lab12: do {
447 if (!(in_grouping(g_v, 97, 251)))
449 break lab12;
451 break golab11;
452 } while (false);
453 if (cursor >= limit)
455 break lab6;
457 cursor++;
459 // gopast, line 71
460 golab13: while(true)
462 lab14: do {
463 if (!(out_grouping(g_v, 97, 251)))
465 break lab14;
467 break golab13;
468 } while (false);
469 if (cursor >= limit)
471 break lab6;
473 cursor++;
475 // setmark p2, line 71
476 I_p2 = cursor;
477 } while (false);
478 cursor = v_4;
479 return true;
482 private boolean r_postlude() {
483 int among_var;
484 int v_1;
485 // repeat, line 75
486 replab0: while(true)
488 v_1 = cursor;
489 lab1: do {
490 // (, line 75
491 // [, line 77
492 bra = cursor;
493 // substring, line 77
494 among_var = find_among(a_1, 4);
495 if (among_var == 0)
497 break lab1;
499 // ], line 77
500 ket = cursor;
501 switch(among_var) {
502 case 0:
503 break lab1;
504 case 1:
505 // (, line 78
506 // <-, line 78
507 slice_from("i");
508 break;
509 case 2:
510 // (, line 79
511 // <-, line 79
512 slice_from("u");
513 break;
514 case 3:
515 // (, line 80
516 // <-, line 80
517 slice_from("y");
518 break;
519 case 4:
520 // (, line 81
521 // next, line 81
522 if (cursor >= limit)
524 break lab1;
526 cursor++;
527 break;
529 continue replab0;
530 } while (false);
531 cursor = v_1;
532 break replab0;
534 return true;
537 private boolean r_RV() {
538 if (!(I_pV <= cursor))
540 return false;
542 return true;
545 private boolean r_R1() {
546 if (!(I_p1 <= cursor))
548 return false;
550 return true;
553 private boolean r_R2() {
554 if (!(I_p2 <= cursor))
556 return false;
558 return true;
561 private boolean r_standard_suffix() {
562 int among_var;
563 int v_1;
564 int v_2;
565 int v_3;
566 int v_4;
567 int v_5;
568 int v_6;
569 int v_7;
570 int v_8;
571 int v_9;
572 int v_10;
573 int v_11;
574 // (, line 91
575 // [, line 92
576 ket = cursor;
577 // substring, line 92
578 among_var = find_among_b(a_4, 43);
579 if (among_var == 0)
581 return false;
583 // ], line 92
584 bra = cursor;
585 switch(among_var) {
586 case 0:
587 return false;
588 case 1:
589 // (, line 96
590 // call R2, line 96
591 if (!r_R2())
593 return false;
595 // delete, line 96
596 slice_del();
597 break;
598 case 2:
599 // (, line 99
600 // call R2, line 99
601 if (!r_R2())
603 return false;
605 // delete, line 99
606 slice_del();
607 // try, line 100
608 v_1 = limit - cursor;
609 lab0: do {
610 // (, line 100
611 // [, line 100
612 ket = cursor;
613 // literal, line 100
614 if (!(eq_s_b(2, "ic")))
616 cursor = limit - v_1;
617 break lab0;
619 // ], line 100
620 bra = cursor;
621 // or, line 100
622 lab1: do {
623 v_2 = limit - cursor;
624 lab2: do {
625 // (, line 100
626 // call R2, line 100
627 if (!r_R2())
629 break lab2;
631 // delete, line 100
632 slice_del();
633 break lab1;
634 } while (false);
635 cursor = limit - v_2;
636 // <-, line 100
637 slice_from("iqU");
638 } while (false);
639 } while (false);
640 break;
641 case 3:
642 // (, line 104
643 // call R2, line 104
644 if (!r_R2())
646 return false;
648 // <-, line 104
649 slice_from("log");
650 break;
651 case 4:
652 // (, line 107
653 // call R2, line 107
654 if (!r_R2())
656 return false;
658 // <-, line 107
659 slice_from("u");
660 break;
661 case 5:
662 // (, line 110
663 // call R2, line 110
664 if (!r_R2())
666 return false;
668 // <-, line 110
669 slice_from("ent");
670 break;
671 case 6:
672 // (, line 113
673 // call RV, line 114
674 if (!r_RV())
676 return false;
678 // delete, line 114
679 slice_del();
680 // try, line 115
681 v_3 = limit - cursor;
682 lab3: do {
683 // (, line 115
684 // [, line 116
685 ket = cursor;
686 // substring, line 116
687 among_var = find_among_b(a_2, 6);
688 if (among_var == 0)
690 cursor = limit - v_3;
691 break lab3;
693 // ], line 116
694 bra = cursor;
695 switch(among_var) {
696 case 0:
697 cursor = limit - v_3;
698 break lab3;
699 case 1:
700 // (, line 117
701 // call R2, line 117
702 if (!r_R2())
704 cursor = limit - v_3;
705 break lab3;
707 // delete, line 117
708 slice_del();
709 // [, line 117
710 ket = cursor;
711 // literal, line 117
712 if (!(eq_s_b(2, "at")))
714 cursor = limit - v_3;
715 break lab3;
717 // ], line 117
718 bra = cursor;
719 // call R2, line 117
720 if (!r_R2())
722 cursor = limit - v_3;
723 break lab3;
725 // delete, line 117
726 slice_del();
727 break;
728 case 2:
729 // (, line 118
730 // or, line 118
731 lab4: do {
732 v_4 = limit - cursor;
733 lab5: do {
734 // (, line 118
735 // call R2, line 118
736 if (!r_R2())
738 break lab5;
740 // delete, line 118
741 slice_del();
742 break lab4;
743 } while (false);
744 cursor = limit - v_4;
745 // (, line 118
746 // call R1, line 118
747 if (!r_R1())
749 cursor = limit - v_3;
750 break lab3;
752 // <-, line 118
753 slice_from("eux");
754 } while (false);
755 break;
756 case 3:
757 // (, line 120
758 // call R2, line 120
759 if (!r_R2())
761 cursor = limit - v_3;
762 break lab3;
764 // delete, line 120
765 slice_del();
766 break;
767 case 4:
768 // (, line 122
769 // call RV, line 122
770 if (!r_RV())
772 cursor = limit - v_3;
773 break lab3;
775 // <-, line 122
776 slice_from("i");
777 break;
779 } while (false);
780 break;
781 case 7:
782 // (, line 128
783 // call R2, line 129
784 if (!r_R2())
786 return false;
788 // delete, line 129
789 slice_del();
790 // try, line 130
791 v_5 = limit - cursor;
792 lab6: do {
793 // (, line 130
794 // [, line 131
795 ket = cursor;
796 // substring, line 131
797 among_var = find_among_b(a_3, 3);
798 if (among_var == 0)
800 cursor = limit - v_5;
801 break lab6;
803 // ], line 131
804 bra = cursor;
805 switch(among_var) {
806 case 0:
807 cursor = limit - v_5;
808 break lab6;
809 case 1:
810 // (, line 132
811 // or, line 132
812 lab7: do {
813 v_6 = limit - cursor;
814 lab8: do {
815 // (, line 132
816 // call R2, line 132
817 if (!r_R2())
819 break lab8;
821 // delete, line 132
822 slice_del();
823 break lab7;
824 } while (false);
825 cursor = limit - v_6;
826 // <-, line 132
827 slice_from("abl");
828 } while (false);
829 break;
830 case 2:
831 // (, line 133
832 // or, line 133
833 lab9: do {
834 v_7 = limit - cursor;
835 lab10: do {
836 // (, line 133
837 // call R2, line 133
838 if (!r_R2())
840 break lab10;
842 // delete, line 133
843 slice_del();
844 break lab9;
845 } while (false);
846 cursor = limit - v_7;
847 // <-, line 133
848 slice_from("iqU");
849 } while (false);
850 break;
851 case 3:
852 // (, line 134
853 // call R2, line 134
854 if (!r_R2())
856 cursor = limit - v_5;
857 break lab6;
859 // delete, line 134
860 slice_del();
861 break;
863 } while (false);
864 break;
865 case 8:
866 // (, line 140
867 // call R2, line 141
868 if (!r_R2())
870 return false;
872 // delete, line 141
873 slice_del();
874 // try, line 142
875 v_8 = limit - cursor;
876 lab11: do {
877 // (, line 142
878 // [, line 142
879 ket = cursor;
880 // literal, line 142
881 if (!(eq_s_b(2, "at")))
883 cursor = limit - v_8;
884 break lab11;
886 // ], line 142
887 bra = cursor;
888 // call R2, line 142
889 if (!r_R2())
891 cursor = limit - v_8;
892 break lab11;
894 // delete, line 142
895 slice_del();
896 // [, line 142
897 ket = cursor;
898 // literal, line 142
899 if (!(eq_s_b(2, "ic")))
901 cursor = limit - v_8;
902 break lab11;
904 // ], line 142
905 bra = cursor;
906 // or, line 142
907 lab12: do {
908 v_9 = limit - cursor;
909 lab13: do {
910 // (, line 142
911 // call R2, line 142
912 if (!r_R2())
914 break lab13;
916 // delete, line 142
917 slice_del();
918 break lab12;
919 } while (false);
920 cursor = limit - v_9;
921 // <-, line 142
922 slice_from("iqU");
923 } while (false);
924 } while (false);
925 break;
926 case 9:
927 // (, line 144
928 // <-, line 144
929 slice_from("eau");
930 break;
931 case 10:
932 // (, line 145
933 // call R1, line 145
934 if (!r_R1())
936 return false;
938 // <-, line 145
939 slice_from("al");
940 break;
941 case 11:
942 // (, line 147
943 // or, line 147
944 lab14: do {
945 v_10 = limit - cursor;
946 lab15: do {
947 // (, line 147
948 // call R2, line 147
949 if (!r_R2())
951 break lab15;
953 // delete, line 147
954 slice_del();
955 break lab14;
956 } while (false);
957 cursor = limit - v_10;
958 // (, line 147
959 // call R1, line 147
960 if (!r_R1())
962 return false;
964 // <-, line 147
965 slice_from("eux");
966 } while (false);
967 break;
968 case 12:
969 // (, line 150
970 // call R1, line 150
971 if (!r_R1())
973 return false;
975 if (!(out_grouping_b(g_v, 97, 251)))
977 return false;
979 // delete, line 150
980 slice_del();
981 break;
982 case 13:
983 // (, line 155
984 // call RV, line 155
985 if (!r_RV())
987 return false;
989 // fail, line 155
990 // (, line 155
991 // <-, line 155
992 slice_from("ant");
993 return false;
994 case 14:
995 // (, line 156
996 // call RV, line 156
997 if (!r_RV())
999 return false;
1001 // fail, line 156
1002 // (, line 156
1003 // <-, line 156
1004 slice_from("ent");
1005 return false;
1006 case 15:
1007 // (, line 158
1008 // test, line 158
1009 v_11 = limit - cursor;
1010 // (, line 158
1011 if (!(in_grouping_b(g_v, 97, 251)))
1013 return false;
1015 // call RV, line 158
1016 if (!r_RV())
1018 return false;
1020 cursor = limit - v_11;
1021 // fail, line 158
1022 // (, line 158
1023 // delete, line 158
1024 slice_del();
1025 return false;
1027 return true;
1030 private boolean r_i_verb_suffix() {
1031 int among_var;
1032 int v_1;
1033 int v_2;
1034 // setlimit, line 163
1035 v_1 = limit - cursor;
1036 // tomark, line 163
1037 if (cursor < I_pV)
1039 return false;
1041 cursor = I_pV;
1042 v_2 = limit_backward;
1043 limit_backward = cursor;
1044 cursor = limit - v_1;
1045 // (, line 163
1046 // [, line 164
1047 ket = cursor;
1048 // substring, line 164
1049 among_var = find_among_b(a_5, 35);
1050 if (among_var == 0)
1052 limit_backward = v_2;
1053 return false;
1055 // ], line 164
1056 bra = cursor;
1057 switch(among_var) {
1058 case 0:
1059 limit_backward = v_2;
1060 return false;
1061 case 1:
1062 // (, line 170
1063 if (!(out_grouping_b(g_v, 97, 251)))
1065 limit_backward = v_2;
1066 return false;
1068 // delete, line 170
1069 slice_del();
1070 break;
1072 limit_backward = v_2;
1073 return true;
1076 private boolean r_verb_suffix() {
1077 int among_var;
1078 int v_1;
1079 int v_2;
1080 int v_3;
1081 // setlimit, line 174
1082 v_1 = limit - cursor;
1083 // tomark, line 174
1084 if (cursor < I_pV)
1086 return false;
1088 cursor = I_pV;
1089 v_2 = limit_backward;
1090 limit_backward = cursor;
1091 cursor = limit - v_1;
1092 // (, line 174
1093 // [, line 175
1094 ket = cursor;
1095 // substring, line 175
1096 among_var = find_among_b(a_6, 38);
1097 if (among_var == 0)
1099 limit_backward = v_2;
1100 return false;
1102 // ], line 175
1103 bra = cursor;
1104 switch(among_var) {
1105 case 0:
1106 limit_backward = v_2;
1107 return false;
1108 case 1:
1109 // (, line 177
1110 // call R2, line 177
1111 if (!r_R2())
1113 limit_backward = v_2;
1114 return false;
1116 // delete, line 177
1117 slice_del();
1118 break;
1119 case 2:
1120 // (, line 185
1121 // delete, line 185
1122 slice_del();
1123 break;
1124 case 3:
1125 // (, line 190
1126 // delete, line 190
1127 slice_del();
1128 // try, line 191
1129 v_3 = limit - cursor;
1130 lab0: do {
1131 // (, line 191
1132 // [, line 191
1133 ket = cursor;
1134 // literal, line 191
1135 if (!(eq_s_b(1, "e")))
1137 cursor = limit - v_3;
1138 break lab0;
1140 // ], line 191
1141 bra = cursor;
1142 // delete, line 191
1143 slice_del();
1144 } while (false);
1145 break;
1147 limit_backward = v_2;
1148 return true;
1151 private boolean r_residual_suffix() {
1152 int among_var;
1153 int v_1;
1154 int v_2;
1155 int v_3;
1156 int v_4;
1157 int v_5;
1158 // (, line 198
1159 // try, line 199
1160 v_1 = limit - cursor;
1161 lab0: do {
1162 // (, line 199
1163 // [, line 199
1164 ket = cursor;
1165 // literal, line 199
1166 if (!(eq_s_b(1, "s")))
1168 cursor = limit - v_1;
1169 break lab0;
1171 // ], line 199
1172 bra = cursor;
1173 // test, line 199
1174 v_2 = limit - cursor;
1175 if (!(out_grouping_b(g_keep_with_s, 97, 232)))
1177 cursor = limit - v_1;
1178 break lab0;
1180 cursor = limit - v_2;
1181 // delete, line 199
1182 slice_del();
1183 } while (false);
1184 // setlimit, line 200
1185 v_3 = limit - cursor;
1186 // tomark, line 200
1187 if (cursor < I_pV)
1189 return false;
1191 cursor = I_pV;
1192 v_4 = limit_backward;
1193 limit_backward = cursor;
1194 cursor = limit - v_3;
1195 // (, line 200
1196 // [, line 201
1197 ket = cursor;
1198 // substring, line 201
1199 among_var = find_among_b(a_7, 7);
1200 if (among_var == 0)
1202 limit_backward = v_4;
1203 return false;
1205 // ], line 201
1206 bra = cursor;
1207 switch(among_var) {
1208 case 0:
1209 limit_backward = v_4;
1210 return false;
1211 case 1:
1212 // (, line 202
1213 // call R2, line 202
1214 if (!r_R2())
1216 limit_backward = v_4;
1217 return false;
1219 // or, line 202
1220 lab1: do {
1221 v_5 = limit - cursor;
1222 lab2: do {
1223 // literal, line 202
1224 if (!(eq_s_b(1, "s")))
1226 break lab2;
1228 break lab1;
1229 } while (false);
1230 cursor = limit - v_5;
1231 // literal, line 202
1232 if (!(eq_s_b(1, "t")))
1234 limit_backward = v_4;
1235 return false;
1237 } while (false);
1238 // delete, line 202
1239 slice_del();
1240 break;
1241 case 2:
1242 // (, line 204
1243 // <-, line 204
1244 slice_from("i");
1245 break;
1246 case 3:
1247 // (, line 205
1248 // delete, line 205
1249 slice_del();
1250 break;
1251 case 4:
1252 // (, line 206
1253 // literal, line 206
1254 if (!(eq_s_b(2, "gu")))
1256 limit_backward = v_4;
1257 return false;
1259 // delete, line 206
1260 slice_del();
1261 break;
1263 limit_backward = v_4;
1264 return true;
1267 private boolean r_un_double() {
1268 int v_1;
1269 // (, line 211
1270 // test, line 212
1271 v_1 = limit - cursor;
1272 // among, line 212
1273 if (find_among_b(a_8, 5) == 0)
1275 return false;
1277 cursor = limit - v_1;
1278 // [, line 212
1279 ket = cursor;
1280 // next, line 212
1281 if (cursor <= limit_backward)
1283 return false;
1285 cursor--;
1286 // ], line 212
1287 bra = cursor;
1288 // delete, line 212
1289 slice_del();
1290 return true;
1293 private boolean r_un_accent() {
1294 int v_3;
1295 // (, line 215
1296 // atleast, line 216
1298 int v_1 = 1;
1299 // atleast, line 216
1300 replab0: while(true)
1302 lab1: do {
1303 if (!(out_grouping_b(g_v, 97, 251)))
1305 break lab1;
1307 v_1--;
1308 continue replab0;
1309 } while (false);
1310 break replab0;
1312 if (v_1 > 0)
1314 return false;
1317 // [, line 217
1318 ket = cursor;
1319 // or, line 217
1320 lab2: do {
1321 v_3 = limit - cursor;
1322 lab3: do {
1323 // literal, line 217
1324 if (!(eq_s_b(1, "\u00E9")))
1326 break lab3;
1328 break lab2;
1329 } while (false);
1330 cursor = limit - v_3;
1331 // literal, line 217
1332 if (!(eq_s_b(1, "\u00E8")))
1334 return false;
1336 } while (false);
1337 // ], line 217
1338 bra = cursor;
1339 // <-, line 217
1340 slice_from("e");
1341 return true;
1344 public boolean stem() {
1345 int v_1;
1346 int v_2;
1347 int v_3;
1348 int v_4;
1349 int v_5;
1350 int v_6;
1351 int v_7;
1352 int v_8;
1353 int v_9;
1354 int v_10;
1355 int v_11;
1356 // (, line 221
1357 // do, line 223
1358 v_1 = cursor;
1359 lab0: do {
1360 // call prelude, line 223
1361 if (!r_prelude())
1363 break lab0;
1365 } while (false);
1366 cursor = v_1;
1367 // do, line 224
1368 v_2 = cursor;
1369 lab1: do {
1370 // call mark_regions, line 224
1371 if (!r_mark_regions())
1373 break lab1;
1375 } while (false);
1376 cursor = v_2;
1377 // backwards, line 225
1378 limit_backward = cursor; cursor = limit;
1379 // (, line 225
1380 // do, line 227
1381 v_3 = limit - cursor;
1382 lab2: do {
1383 // (, line 227
1384 // or, line 237
1385 lab3: do {
1386 v_4 = limit - cursor;
1387 lab4: do {
1388 // (, line 228
1389 // and, line 233
1390 v_5 = limit - cursor;
1391 // (, line 229
1392 // or, line 229
1393 lab5: do {
1394 v_6 = limit - cursor;
1395 lab6: do {
1396 // call standard_suffix, line 229
1397 if (!r_standard_suffix())
1399 break lab6;
1401 break lab5;
1402 } while (false);
1403 cursor = limit - v_6;
1404 lab7: do {
1405 // call i_verb_suffix, line 230
1406 if (!r_i_verb_suffix())
1408 break lab7;
1410 break lab5;
1411 } while (false);
1412 cursor = limit - v_6;
1413 // call verb_suffix, line 231
1414 if (!r_verb_suffix())
1416 break lab4;
1418 } while (false);
1419 cursor = limit - v_5;
1420 // try, line 234
1421 v_7 = limit - cursor;
1422 lab8: do {
1423 // (, line 234
1424 // [, line 234
1425 ket = cursor;
1426 // or, line 234
1427 lab9: do {
1428 v_8 = limit - cursor;
1429 lab10: do {
1430 // (, line 234
1431 // literal, line 234
1432 if (!(eq_s_b(1, "Y")))
1434 break lab10;
1436 // ], line 234
1437 bra = cursor;
1438 // <-, line 234
1439 slice_from("i");
1440 break lab9;
1441 } while (false);
1442 cursor = limit - v_8;
1443 // (, line 235
1444 // literal, line 235
1445 if (!(eq_s_b(1, "\u00E7")))
1447 cursor = limit - v_7;
1448 break lab8;
1450 // ], line 235
1451 bra = cursor;
1452 // <-, line 235
1453 slice_from("c");
1454 } while (false);
1455 } while (false);
1456 break lab3;
1457 } while (false);
1458 cursor = limit - v_4;
1459 // call residual_suffix, line 238
1460 if (!r_residual_suffix())
1462 break lab2;
1464 } while (false);
1465 } while (false);
1466 cursor = limit - v_3;
1467 // do, line 243
1468 v_9 = limit - cursor;
1469 lab11: do {
1470 // call un_double, line 243
1471 if (!r_un_double())
1473 break lab11;
1475 } while (false);
1476 cursor = limit - v_9;
1477 // do, line 244
1478 v_10 = limit - cursor;
1479 lab12: do {
1480 // call un_accent, line 244
1481 if (!r_un_accent())
1483 break lab12;
1485 } while (false);
1486 cursor = limit - v_10;
1487 cursor = limit_backward; // do, line 246
1488 v_11 = cursor;
1489 lab13: do {
1490 // call postlude, line 246
1491 if (!r_postlude())
1493 break lab13;
1495 } while (false);
1496 cursor = v_11;
1497 return true;