001: // This file was generated automatically by the Snowball to Java compiler
002:
003: package net.sf.snowball.ext;
004:
005: import net.sf.snowball.SnowballProgram;
006: import net.sf.snowball.Among;
007:
008: /**
009: * Generated class implementing code defined by a snowball script.
010: */
011: public class FinnishStemmer extends SnowballProgram {
012:
013: private Among a_0[] = { new Among("pa", -1, 1, "", this ),
014: new Among("sti", -1, 2, "", this ),
015: new Among("kaan", -1, 1, "", this ),
016: new Among("han", -1, 1, "", this ),
017: new Among("kin", -1, 1, "", this ),
018: new Among("h\u00E4n", -1, 1, "", this ),
019: new Among("k\u00E4\u00E4n", -1, 1, "", this ),
020: new Among("ko", -1, 1, "", this ),
021: new Among("p\u00E4", -1, 1, "", this ),
022: new Among("k\u00F6", -1, 1, "", this ) };
023:
024: private Among a_1[] = { new Among("lla", -1, -1, "", this ),
025: new Among("na", -1, -1, "", this ),
026: new Among("ssa", -1, -1, "", this ),
027: new Among("ta", -1, -1, "", this ),
028: new Among("lta", 3, -1, "", this ),
029: new Among("sta", 3, -1, "", this ) };
030:
031: private Among a_2[] = { new Among("ll\u00E4", -1, -1, "", this ),
032: new Among("n\u00E4", -1, -1, "", this ),
033: new Among("ss\u00E4", -1, -1, "", this ),
034: new Among("t\u00E4", -1, -1, "", this ),
035: new Among("lt\u00E4", 3, -1, "", this ),
036: new Among("st\u00E4", 3, -1, "", this ) };
037:
038: private Among a_3[] = { new Among("lle", -1, -1, "", this ),
039: new Among("ine", -1, -1, "", this ) };
040:
041: private Among a_4[] = { new Among("nsa", -1, 3, "", this ),
042: new Among("mme", -1, 3, "", this ),
043: new Among("nne", -1, 3, "", this ),
044: new Among("ni", -1, 2, "", this ),
045: new Among("si", -1, 1, "", this ),
046: new Among("an", -1, 4, "", this ),
047: new Among("en", -1, 6, "", this ),
048: new Among("\u00E4n", -1, 5, "", this ),
049: new Among("ns\u00E4", -1, 3, "", this ) };
050:
051: private Among a_5[] = { new Among("aa", -1, -1, "", this ),
052: new Among("ee", -1, -1, "", this ),
053: new Among("ii", -1, -1, "", this ),
054: new Among("oo", -1, -1, "", this ),
055: new Among("uu", -1, -1, "", this ),
056: new Among("\u00E4\u00E4", -1, -1, "", this ),
057: new Among("\u00F6\u00F6", -1, -1, "", this ) };
058:
059: private Among a_6[] = { new Among("a", -1, 8, "", this ),
060: new Among("lla", 0, -1, "", this ),
061: new Among("na", 0, -1, "", this ),
062: new Among("ssa", 0, -1, "", this ),
063: new Among("ta", 0, -1, "", this ),
064: new Among("lta", 4, -1, "", this ),
065: new Among("sta", 4, -1, "", this ),
066: new Among("tta", 4, 9, "", this ),
067: new Among("lle", -1, -1, "", this ),
068: new Among("ine", -1, -1, "", this ),
069: new Among("ksi", -1, -1, "", this ),
070: new Among("n", -1, 7, "", this ),
071: new Among("han", 11, 1, "", this ),
072: new Among("den", 11, -1, "r_VI", this ),
073: new Among("seen", 11, -1, "r_LONG", this ),
074: new Among("hen", 11, 2, "", this ),
075: new Among("tten", 11, -1, "r_VI", this ),
076: new Among("hin", 11, 3, "", this ),
077: new Among("siin", 11, -1, "r_VI", this ),
078: new Among("hon", 11, 4, "", this ),
079: new Among("h\u00E4n", 11, 5, "", this ),
080: new Among("h\u00F6n", 11, 6, "", this ),
081: new Among("\u00E4", -1, 8, "", this ),
082: new Among("ll\u00E4", 22, -1, "", this ),
083: new Among("n\u00E4", 22, -1, "", this ),
084: new Among("ss\u00E4", 22, -1, "", this ),
085: new Among("t\u00E4", 22, -1, "", this ),
086: new Among("lt\u00E4", 26, -1, "", this ),
087: new Among("st\u00E4", 26, -1, "", this ),
088: new Among("tt\u00E4", 26, 9, "", this ) };
089:
090: private Among a_7[] = { new Among("eja", -1, -1, "", this ),
091: new Among("mma", -1, 1, "", this ),
092: new Among("imma", 1, -1, "", this ),
093: new Among("mpa", -1, 1, "", this ),
094: new Among("impa", 3, -1, "", this ),
095: new Among("mmi", -1, 1, "", this ),
096: new Among("immi", 5, -1, "", this ),
097: new Among("mpi", -1, 1, "", this ),
098: new Among("impi", 7, -1, "", this ),
099: new Among("ej\u00E4", -1, -1, "", this ),
100: new Among("mm\u00E4", -1, 1, "", this ),
101: new Among("imm\u00E4", 10, -1, "", this ),
102: new Among("mp\u00E4", -1, 1, "", this ),
103: new Among("imp\u00E4", 12, -1, "", this ) };
104:
105: private Among a_8[] = { new Among("i", -1, -1, "", this ),
106: new Among("j", -1, -1, "", this ) };
107:
108: private Among a_9[] = { new Among("mma", -1, 1, "", this ),
109: new Among("imma", 0, -1, "", this ) };
110:
111: private static final char g_AEI[] = { 17, 1, 0, 0, 0, 0, 0, 0, 0,
112: 0, 0, 0, 0, 0, 0, 0, 8 };
113:
114: private static final char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0,
115: 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
116:
117: private static final char g_V[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0,
118: 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
119:
120: private static final char g_particle_end[] = { 17, 97, 24, 1, 0, 0,
121: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32 };
122:
123: private boolean B_ending_removed;
124: private StringBuffer S_x = new StringBuffer();
125: private int I_p2;
126: private int I_p1;
127:
128: private void copy_from(FinnishStemmer other) {
129: B_ending_removed = other.B_ending_removed;
130: S_x = other.S_x;
131: I_p2 = other.I_p2;
132: I_p1 = other.I_p1;
133: super .copy_from(other);
134: }
135:
136: private boolean r_mark_regions() {
137: int v_1;
138: int v_3;
139: // (, line 41
140: I_p1 = limit;
141: I_p2 = limit;
142: // goto, line 46
143: golab0: while (true) {
144: v_1 = cursor;
145: lab1: do {
146: if (!(in_grouping(g_v, 97, 246))) {
147: break lab1;
148: }
149: cursor = v_1;
150: break golab0;
151: } while (false);
152: cursor = v_1;
153: if (cursor >= limit) {
154: return false;
155: }
156: cursor++;
157: }
158: // gopast, line 46
159: golab2: while (true) {
160: lab3: do {
161: if (!(out_grouping(g_v, 97, 246))) {
162: break lab3;
163: }
164: break golab2;
165: } while (false);
166: if (cursor >= limit) {
167: return false;
168: }
169: cursor++;
170: }
171: // setmark p1, line 46
172: I_p1 = cursor;
173: // goto, line 47
174: golab4: while (true) {
175: v_3 = cursor;
176: lab5: do {
177: if (!(in_grouping(g_v, 97, 246))) {
178: break lab5;
179: }
180: cursor = v_3;
181: break golab4;
182: } while (false);
183: cursor = v_3;
184: if (cursor >= limit) {
185: return false;
186: }
187: cursor++;
188: }
189: // gopast, line 47
190: golab6: while (true) {
191: lab7: do {
192: if (!(out_grouping(g_v, 97, 246))) {
193: break lab7;
194: }
195: break golab6;
196: } while (false);
197: if (cursor >= limit) {
198: return false;
199: }
200: cursor++;
201: }
202: // setmark p2, line 47
203: I_p2 = cursor;
204: return true;
205: }
206:
207: private boolean r_R2() {
208: if (!(I_p2 <= cursor)) {
209: return false;
210: }
211: return true;
212: }
213:
214: private boolean r_particle_etc() {
215: int among_var;
216: int v_1;
217: int v_2;
218: // (, line 54
219: // setlimit, line 55
220: v_1 = limit - cursor;
221: // tomark, line 55
222: if (cursor < I_p1) {
223: return false;
224: }
225: cursor = I_p1;
226: v_2 = limit_backward;
227: limit_backward = cursor;
228: cursor = limit - v_1;
229: // (, line 55
230: // [, line 55
231: ket = cursor;
232: // substring, line 55
233: among_var = find_among_b(a_0, 10);
234: if (among_var == 0) {
235: limit_backward = v_2;
236: return false;
237: }
238: // ], line 55
239: bra = cursor;
240: limit_backward = v_2;
241: switch (among_var) {
242: case 0:
243: return false;
244: case 1:
245: // (, line 62
246: if (!(in_grouping_b(g_particle_end, 97, 246))) {
247: return false;
248: }
249: break;
250: case 2:
251: // (, line 64
252: // call R2, line 64
253: if (!r_R2()) {
254: return false;
255: }
256: break;
257: }
258: // delete, line 66
259: slice_del();
260: return true;
261: }
262:
263: private boolean r_possessive() {
264: int among_var;
265: int v_1;
266: int v_2;
267: int v_3;
268: // (, line 68
269: // setlimit, line 69
270: v_1 = limit - cursor;
271: // tomark, line 69
272: if (cursor < I_p1) {
273: return false;
274: }
275: cursor = I_p1;
276: v_2 = limit_backward;
277: limit_backward = cursor;
278: cursor = limit - v_1;
279: // (, line 69
280: // [, line 69
281: ket = cursor;
282: // substring, line 69
283: among_var = find_among_b(a_4, 9);
284: if (among_var == 0) {
285: limit_backward = v_2;
286: return false;
287: }
288: // ], line 69
289: bra = cursor;
290: limit_backward = v_2;
291: switch (among_var) {
292: case 0:
293: return false;
294: case 1:
295: // (, line 72
296: // not, line 72
297: {
298: v_3 = limit - cursor;
299: lab0: do {
300: // literal, line 72
301: if (!(eq_s_b(1, "k"))) {
302: break lab0;
303: }
304: return false;
305: } while (false);
306: cursor = limit - v_3;
307: }
308: // delete, line 72
309: slice_del();
310: break;
311: case 2:
312: // (, line 74
313: // delete, line 74
314: slice_del();
315: // [, line 74
316: ket = cursor;
317: // literal, line 74
318: if (!(eq_s_b(3, "kse"))) {
319: return false;
320: }
321: // ], line 74
322: bra = cursor;
323: // <-, line 74
324: slice_from("ksi");
325: break;
326: case 3:
327: // (, line 78
328: // delete, line 78
329: slice_del();
330: break;
331: case 4:
332: // (, line 81
333: // among, line 81
334: if (find_among_b(a_1, 6) == 0) {
335: return false;
336: }
337: // delete, line 81
338: slice_del();
339: break;
340: case 5:
341: // (, line 83
342: // among, line 83
343: if (find_among_b(a_2, 6) == 0) {
344: return false;
345: }
346: // delete, line 84
347: slice_del();
348: break;
349: case 6:
350: // (, line 86
351: // among, line 86
352: if (find_among_b(a_3, 2) == 0) {
353: return false;
354: }
355: // delete, line 86
356: slice_del();
357: break;
358: }
359: return true;
360: }
361:
362: private boolean r_LONG() {
363: // among, line 91
364: if (find_among_b(a_5, 7) == 0) {
365: return false;
366: }
367: return true;
368: }
369:
370: private boolean r_VI() {
371: // (, line 93
372: // literal, line 93
373: if (!(eq_s_b(1, "i"))) {
374: return false;
375: }
376: if (!(in_grouping_b(g_V, 97, 246))) {
377: return false;
378: }
379: return true;
380: }
381:
382: private boolean r_case() {
383: int among_var;
384: int v_1;
385: int v_2;
386: int v_3;
387: int v_4;
388: int v_5;
389: // (, line 95
390: // setlimit, line 96
391: v_1 = limit - cursor;
392: // tomark, line 96
393: if (cursor < I_p1) {
394: return false;
395: }
396: cursor = I_p1;
397: v_2 = limit_backward;
398: limit_backward = cursor;
399: cursor = limit - v_1;
400: // (, line 96
401: // [, line 96
402: ket = cursor;
403: // substring, line 96
404: among_var = find_among_b(a_6, 30);
405: if (among_var == 0) {
406: limit_backward = v_2;
407: return false;
408: }
409: // ], line 96
410: bra = cursor;
411: limit_backward = v_2;
412: switch (among_var) {
413: case 0:
414: return false;
415: case 1:
416: // (, line 98
417: // literal, line 98
418: if (!(eq_s_b(1, "a"))) {
419: return false;
420: }
421: break;
422: case 2:
423: // (, line 99
424: // literal, line 99
425: if (!(eq_s_b(1, "e"))) {
426: return false;
427: }
428: break;
429: case 3:
430: // (, line 100
431: // literal, line 100
432: if (!(eq_s_b(1, "i"))) {
433: return false;
434: }
435: break;
436: case 4:
437: // (, line 101
438: // literal, line 101
439: if (!(eq_s_b(1, "o"))) {
440: return false;
441: }
442: break;
443: case 5:
444: // (, line 102
445: // literal, line 102
446: if (!(eq_s_b(1, "\u00E4"))) {
447: return false;
448: }
449: break;
450: case 6:
451: // (, line 103
452: // literal, line 103
453: if (!(eq_s_b(1, "\u00F6"))) {
454: return false;
455: }
456: break;
457: case 7:
458: // (, line 111
459: // try, line 111
460: v_3 = limit - cursor;
461: lab0: do {
462: // (, line 111
463: // and, line 113
464: v_4 = limit - cursor;
465: // or, line 112
466: lab1: do {
467: v_5 = limit - cursor;
468: lab2: do {
469: // call LONG, line 111
470: if (!r_LONG()) {
471: break lab2;
472: }
473: break lab1;
474: } while (false);
475: cursor = limit - v_5;
476: // literal, line 112
477: if (!(eq_s_b(2, "ie"))) {
478: cursor = limit - v_3;
479: break lab0;
480: }
481: } while (false);
482: cursor = limit - v_4;
483: // next, line 113
484: if (cursor <= limit_backward) {
485: cursor = limit - v_3;
486: break lab0;
487: }
488: cursor--;
489: // ], line 113
490: bra = cursor;
491: } while (false);
492: break;
493: case 8:
494: // (, line 119
495: if (!(in_grouping_b(g_v, 97, 246))) {
496: return false;
497: }
498: if (!(out_grouping_b(g_v, 97, 246))) {
499: return false;
500: }
501: break;
502: case 9:
503: // (, line 121
504: // literal, line 121
505: if (!(eq_s_b(1, "e"))) {
506: return false;
507: }
508: break;
509: }
510: // delete, line 138
511: slice_del();
512: // set ending_removed, line 139
513: B_ending_removed = true;
514: return true;
515: }
516:
517: private boolean r_other_endings() {
518: int among_var;
519: int v_1;
520: int v_2;
521: int v_3;
522: // (, line 141
523: // setlimit, line 142
524: v_1 = limit - cursor;
525: // tomark, line 142
526: if (cursor < I_p2) {
527: return false;
528: }
529: cursor = I_p2;
530: v_2 = limit_backward;
531: limit_backward = cursor;
532: cursor = limit - v_1;
533: // (, line 142
534: // [, line 142
535: ket = cursor;
536: // substring, line 142
537: among_var = find_among_b(a_7, 14);
538: if (among_var == 0) {
539: limit_backward = v_2;
540: return false;
541: }
542: // ], line 142
543: bra = cursor;
544: limit_backward = v_2;
545: switch (among_var) {
546: case 0:
547: return false;
548: case 1:
549: // (, line 146
550: // not, line 146
551: {
552: v_3 = limit - cursor;
553: lab0: do {
554: // literal, line 146
555: if (!(eq_s_b(2, "po"))) {
556: break lab0;
557: }
558: return false;
559: } while (false);
560: cursor = limit - v_3;
561: }
562: break;
563: }
564: // delete, line 151
565: slice_del();
566: return true;
567: }
568:
569: private boolean r_i_plural() {
570: int v_1;
571: int v_2;
572: // (, line 153
573: // setlimit, line 154
574: v_1 = limit - cursor;
575: // tomark, line 154
576: if (cursor < I_p1) {
577: return false;
578: }
579: cursor = I_p1;
580: v_2 = limit_backward;
581: limit_backward = cursor;
582: cursor = limit - v_1;
583: // (, line 154
584: // [, line 154
585: ket = cursor;
586: // substring, line 154
587: if (find_among_b(a_8, 2) == 0) {
588: limit_backward = v_2;
589: return false;
590: }
591: // ], line 154
592: bra = cursor;
593: limit_backward = v_2;
594: // delete, line 158
595: slice_del();
596: return true;
597: }
598:
599: private boolean r_t_plural() {
600: int among_var;
601: int v_1;
602: int v_2;
603: int v_3;
604: int v_4;
605: int v_5;
606: int v_6;
607: // (, line 160
608: // setlimit, line 161
609: v_1 = limit - cursor;
610: // tomark, line 161
611: if (cursor < I_p1) {
612: return false;
613: }
614: cursor = I_p1;
615: v_2 = limit_backward;
616: limit_backward = cursor;
617: cursor = limit - v_1;
618: // (, line 161
619: // [, line 162
620: ket = cursor;
621: // literal, line 162
622: if (!(eq_s_b(1, "t"))) {
623: limit_backward = v_2;
624: return false;
625: }
626: // ], line 162
627: bra = cursor;
628: // test, line 162
629: v_3 = limit - cursor;
630: if (!(in_grouping_b(g_v, 97, 246))) {
631: limit_backward = v_2;
632: return false;
633: }
634: cursor = limit - v_3;
635: // delete, line 163
636: slice_del();
637: limit_backward = v_2;
638: // setlimit, line 165
639: v_4 = limit - cursor;
640: // tomark, line 165
641: if (cursor < I_p2) {
642: return false;
643: }
644: cursor = I_p2;
645: v_5 = limit_backward;
646: limit_backward = cursor;
647: cursor = limit - v_4;
648: // (, line 165
649: // [, line 165
650: ket = cursor;
651: // substring, line 165
652: among_var = find_among_b(a_9, 2);
653: if (among_var == 0) {
654: limit_backward = v_5;
655: return false;
656: }
657: // ], line 165
658: bra = cursor;
659: limit_backward = v_5;
660: switch (among_var) {
661: case 0:
662: return false;
663: case 1:
664: // (, line 167
665: // not, line 167
666: {
667: v_6 = limit - cursor;
668: lab0: do {
669: // literal, line 167
670: if (!(eq_s_b(2, "po"))) {
671: break lab0;
672: }
673: return false;
674: } while (false);
675: cursor = limit - v_6;
676: }
677: break;
678: }
679: // delete, line 170
680: slice_del();
681: return true;
682: }
683:
684: private boolean r_tidy() {
685: int v_1;
686: int v_2;
687: int v_3;
688: int v_4;
689: int v_5;
690: int v_6;
691: int v_7;
692: int v_8;
693: int v_9;
694: // (, line 172
695: // setlimit, line 173
696: v_1 = limit - cursor;
697: // tomark, line 173
698: if (cursor < I_p1) {
699: return false;
700: }
701: cursor = I_p1;
702: v_2 = limit_backward;
703: limit_backward = cursor;
704: cursor = limit - v_1;
705: // (, line 173
706: // do, line 174
707: v_3 = limit - cursor;
708: lab0: do {
709: // (, line 174
710: // and, line 174
711: v_4 = limit - cursor;
712: // call LONG, line 174
713: if (!r_LONG()) {
714: break lab0;
715: }
716: cursor = limit - v_4;
717: // (, line 174
718: // [, line 174
719: ket = cursor;
720: // next, line 174
721: if (cursor <= limit_backward) {
722: break lab0;
723: }
724: cursor--;
725: // ], line 174
726: bra = cursor;
727: // delete, line 174
728: slice_del();
729: } while (false);
730: cursor = limit - v_3;
731: // do, line 175
732: v_5 = limit - cursor;
733: lab1: do {
734: // (, line 175
735: // [, line 175
736: ket = cursor;
737: if (!(in_grouping_b(g_AEI, 97, 228))) {
738: break lab1;
739: }
740: // ], line 175
741: bra = cursor;
742: if (!(out_grouping_b(g_v, 97, 246))) {
743: break lab1;
744: }
745: // delete, line 175
746: slice_del();
747: } while (false);
748: cursor = limit - v_5;
749: // do, line 176
750: v_6 = limit - cursor;
751: lab2: do {
752: // (, line 176
753: // [, line 176
754: ket = cursor;
755: // literal, line 176
756: if (!(eq_s_b(1, "j"))) {
757: break lab2;
758: }
759: // ], line 176
760: bra = cursor;
761: // or, line 176
762: lab3: do {
763: v_7 = limit - cursor;
764: lab4: do {
765: // literal, line 176
766: if (!(eq_s_b(1, "o"))) {
767: break lab4;
768: }
769: break lab3;
770: } while (false);
771: cursor = limit - v_7;
772: // literal, line 176
773: if (!(eq_s_b(1, "u"))) {
774: break lab2;
775: }
776: } while (false);
777: // delete, line 176
778: slice_del();
779: } while (false);
780: cursor = limit - v_6;
781: // do, line 177
782: v_8 = limit - cursor;
783: lab5: do {
784: // (, line 177
785: // [, line 177
786: ket = cursor;
787: // literal, line 177
788: if (!(eq_s_b(1, "o"))) {
789: break lab5;
790: }
791: // ], line 177
792: bra = cursor;
793: // literal, line 177
794: if (!(eq_s_b(1, "j"))) {
795: break lab5;
796: }
797: // delete, line 177
798: slice_del();
799: } while (false);
800: cursor = limit - v_8;
801: limit_backward = v_2;
802: // goto, line 179
803: golab6: while (true) {
804: v_9 = limit - cursor;
805: lab7: do {
806: if (!(out_grouping_b(g_v, 97, 246))) {
807: break lab7;
808: }
809: cursor = limit - v_9;
810: break golab6;
811: } while (false);
812: cursor = limit - v_9;
813: if (cursor <= limit_backward) {
814: return false;
815: }
816: cursor--;
817: }
818: // [, line 179
819: ket = cursor;
820: // next, line 179
821: if (cursor <= limit_backward) {
822: return false;
823: }
824: cursor--;
825: // ], line 179
826: bra = cursor;
827: // -> x, line 179
828: S_x = slice_to(S_x);
829: // name x, line 179
830: if (!(eq_v_b(S_x))) {
831: return false;
832: }
833: // delete, line 179
834: slice_del();
835: return true;
836: }
837:
838: public boolean stem() {
839: int v_1;
840: int v_2;
841: int v_3;
842: int v_4;
843: int v_5;
844: int v_6;
845: int v_7;
846: int v_8;
847: int v_9;
848: // (, line 183
849: // do, line 185
850: v_1 = cursor;
851: lab0: do {
852: // call mark_regions, line 185
853: if (!r_mark_regions()) {
854: break lab0;
855: }
856: } while (false);
857: cursor = v_1;
858: // unset ending_removed, line 186
859: B_ending_removed = false;
860: // backwards, line 187
861: limit_backward = cursor;
862: cursor = limit;
863: // (, line 187
864: // do, line 188
865: v_2 = limit - cursor;
866: lab1: do {
867: // call particle_etc, line 188
868: if (!r_particle_etc()) {
869: break lab1;
870: }
871: } while (false);
872: cursor = limit - v_2;
873: // do, line 189
874: v_3 = limit - cursor;
875: lab2: do {
876: // call possessive, line 189
877: if (!r_possessive()) {
878: break lab2;
879: }
880: } while (false);
881: cursor = limit - v_3;
882: // do, line 190
883: v_4 = limit - cursor;
884: lab3: do {
885: // call case, line 190
886: if (!r_case()) {
887: break lab3;
888: }
889: } while (false);
890: cursor = limit - v_4;
891: // do, line 191
892: v_5 = limit - cursor;
893: lab4: do {
894: // call other_endings, line 191
895: if (!r_other_endings()) {
896: break lab4;
897: }
898: } while (false);
899: cursor = limit - v_5;
900: // or, line 192
901: lab5: do {
902: v_6 = limit - cursor;
903: lab6: do {
904: // (, line 192
905: // Boolean test ending_removed, line 192
906: if (!(B_ending_removed)) {
907: break lab6;
908: }
909: // do, line 192
910: v_7 = limit - cursor;
911: lab7: do {
912: // call i_plural, line 192
913: if (!r_i_plural()) {
914: break lab7;
915: }
916: } while (false);
917: cursor = limit - v_7;
918: break lab5;
919: } while (false);
920: cursor = limit - v_6;
921: // do, line 192
922: v_8 = limit - cursor;
923: lab8: do {
924: // call t_plural, line 192
925: if (!r_t_plural()) {
926: break lab8;
927: }
928: } while (false);
929: cursor = limit - v_8;
930: } while (false);
931: // do, line 193
932: v_9 = limit - cursor;
933: lab9: do {
934: // call tidy, line 193
935: if (!r_tidy()) {
936: break lab9;
937: }
938: } while (false);
939: cursor = limit - v_9;
940: cursor = limit_backward;
941: return true;
942: }
943:
944: }
|