0001: // This file was generated automatically by the Snowball to Java compiler
0002:
0003: package net.sf.snowball.ext;
0004:
0005: import net.sf.snowball.SnowballProgram;
0006: import net.sf.snowball.Among;
0007:
0008: /**
0009: * Generated class implementing code defined by a snowball script.
0010: */
0011: public class FrenchStemmer extends SnowballProgram {
0012:
0013: private Among a_0[] = { new Among("", -1, 4, "", this ),
0014: new Among("I", 0, 1, "", this ),
0015: new Among("U", 0, 2, "", this ),
0016: new Among("Y", 0, 3, "", this ) };
0017:
0018: private Among a_1[] = { new Among("iqU", -1, 3, "", this ),
0019: new Among("abl", -1, 3, "", this ),
0020: new Among("I\u00E8r", -1, 4, "", this ),
0021: new Among("i\u00E8r", -1, 4, "", this ),
0022: new Among("eus", -1, 2, "", this ),
0023: new Among("iv", -1, 1, "", this ) };
0024:
0025: private Among a_2[] = { new Among("ic", -1, 2, "", this ),
0026: new Among("abil", -1, 1, "", this ),
0027: new Among("iv", -1, 3, "", this ) };
0028:
0029: private Among a_3[] = { new Among("iqUe", -1, 1, "", this ),
0030: new Among("atrice", -1, 2, "", this ),
0031: new Among("ance", -1, 1, "", this ),
0032: new Among("ence", -1, 5, "", this ),
0033: new Among("logie", -1, 3, "", this ),
0034: new Among("able", -1, 1, "", this ),
0035: new Among("isme", -1, 1, "", this ),
0036: new Among("euse", -1, 11, "", this ),
0037: new Among("iste", -1, 1, "", this ),
0038: new Among("ive", -1, 8, "", this ),
0039: new Among("if", -1, 8, "", this ),
0040: new Among("usion", -1, 4, "", this ),
0041: new Among("ation", -1, 2, "", this ),
0042: new Among("ution", -1, 4, "", this ),
0043: new Among("ateur", -1, 2, "", this ),
0044: new Among("iqUes", -1, 1, "", this ),
0045: new Among("atrices", -1, 2, "", this ),
0046: new Among("ances", -1, 1, "", this ),
0047: new Among("ences", -1, 5, "", this ),
0048: new Among("logies", -1, 3, "", this ),
0049: new Among("ables", -1, 1, "", this ),
0050: new Among("ismes", -1, 1, "", this ),
0051: new Among("euses", -1, 11, "", this ),
0052: new Among("istes", -1, 1, "", this ),
0053: new Among("ives", -1, 8, "", this ),
0054: new Among("ifs", -1, 8, "", this ),
0055: new Among("usions", -1, 4, "", this ),
0056: new Among("ations", -1, 2, "", this ),
0057: new Among("utions", -1, 4, "", this ),
0058: new Among("ateurs", -1, 2, "", this ),
0059: new Among("ments", -1, 15, "", this ),
0060: new Among("ements", 30, 6, "", this ),
0061: new Among("issements", 31, 12, "", this ),
0062: new Among("it\u00E9s", -1, 7, "", this ),
0063: new Among("ment", -1, 15, "", this ),
0064: new Among("ement", 34, 6, "", this ),
0065: new Among("issement", 35, 12, "", this ),
0066: new Among("amment", 34, 13, "", this ),
0067: new Among("emment", 34, 14, "", this ),
0068: new Among("aux", -1, 10, "", this ),
0069: new Among("eaux", 39, 9, "", this ),
0070: new Among("eux", -1, 1, "", this ),
0071: new Among("it\u00E9", -1, 7, "", this ) };
0072:
0073: private Among a_4[] = { new Among("ira", -1, 1, "", this ),
0074: new Among("ie", -1, 1, "", this ),
0075: new Among("isse", -1, 1, "", this ),
0076: new Among("issante", -1, 1, "", this ),
0077: new Among("i", -1, 1, "", this ),
0078: new Among("irai", 4, 1, "", this ),
0079: new Among("ir", -1, 1, "", this ),
0080: new Among("iras", -1, 1, "", this ),
0081: new Among("ies", -1, 1, "", this ),
0082: new Among("\u00EEmes", -1, 1, "", this ),
0083: new Among("isses", -1, 1, "", this ),
0084: new Among("issantes", -1, 1, "", this ),
0085: new Among("\u00EEtes", -1, 1, "", this ),
0086: new Among("is", -1, 1, "", this ),
0087: new Among("irais", 13, 1, "", this ),
0088: new Among("issais", 13, 1, "", this ),
0089: new Among("irions", -1, 1, "", this ),
0090: new Among("issions", -1, 1, "", this ),
0091: new Among("irons", -1, 1, "", this ),
0092: new Among("issons", -1, 1, "", this ),
0093: new Among("issants", -1, 1, "", this ),
0094: new Among("it", -1, 1, "", this ),
0095: new Among("irait", 21, 1, "", this ),
0096: new Among("issait", 21, 1, "", this ),
0097: new Among("issant", -1, 1, "", this ),
0098: new Among("iraIent", -1, 1, "", this ),
0099: new Among("issaIent", -1, 1, "", this ),
0100: new Among("irent", -1, 1, "", this ),
0101: new Among("issent", -1, 1, "", this ),
0102: new Among("iront", -1, 1, "", this ),
0103: new Among("\u00EEt", -1, 1, "", this ),
0104: new Among("iriez", -1, 1, "", this ),
0105: new Among("issiez", -1, 1, "", this ),
0106: new Among("irez", -1, 1, "", this ),
0107: new Among("issez", -1, 1, "", this ) };
0108:
0109: private Among a_5[] = { new Among("a", -1, 3, "", this ),
0110: new Among("era", 0, 2, "", this ),
0111: new Among("asse", -1, 3, "", this ),
0112: new Among("ante", -1, 3, "", this ),
0113: new Among("\u00E9e", -1, 2, "", this ),
0114: new Among("ai", -1, 3, "", this ),
0115: new Among("erai", 5, 2, "", this ),
0116: new Among("er", -1, 2, "", this ),
0117: new Among("as", -1, 3, "", this ),
0118: new Among("eras", 8, 2, "", this ),
0119: new Among("\u00E2mes", -1, 3, "", this ),
0120: new Among("asses", -1, 3, "", this ),
0121: new Among("antes", -1, 3, "", this ),
0122: new Among("\u00E2tes", -1, 3, "", this ),
0123: new Among("\u00E9es", -1, 2, "", this ),
0124: new Among("ais", -1, 3, "", this ),
0125: new Among("erais", 15, 2, "", this ),
0126: new Among("ions", -1, 1, "", this ),
0127: new Among("erions", 17, 2, "", this ),
0128: new Among("assions", 17, 3, "", this ),
0129: new Among("erons", -1, 2, "", this ),
0130: new Among("ants", -1, 3, "", this ),
0131: new Among("\u00E9s", -1, 2, "", this ),
0132: new Among("ait", -1, 3, "", this ),
0133: new Among("erait", 23, 2, "", this ),
0134: new Among("ant", -1, 3, "", this ),
0135: new Among("aIent", -1, 3, "", this ),
0136: new Among("eraIent", 26, 2, "", this ),
0137: new Among("\u00E8rent", -1, 2, "", this ),
0138: new Among("assent", -1, 3, "", this ),
0139: new Among("eront", -1, 2, "", this ),
0140: new Among("\u00E2t", -1, 3, "", this ),
0141: new Among("ez", -1, 2, "", this ),
0142: new Among("iez", 32, 2, "", this ),
0143: new Among("eriez", 33, 2, "", this ),
0144: new Among("assiez", 33, 3, "", this ),
0145: new Among("erez", 32, 2, "", this ),
0146: new Among("\u00E9", -1, 2, "", this ) };
0147:
0148: private Among a_6[] = { new Among("e", -1, 3, "", this ),
0149: new Among("I\u00E8re", 0, 2, "", this ),
0150: new Among("i\u00E8re", 0, 2, "", this ),
0151: new Among("ion", -1, 1, "", this ),
0152: new Among("Ier", -1, 2, "", this ),
0153: new Among("ier", -1, 2, "", this ),
0154: new Among("\u00EB", -1, 4, "", this ) };
0155:
0156: private Among a_7[] = { new Among("ell", -1, -1, "", this ),
0157: new Among("eill", -1, -1, "", this ),
0158: new Among("enn", -1, -1, "", this ),
0159: new Among("onn", -1, -1, "", this ),
0160: new Among("ett", -1, -1, "", this ) };
0161:
0162: private static final char g_v[] = { 17, 65, 16, 1, 0, 0, 0, 0, 0,
0163: 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5 };
0164:
0165: private static final char g_keep_with_s[] = { 1, 65, 20, 0, 0, 0,
0166: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128 };
0167:
0168: private int I_p2;
0169: private int I_p1;
0170: private int I_pV;
0171:
0172: private void copy_from(FrenchStemmer other) {
0173: I_p2 = other.I_p2;
0174: I_p1 = other.I_p1;
0175: I_pV = other.I_pV;
0176: super .copy_from(other);
0177: }
0178:
0179: private boolean r_prelude() {
0180: int v_1;
0181: int v_2;
0182: int v_3;
0183: int v_4;
0184: // repeat, line 38
0185: replab0: while (true) {
0186: v_1 = cursor;
0187: lab1: do {
0188: // goto, line 38
0189: golab2: while (true) {
0190: v_2 = cursor;
0191: lab3: do {
0192: // (, line 38
0193: // or, line 44
0194: lab4: do {
0195: v_3 = cursor;
0196: lab5: do {
0197: // (, line 40
0198: if (!(in_grouping(g_v, 97, 251))) {
0199: break lab5;
0200: }
0201: // [, line 40
0202: bra = cursor;
0203: // or, line 40
0204: lab6: do {
0205: v_4 = cursor;
0206: lab7: do {
0207: // (, line 40
0208: // literal, line 40
0209: if (!(eq_s(1, "u"))) {
0210: break lab7;
0211: }
0212: // ], line 40
0213: ket = cursor;
0214: if (!(in_grouping(g_v, 97, 251))) {
0215: break lab7;
0216: }
0217: // <-, line 40
0218: slice_from("U");
0219: break lab6;
0220: } while (false);
0221: cursor = v_4;
0222: lab8: do {
0223: // (, line 41
0224: // literal, line 41
0225: if (!(eq_s(1, "i"))) {
0226: break lab8;
0227: }
0228: // ], line 41
0229: ket = cursor;
0230: if (!(in_grouping(g_v, 97, 251))) {
0231: break lab8;
0232: }
0233: // <-, line 41
0234: slice_from("I");
0235: break lab6;
0236: } while (false);
0237: cursor = v_4;
0238: // (, line 42
0239: // literal, line 42
0240: if (!(eq_s(1, "y"))) {
0241: break lab5;
0242: }
0243: // ], line 42
0244: ket = cursor;
0245: // <-, line 42
0246: slice_from("Y");
0247: } while (false);
0248: break lab4;
0249: } while (false);
0250: cursor = v_3;
0251: lab9: do {
0252: // (, line 45
0253: // [, line 45
0254: bra = cursor;
0255: // literal, line 45
0256: if (!(eq_s(1, "y"))) {
0257: break lab9;
0258: }
0259: // ], line 45
0260: ket = cursor;
0261: if (!(in_grouping(g_v, 97, 251))) {
0262: break lab9;
0263: }
0264: // <-, line 45
0265: slice_from("Y");
0266: break lab4;
0267: } while (false);
0268: cursor = v_3;
0269: // (, line 47
0270: // literal, line 47
0271: if (!(eq_s(1, "q"))) {
0272: break lab3;
0273: }
0274: // [, line 47
0275: bra = cursor;
0276: // literal, line 47
0277: if (!(eq_s(1, "u"))) {
0278: break lab3;
0279: }
0280: // ], line 47
0281: ket = cursor;
0282: // <-, line 47
0283: slice_from("U");
0284: } while (false);
0285: cursor = v_2;
0286: break golab2;
0287: } while (false);
0288: cursor = v_2;
0289: if (cursor >= limit) {
0290: break lab1;
0291: }
0292: cursor++;
0293: }
0294: continue replab0;
0295: } while (false);
0296: cursor = v_1;
0297: break replab0;
0298: }
0299: return true;
0300: }
0301:
0302: private boolean r_mark_regions() {
0303: int v_1;
0304: int v_2;
0305: int v_4;
0306: // (, line 50
0307: I_pV = limit;
0308: I_p1 = limit;
0309: I_p2 = limit;
0310: // do, line 56
0311: v_1 = cursor;
0312: lab0: do {
0313: // (, line 56
0314: // or, line 57
0315: lab1: do {
0316: v_2 = cursor;
0317: lab2: do {
0318: // (, line 57
0319: if (!(in_grouping(g_v, 97, 251))) {
0320: break lab2;
0321: }
0322: if (!(in_grouping(g_v, 97, 251))) {
0323: break lab2;
0324: }
0325: // next, line 57
0326: if (cursor >= limit) {
0327: break lab2;
0328: }
0329: cursor++;
0330: break lab1;
0331: } while (false);
0332: cursor = v_2;
0333: // (, line 57
0334: // next, line 57
0335: if (cursor >= limit) {
0336: break lab0;
0337: }
0338: cursor++;
0339: // gopast, line 57
0340: golab3: while (true) {
0341: lab4: do {
0342: if (!(in_grouping(g_v, 97, 251))) {
0343: break lab4;
0344: }
0345: break golab3;
0346: } while (false);
0347: if (cursor >= limit) {
0348: break lab0;
0349: }
0350: cursor++;
0351: }
0352: } while (false);
0353: // setmark pV, line 58
0354: I_pV = cursor;
0355: } while (false);
0356: cursor = v_1;
0357: // do, line 60
0358: v_4 = cursor;
0359: lab5: do {
0360: // (, line 60
0361: // gopast, line 61
0362: golab6: while (true) {
0363: lab7: do {
0364: if (!(in_grouping(g_v, 97, 251))) {
0365: break lab7;
0366: }
0367: break golab6;
0368: } while (false);
0369: if (cursor >= limit) {
0370: break lab5;
0371: }
0372: cursor++;
0373: }
0374: // gopast, line 61
0375: golab8: while (true) {
0376: lab9: do {
0377: if (!(out_grouping(g_v, 97, 251))) {
0378: break lab9;
0379: }
0380: break golab8;
0381: } while (false);
0382: if (cursor >= limit) {
0383: break lab5;
0384: }
0385: cursor++;
0386: }
0387: // setmark p1, line 61
0388: I_p1 = cursor;
0389: // gopast, line 62
0390: golab10: while (true) {
0391: lab11: do {
0392: if (!(in_grouping(g_v, 97, 251))) {
0393: break lab11;
0394: }
0395: break golab10;
0396: } while (false);
0397: if (cursor >= limit) {
0398: break lab5;
0399: }
0400: cursor++;
0401: }
0402: // gopast, line 62
0403: golab12: while (true) {
0404: lab13: do {
0405: if (!(out_grouping(g_v, 97, 251))) {
0406: break lab13;
0407: }
0408: break golab12;
0409: } while (false);
0410: if (cursor >= limit) {
0411: break lab5;
0412: }
0413: cursor++;
0414: }
0415: // setmark p2, line 62
0416: I_p2 = cursor;
0417: } while (false);
0418: cursor = v_4;
0419: return true;
0420: }
0421:
0422: private boolean r_postlude() {
0423: int among_var;
0424: int v_1;
0425: // repeat, line 66
0426: replab0: while (true) {
0427: v_1 = cursor;
0428: lab1: do {
0429: // (, line 66
0430: // [, line 68
0431: bra = cursor;
0432: // substring, line 68
0433: among_var = find_among(a_0, 4);
0434: if (among_var == 0) {
0435: break lab1;
0436: }
0437: // ], line 68
0438: ket = cursor;
0439: switch (among_var) {
0440: case 0:
0441: break lab1;
0442: case 1:
0443: // (, line 69
0444: // <-, line 69
0445: slice_from("i");
0446: break;
0447: case 2:
0448: // (, line 70
0449: // <-, line 70
0450: slice_from("u");
0451: break;
0452: case 3:
0453: // (, line 71
0454: // <-, line 71
0455: slice_from("y");
0456: break;
0457: case 4:
0458: // (, line 72
0459: // next, line 72
0460: if (cursor >= limit) {
0461: break lab1;
0462: }
0463: cursor++;
0464: break;
0465: }
0466: continue replab0;
0467: } while (false);
0468: cursor = v_1;
0469: break replab0;
0470: }
0471: return true;
0472: }
0473:
0474: private boolean r_RV() {
0475: if (!(I_pV <= cursor)) {
0476: return false;
0477: }
0478: return true;
0479: }
0480:
0481: private boolean r_R1() {
0482: if (!(I_p1 <= cursor)) {
0483: return false;
0484: }
0485: return true;
0486: }
0487:
0488: private boolean r_R2() {
0489: if (!(I_p2 <= cursor)) {
0490: return false;
0491: }
0492: return true;
0493: }
0494:
0495: private boolean r_standard_suffix() {
0496: int among_var;
0497: int v_1;
0498: int v_2;
0499: int v_3;
0500: int v_4;
0501: int v_5;
0502: int v_6;
0503: int v_7;
0504: int v_8;
0505: int v_9;
0506: int v_10;
0507: int v_11;
0508: // (, line 82
0509: // [, line 83
0510: ket = cursor;
0511: // substring, line 83
0512: among_var = find_among_b(a_3, 43);
0513: if (among_var == 0) {
0514: return false;
0515: }
0516: // ], line 83
0517: bra = cursor;
0518: switch (among_var) {
0519: case 0:
0520: return false;
0521: case 1:
0522: // (, line 87
0523: // call R2, line 87
0524: if (!r_R2()) {
0525: return false;
0526: }
0527: // delete, line 87
0528: slice_del();
0529: break;
0530: case 2:
0531: // (, line 90
0532: // call R2, line 90
0533: if (!r_R2()) {
0534: return false;
0535: }
0536: // delete, line 90
0537: slice_del();
0538: // try, line 91
0539: v_1 = limit - cursor;
0540: lab0: do {
0541: // (, line 91
0542: // [, line 91
0543: ket = cursor;
0544: // literal, line 91
0545: if (!(eq_s_b(2, "ic"))) {
0546: cursor = limit - v_1;
0547: break lab0;
0548: }
0549: // ], line 91
0550: bra = cursor;
0551: // or, line 91
0552: lab1: do {
0553: v_2 = limit - cursor;
0554: lab2: do {
0555: // (, line 91
0556: // call R2, line 91
0557: if (!r_R2()) {
0558: break lab2;
0559: }
0560: // delete, line 91
0561: slice_del();
0562: break lab1;
0563: } while (false);
0564: cursor = limit - v_2;
0565: // <-, line 91
0566: slice_from("iqU");
0567: } while (false);
0568: } while (false);
0569: break;
0570: case 3:
0571: // (, line 95
0572: // call R2, line 95
0573: if (!r_R2()) {
0574: return false;
0575: }
0576: // <-, line 95
0577: slice_from("log");
0578: break;
0579: case 4:
0580: // (, line 98
0581: // call R2, line 98
0582: if (!r_R2()) {
0583: return false;
0584: }
0585: // <-, line 98
0586: slice_from("u");
0587: break;
0588: case 5:
0589: // (, line 101
0590: // call R2, line 101
0591: if (!r_R2()) {
0592: return false;
0593: }
0594: // <-, line 101
0595: slice_from("ent");
0596: break;
0597: case 6:
0598: // (, line 104
0599: // call RV, line 105
0600: if (!r_RV()) {
0601: return false;
0602: }
0603: // delete, line 105
0604: slice_del();
0605: // try, line 106
0606: v_3 = limit - cursor;
0607: lab3: do {
0608: // (, line 106
0609: // [, line 107
0610: ket = cursor;
0611: // substring, line 107
0612: among_var = find_among_b(a_1, 6);
0613: if (among_var == 0) {
0614: cursor = limit - v_3;
0615: break lab3;
0616: }
0617: // ], line 107
0618: bra = cursor;
0619: switch (among_var) {
0620: case 0:
0621: cursor = limit - v_3;
0622: break lab3;
0623: case 1:
0624: // (, line 108
0625: // call R2, line 108
0626: if (!r_R2()) {
0627: cursor = limit - v_3;
0628: break lab3;
0629: }
0630: // delete, line 108
0631: slice_del();
0632: // [, line 108
0633: ket = cursor;
0634: // literal, line 108
0635: if (!(eq_s_b(2, "at"))) {
0636: cursor = limit - v_3;
0637: break lab3;
0638: }
0639: // ], line 108
0640: bra = cursor;
0641: // call R2, line 108
0642: if (!r_R2()) {
0643: cursor = limit - v_3;
0644: break lab3;
0645: }
0646: // delete, line 108
0647: slice_del();
0648: break;
0649: case 2:
0650: // (, line 109
0651: // or, line 109
0652: lab4: do {
0653: v_4 = limit - cursor;
0654: lab5: do {
0655: // (, line 109
0656: // call R2, line 109
0657: if (!r_R2()) {
0658: break lab5;
0659: }
0660: // delete, line 109
0661: slice_del();
0662: break lab4;
0663: } while (false);
0664: cursor = limit - v_4;
0665: // (, line 109
0666: // call R1, line 109
0667: if (!r_R1()) {
0668: cursor = limit - v_3;
0669: break lab3;
0670: }
0671: // <-, line 109
0672: slice_from("eux");
0673: } while (false);
0674: break;
0675: case 3:
0676: // (, line 111
0677: // call R2, line 111
0678: if (!r_R2()) {
0679: cursor = limit - v_3;
0680: break lab3;
0681: }
0682: // delete, line 111
0683: slice_del();
0684: break;
0685: case 4:
0686: // (, line 113
0687: // call RV, line 113
0688: if (!r_RV()) {
0689: cursor = limit - v_3;
0690: break lab3;
0691: }
0692: // <-, line 113
0693: slice_from("i");
0694: break;
0695: }
0696: } while (false);
0697: break;
0698: case 7:
0699: // (, line 119
0700: // call R2, line 120
0701: if (!r_R2()) {
0702: return false;
0703: }
0704: // delete, line 120
0705: slice_del();
0706: // try, line 121
0707: v_5 = limit - cursor;
0708: lab6: do {
0709: // (, line 121
0710: // [, line 122
0711: ket = cursor;
0712: // substring, line 122
0713: among_var = find_among_b(a_2, 3);
0714: if (among_var == 0) {
0715: cursor = limit - v_5;
0716: break lab6;
0717: }
0718: // ], line 122
0719: bra = cursor;
0720: switch (among_var) {
0721: case 0:
0722: cursor = limit - v_5;
0723: break lab6;
0724: case 1:
0725: // (, line 123
0726: // or, line 123
0727: lab7: do {
0728: v_6 = limit - cursor;
0729: lab8: do {
0730: // (, line 123
0731: // call R2, line 123
0732: if (!r_R2()) {
0733: break lab8;
0734: }
0735: // delete, line 123
0736: slice_del();
0737: break lab7;
0738: } while (false);
0739: cursor = limit - v_6;
0740: // <-, line 123
0741: slice_from("abl");
0742: } while (false);
0743: break;
0744: case 2:
0745: // (, line 124
0746: // or, line 124
0747: lab9: do {
0748: v_7 = limit - cursor;
0749: lab10: do {
0750: // (, line 124
0751: // call R2, line 124
0752: if (!r_R2()) {
0753: break lab10;
0754: }
0755: // delete, line 124
0756: slice_del();
0757: break lab9;
0758: } while (false);
0759: cursor = limit - v_7;
0760: // <-, line 124
0761: slice_from("iqU");
0762: } while (false);
0763: break;
0764: case 3:
0765: // (, line 125
0766: // call R2, line 125
0767: if (!r_R2()) {
0768: cursor = limit - v_5;
0769: break lab6;
0770: }
0771: // delete, line 125
0772: slice_del();
0773: break;
0774: }
0775: } while (false);
0776: break;
0777: case 8:
0778: // (, line 131
0779: // call R2, line 132
0780: if (!r_R2()) {
0781: return false;
0782: }
0783: // delete, line 132
0784: slice_del();
0785: // try, line 133
0786: v_8 = limit - cursor;
0787: lab11: do {
0788: // (, line 133
0789: // [, line 133
0790: ket = cursor;
0791: // literal, line 133
0792: if (!(eq_s_b(2, "at"))) {
0793: cursor = limit - v_8;
0794: break lab11;
0795: }
0796: // ], line 133
0797: bra = cursor;
0798: // call R2, line 133
0799: if (!r_R2()) {
0800: cursor = limit - v_8;
0801: break lab11;
0802: }
0803: // delete, line 133
0804: slice_del();
0805: // [, line 133
0806: ket = cursor;
0807: // literal, line 133
0808: if (!(eq_s_b(2, "ic"))) {
0809: cursor = limit - v_8;
0810: break lab11;
0811: }
0812: // ], line 133
0813: bra = cursor;
0814: // or, line 133
0815: lab12: do {
0816: v_9 = limit - cursor;
0817: lab13: do {
0818: // (, line 133
0819: // call R2, line 133
0820: if (!r_R2()) {
0821: break lab13;
0822: }
0823: // delete, line 133
0824: slice_del();
0825: break lab12;
0826: } while (false);
0827: cursor = limit - v_9;
0828: // <-, line 133
0829: slice_from("iqU");
0830: } while (false);
0831: } while (false);
0832: break;
0833: case 9:
0834: // (, line 135
0835: // <-, line 135
0836: slice_from("eau");
0837: break;
0838: case 10:
0839: // (, line 136
0840: // call R1, line 136
0841: if (!r_R1()) {
0842: return false;
0843: }
0844: // <-, line 136
0845: slice_from("al");
0846: break;
0847: case 11:
0848: // (, line 138
0849: // or, line 138
0850: lab14: do {
0851: v_10 = limit - cursor;
0852: lab15: do {
0853: // (, line 138
0854: // call R2, line 138
0855: if (!r_R2()) {
0856: break lab15;
0857: }
0858: // delete, line 138
0859: slice_del();
0860: break lab14;
0861: } while (false);
0862: cursor = limit - v_10;
0863: // (, line 138
0864: // call R1, line 138
0865: if (!r_R1()) {
0866: return false;
0867: }
0868: // <-, line 138
0869: slice_from("eux");
0870: } while (false);
0871: break;
0872: case 12:
0873: // (, line 141
0874: // call R1, line 141
0875: if (!r_R1()) {
0876: return false;
0877: }
0878: if (!(out_grouping_b(g_v, 97, 251))) {
0879: return false;
0880: }
0881: // delete, line 141
0882: slice_del();
0883: break;
0884: case 13:
0885: // (, line 146
0886: // call RV, line 146
0887: if (!r_RV()) {
0888: return false;
0889: }
0890: // fail, line 146
0891: // (, line 146
0892: // <-, line 146
0893: slice_from("ant");
0894: return false;
0895: case 14:
0896: // (, line 147
0897: // call RV, line 147
0898: if (!r_RV()) {
0899: return false;
0900: }
0901: // fail, line 147
0902: // (, line 147
0903: // <-, line 147
0904: slice_from("ent");
0905: return false;
0906: case 15:
0907: // (, line 149
0908: // test, line 149
0909: v_11 = limit - cursor;
0910: // (, line 149
0911: if (!(in_grouping_b(g_v, 97, 251))) {
0912: return false;
0913: }
0914: // call RV, line 149
0915: if (!r_RV()) {
0916: return false;
0917: }
0918: cursor = limit - v_11;
0919: // fail, line 149
0920: // (, line 149
0921: // delete, line 149
0922: slice_del();
0923: return false;
0924: }
0925: return true;
0926: }
0927:
0928: private boolean r_i_verb_suffix() {
0929: int among_var;
0930: int v_1;
0931: int v_2;
0932: // setlimit, line 154
0933: v_1 = limit - cursor;
0934: // tomark, line 154
0935: if (cursor < I_pV) {
0936: return false;
0937: }
0938: cursor = I_pV;
0939: v_2 = limit_backward;
0940: limit_backward = cursor;
0941: cursor = limit - v_1;
0942: // (, line 154
0943: // [, line 155
0944: ket = cursor;
0945: // substring, line 155
0946: among_var = find_among_b(a_4, 35);
0947: if (among_var == 0) {
0948: limit_backward = v_2;
0949: return false;
0950: }
0951: // ], line 155
0952: bra = cursor;
0953: switch (among_var) {
0954: case 0:
0955: limit_backward = v_2;
0956: return false;
0957: case 1:
0958: // (, line 161
0959: if (!(out_grouping_b(g_v, 97, 251))) {
0960: limit_backward = v_2;
0961: return false;
0962: }
0963: // delete, line 161
0964: slice_del();
0965: break;
0966: }
0967: limit_backward = v_2;
0968: return true;
0969: }
0970:
0971: private boolean r_verb_suffix() {
0972: int among_var;
0973: int v_1;
0974: int v_2;
0975: int v_3;
0976: // setlimit, line 165
0977: v_1 = limit - cursor;
0978: // tomark, line 165
0979: if (cursor < I_pV) {
0980: return false;
0981: }
0982: cursor = I_pV;
0983: v_2 = limit_backward;
0984: limit_backward = cursor;
0985: cursor = limit - v_1;
0986: // (, line 165
0987: // [, line 166
0988: ket = cursor;
0989: // substring, line 166
0990: among_var = find_among_b(a_5, 38);
0991: if (among_var == 0) {
0992: limit_backward = v_2;
0993: return false;
0994: }
0995: // ], line 166
0996: bra = cursor;
0997: switch (among_var) {
0998: case 0:
0999: limit_backward = v_2;
1000: return false;
1001: case 1:
1002: // (, line 168
1003: // call R2, line 168
1004: if (!r_R2()) {
1005: limit_backward = v_2;
1006: return false;
1007: }
1008: // delete, line 168
1009: slice_del();
1010: break;
1011: case 2:
1012: // (, line 176
1013: // delete, line 176
1014: slice_del();
1015: break;
1016: case 3:
1017: // (, line 181
1018: // delete, line 181
1019: slice_del();
1020: // try, line 182
1021: v_3 = limit - cursor;
1022: lab0: do {
1023: // (, line 182
1024: // [, line 182
1025: ket = cursor;
1026: // literal, line 182
1027: if (!(eq_s_b(1, "e"))) {
1028: cursor = limit - v_3;
1029: break lab0;
1030: }
1031: // ], line 182
1032: bra = cursor;
1033: // delete, line 182
1034: slice_del();
1035: } while (false);
1036: break;
1037: }
1038: limit_backward = v_2;
1039: return true;
1040: }
1041:
1042: private boolean r_residual_suffix() {
1043: int among_var;
1044: int v_1;
1045: int v_2;
1046: int v_3;
1047: int v_4;
1048: int v_5;
1049: // (, line 189
1050: // try, line 190
1051: v_1 = limit - cursor;
1052: lab0: do {
1053: // (, line 190
1054: // [, line 190
1055: ket = cursor;
1056: // literal, line 190
1057: if (!(eq_s_b(1, "s"))) {
1058: cursor = limit - v_1;
1059: break lab0;
1060: }
1061: // ], line 190
1062: bra = cursor;
1063: // test, line 190
1064: v_2 = limit - cursor;
1065: if (!(out_grouping_b(g_keep_with_s, 97, 232))) {
1066: cursor = limit - v_1;
1067: break lab0;
1068: }
1069: cursor = limit - v_2;
1070: // delete, line 190
1071: slice_del();
1072: } while (false);
1073: // setlimit, line 191
1074: v_3 = limit - cursor;
1075: // tomark, line 191
1076: if (cursor < I_pV) {
1077: return false;
1078: }
1079: cursor = I_pV;
1080: v_4 = limit_backward;
1081: limit_backward = cursor;
1082: cursor = limit - v_3;
1083: // (, line 191
1084: // [, line 192
1085: ket = cursor;
1086: // substring, line 192
1087: among_var = find_among_b(a_6, 7);
1088: if (among_var == 0) {
1089: limit_backward = v_4;
1090: return false;
1091: }
1092: // ], line 192
1093: bra = cursor;
1094: switch (among_var) {
1095: case 0:
1096: limit_backward = v_4;
1097: return false;
1098: case 1:
1099: // (, line 193
1100: // call R2, line 193
1101: if (!r_R2()) {
1102: limit_backward = v_4;
1103: return false;
1104: }
1105: // or, line 193
1106: lab1: do {
1107: v_5 = limit - cursor;
1108: lab2: do {
1109: // literal, line 193
1110: if (!(eq_s_b(1, "s"))) {
1111: break lab2;
1112: }
1113: break lab1;
1114: } while (false);
1115: cursor = limit - v_5;
1116: // literal, line 193
1117: if (!(eq_s_b(1, "t"))) {
1118: limit_backward = v_4;
1119: return false;
1120: }
1121: } while (false);
1122: // delete, line 193
1123: slice_del();
1124: break;
1125: case 2:
1126: // (, line 195
1127: // <-, line 195
1128: slice_from("i");
1129: break;
1130: case 3:
1131: // (, line 196
1132: // delete, line 196
1133: slice_del();
1134: break;
1135: case 4:
1136: // (, line 197
1137: // literal, line 197
1138: if (!(eq_s_b(2, "gu"))) {
1139: limit_backward = v_4;
1140: return false;
1141: }
1142: // delete, line 197
1143: slice_del();
1144: break;
1145: }
1146: limit_backward = v_4;
1147: return true;
1148: }
1149:
1150: private boolean r_un_double() {
1151: int v_1;
1152: // (, line 202
1153: // test, line 203
1154: v_1 = limit - cursor;
1155: // among, line 203
1156: if (find_among_b(a_7, 5) == 0) {
1157: return false;
1158: }
1159: cursor = limit - v_1;
1160: // [, line 203
1161: ket = cursor;
1162: // next, line 203
1163: if (cursor <= limit_backward) {
1164: return false;
1165: }
1166: cursor--;
1167: // ], line 203
1168: bra = cursor;
1169: // delete, line 203
1170: slice_del();
1171: return true;
1172: }
1173:
1174: private boolean r_un_accent() {
1175: int v_3;
1176: // (, line 206
1177: // atleast, line 207
1178: {
1179: int v_1 = 1;
1180: // atleast, line 207
1181: replab0: while (true) {
1182: lab1: do {
1183: if (!(out_grouping_b(g_v, 97, 251))) {
1184: break lab1;
1185: }
1186: v_1--;
1187: continue replab0;
1188: } while (false);
1189: break replab0;
1190: }
1191: if (v_1 > 0) {
1192: return false;
1193: }
1194: }
1195: // [, line 208
1196: ket = cursor;
1197: // or, line 208
1198: lab2: do {
1199: v_3 = limit - cursor;
1200: lab3: do {
1201: // literal, line 208
1202: if (!(eq_s_b(1, "\u00E9"))) {
1203: break lab3;
1204: }
1205: break lab2;
1206: } while (false);
1207: cursor = limit - v_3;
1208: // literal, line 208
1209: if (!(eq_s_b(1, "\u00E8"))) {
1210: return false;
1211: }
1212: } while (false);
1213: // ], line 208
1214: bra = cursor;
1215: // <-, line 208
1216: slice_from("e");
1217: return true;
1218: }
1219:
1220: public boolean stem() {
1221: int v_1;
1222: int v_2;
1223: int v_3;
1224: int v_4;
1225: int v_5;
1226: int v_6;
1227: int v_7;
1228: int v_8;
1229: int v_9;
1230: int v_10;
1231: int v_11;
1232: // (, line 212
1233: // do, line 214
1234: v_1 = cursor;
1235: lab0: do {
1236: // call prelude, line 214
1237: if (!r_prelude()) {
1238: break lab0;
1239: }
1240: } while (false);
1241: cursor = v_1;
1242: // do, line 215
1243: v_2 = cursor;
1244: lab1: do {
1245: // call mark_regions, line 215
1246: if (!r_mark_regions()) {
1247: break lab1;
1248: }
1249: } while (false);
1250: cursor = v_2;
1251: // backwards, line 216
1252: limit_backward = cursor;
1253: cursor = limit;
1254: // (, line 216
1255: // do, line 218
1256: v_3 = limit - cursor;
1257: lab2: do {
1258: // (, line 218
1259: // or, line 228
1260: lab3: do {
1261: v_4 = limit - cursor;
1262: lab4: do {
1263: // (, line 219
1264: // and, line 224
1265: v_5 = limit - cursor;
1266: // (, line 220
1267: // or, line 220
1268: lab5: do {
1269: v_6 = limit - cursor;
1270: lab6: do {
1271: // call standard_suffix, line 220
1272: if (!r_standard_suffix()) {
1273: break lab6;
1274: }
1275: break lab5;
1276: } while (false);
1277: cursor = limit - v_6;
1278: lab7: do {
1279: // call i_verb_suffix, line 221
1280: if (!r_i_verb_suffix()) {
1281: break lab7;
1282: }
1283: break lab5;
1284: } while (false);
1285: cursor = limit - v_6;
1286: // call verb_suffix, line 222
1287: if (!r_verb_suffix()) {
1288: break lab4;
1289: }
1290: } while (false);
1291: cursor = limit - v_5;
1292: // try, line 225
1293: v_7 = limit - cursor;
1294: lab8: do {
1295: // (, line 225
1296: // [, line 225
1297: ket = cursor;
1298: // or, line 225
1299: lab9: do {
1300: v_8 = limit - cursor;
1301: lab10: do {
1302: // (, line 225
1303: // literal, line 225
1304: if (!(eq_s_b(1, "Y"))) {
1305: break lab10;
1306: }
1307: // ], line 225
1308: bra = cursor;
1309: // <-, line 225
1310: slice_from("i");
1311: break lab9;
1312: } while (false);
1313: cursor = limit - v_8;
1314: // (, line 226
1315: // literal, line 226
1316: if (!(eq_s_b(1, "\u00E7"))) {
1317: cursor = limit - v_7;
1318: break lab8;
1319: }
1320: // ], line 226
1321: bra = cursor;
1322: // <-, line 226
1323: slice_from("c");
1324: } while (false);
1325: } while (false);
1326: break lab3;
1327: } while (false);
1328: cursor = limit - v_4;
1329: // call residual_suffix, line 229
1330: if (!r_residual_suffix()) {
1331: break lab2;
1332: }
1333: } while (false);
1334: } while (false);
1335: cursor = limit - v_3;
1336: // do, line 234
1337: v_9 = limit - cursor;
1338: lab11: do {
1339: // call un_double, line 234
1340: if (!r_un_double()) {
1341: break lab11;
1342: }
1343: } while (false);
1344: cursor = limit - v_9;
1345: // do, line 235
1346: v_10 = limit - cursor;
1347: lab12: do {
1348: // call un_accent, line 235
1349: if (!r_un_accent()) {
1350: break lab12;
1351: }
1352: } while (false);
1353: cursor = limit - v_10;
1354: cursor = limit_backward; // do, line 237
1355: v_11 = cursor;
1356: lab13: do {
1357: // call postlude, line 237
1358: if (!r_postlude()) {
1359: break lab13;
1360: }
1361: } while (false);
1362: cursor = v_11;
1363: return true;
1364: }
1365:
1366: }
|