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 EnglishStemmer extends SnowballProgram {
0012:
0013: private Among a_0[] = { new Among("gener", -1, -1, "", this ) };
0014:
0015: private Among a_1[] = { new Among("ied", -1, 2, "", this ),
0016: new Among("s", -1, 3, "", this ),
0017: new Among("ies", 1, 2, "", this ),
0018: new Among("sses", 1, 1, "", this ),
0019: new Among("ss", 1, -1, "", this ),
0020: new Among("us", 1, -1, "", this ) };
0021:
0022: private Among a_2[] = { new Among("", -1, 3, "", this ),
0023: new Among("bb", 0, 2, "", this ),
0024: new Among("dd", 0, 2, "", this ),
0025: new Among("ff", 0, 2, "", this ),
0026: new Among("gg", 0, 2, "", this ),
0027: new Among("bl", 0, 1, "", this ),
0028: new Among("mm", 0, 2, "", this ),
0029: new Among("nn", 0, 2, "", this ),
0030: new Among("pp", 0, 2, "", this ),
0031: new Among("rr", 0, 2, "", this ),
0032: new Among("at", 0, 1, "", this ),
0033: new Among("tt", 0, 2, "", this ),
0034: new Among("iz", 0, 1, "", this ) };
0035:
0036: private Among a_3[] = { new Among("ed", -1, 2, "", this ),
0037: new Among("eed", 0, 1, "", this ),
0038: new Among("ing", -1, 2, "", this ),
0039: new Among("edly", -1, 2, "", this ),
0040: new Among("eedly", 3, 1, "", this ),
0041: new Among("ingly", -1, 2, "", this ) };
0042:
0043: private Among a_4[] = { new Among("anci", -1, 3, "", this ),
0044: new Among("enci", -1, 2, "", this ),
0045: new Among("ogi", -1, 13, "", this ),
0046: new Among("li", -1, 16, "", this ),
0047: new Among("bli", 3, 12, "", this ),
0048: new Among("abli", 4, 4, "", this ),
0049: new Among("alli", 3, 8, "", this ),
0050: new Among("fulli", 3, 14, "", this ),
0051: new Among("lessli", 3, 15, "", this ),
0052: new Among("ousli", 3, 10, "", this ),
0053: new Among("entli", 3, 5, "", this ),
0054: new Among("aliti", -1, 8, "", this ),
0055: new Among("biliti", -1, 12, "", this ),
0056: new Among("iviti", -1, 11, "", this ),
0057: new Among("tional", -1, 1, "", this ),
0058: new Among("ational", 14, 7, "", this ),
0059: new Among("alism", -1, 8, "", this ),
0060: new Among("ation", -1, 7, "", this ),
0061: new Among("ization", 17, 6, "", this ),
0062: new Among("izer", -1, 6, "", this ),
0063: new Among("ator", -1, 7, "", this ),
0064: new Among("iveness", -1, 11, "", this ),
0065: new Among("fulness", -1, 9, "", this ),
0066: new Among("ousness", -1, 10, "", this ) };
0067:
0068: private Among a_5[] = { new Among("icate", -1, 4, "", this ),
0069: new Among("ative", -1, 6, "", this ),
0070: new Among("alize", -1, 3, "", this ),
0071: new Among("iciti", -1, 4, "", this ),
0072: new Among("ical", -1, 4, "", this ),
0073: new Among("tional", -1, 1, "", this ),
0074: new Among("ational", 5, 2, "", this ),
0075: new Among("ful", -1, 5, "", this ),
0076: new Among("ness", -1, 5, "", this ) };
0077:
0078: private Among a_6[] = { new Among("ic", -1, 1, "", this ),
0079: new Among("ance", -1, 1, "", this ),
0080: new Among("ence", -1, 1, "", this ),
0081: new Among("able", -1, 1, "", this ),
0082: new Among("ible", -1, 1, "", this ),
0083: new Among("ate", -1, 1, "", this ),
0084: new Among("ive", -1, 1, "", this ),
0085: new Among("ize", -1, 1, "", this ),
0086: new Among("iti", -1, 1, "", this ),
0087: new Among("al", -1, 1, "", this ),
0088: new Among("ism", -1, 1, "", this ),
0089: new Among("ion", -1, 2, "", this ),
0090: new Among("er", -1, 1, "", this ),
0091: new Among("ous", -1, 1, "", this ),
0092: new Among("ant", -1, 1, "", this ),
0093: new Among("ent", -1, 1, "", this ),
0094: new Among("ment", 15, 1, "", this ),
0095: new Among("ement", 16, 1, "", this ) };
0096:
0097: private Among a_7[] = { new Among("e", -1, 1, "", this ),
0098: new Among("l", -1, 2, "", this ) };
0099:
0100: private Among a_8[] = { new Among("succeed", -1, -1, "", this ),
0101: new Among("proceed", -1, -1, "", this ),
0102: new Among("exceed", -1, -1, "", this ),
0103: new Among("canning", -1, -1, "", this ),
0104: new Among("inning", -1, -1, "", this ),
0105: new Among("earring", -1, -1, "", this ),
0106: new Among("herring", -1, -1, "", this ),
0107: new Among("outing", -1, -1, "", this ) };
0108:
0109: private Among a_9[] = { new Among("andes", -1, -1, "", this ),
0110: new Among("atlas", -1, -1, "", this ),
0111: new Among("bias", -1, -1, "", this ),
0112: new Among("cosmos", -1, -1, "", this ),
0113: new Among("dying", -1, 3, "", this ),
0114: new Among("early", -1, 9, "", this ),
0115: new Among("gently", -1, 7, "", this ),
0116: new Among("howe", -1, -1, "", this ),
0117: new Among("idly", -1, 6, "", this ),
0118: new Among("lying", -1, 4, "", this ),
0119: new Among("news", -1, -1, "", this ),
0120: new Among("only", -1, 10, "", this ),
0121: new Among("singly", -1, 11, "", this ),
0122: new Among("skies", -1, 2, "", this ),
0123: new Among("skis", -1, 1, "", this ),
0124: new Among("sky", -1, -1, "", this ),
0125: new Among("tying", -1, 5, "", this ),
0126: new Among("ugly", -1, 8, "", this ) };
0127:
0128: private static final char g_v[] = { 17, 65, 16, 1 };
0129:
0130: private static final char g_v_WXY[] = { 1, 17, 65, 208, 1 };
0131:
0132: private static final char g_valid_LI[] = { 55, 141, 2 };
0133:
0134: private boolean B_Y_found;
0135: private int I_p2;
0136: private int I_p1;
0137:
0138: private void copy_from(EnglishStemmer other) {
0139: B_Y_found = other.B_Y_found;
0140: I_p2 = other.I_p2;
0141: I_p1 = other.I_p1;
0142: super .copy_from(other);
0143: }
0144:
0145: private boolean r_prelude() {
0146: int v_1;
0147: int v_2;
0148: int v_3;
0149: int v_4;
0150: // (, line 23
0151: // unset Y_found, line 24
0152: B_Y_found = false;
0153: // do, line 25
0154: v_1 = cursor;
0155: lab0: do {
0156: // (, line 25
0157: // [, line 25
0158: bra = cursor;
0159: // literal, line 25
0160: if (!(eq_s(1, "y"))) {
0161: break lab0;
0162: }
0163: // ], line 25
0164: ket = cursor;
0165: if (!(in_grouping(g_v, 97, 121))) {
0166: break lab0;
0167: }
0168: // <-, line 25
0169: slice_from("Y");
0170: // set Y_found, line 25
0171: B_Y_found = true;
0172: } while (false);
0173: cursor = v_1;
0174: // do, line 26
0175: v_2 = cursor;
0176: lab1: do {
0177: // repeat, line 26
0178: replab2: while (true) {
0179: v_3 = cursor;
0180: lab3: do {
0181: // (, line 26
0182: // goto, line 26
0183: golab4: while (true) {
0184: v_4 = cursor;
0185: lab5: do {
0186: // (, line 26
0187: if (!(in_grouping(g_v, 97, 121))) {
0188: break lab5;
0189: }
0190: // [, line 26
0191: bra = cursor;
0192: // literal, line 26
0193: if (!(eq_s(1, "y"))) {
0194: break lab5;
0195: }
0196: // ], line 26
0197: ket = cursor;
0198: cursor = v_4;
0199: break golab4;
0200: } while (false);
0201: cursor = v_4;
0202: if (cursor >= limit) {
0203: break lab3;
0204: }
0205: cursor++;
0206: }
0207: // <-, line 26
0208: slice_from("Y");
0209: // set Y_found, line 26
0210: B_Y_found = true;
0211: continue replab2;
0212: } while (false);
0213: cursor = v_3;
0214: break replab2;
0215: }
0216: } while (false);
0217: cursor = v_2;
0218: return true;
0219: }
0220:
0221: private boolean r_mark_regions() {
0222: int v_1;
0223: int v_2;
0224: // (, line 29
0225: I_p1 = limit;
0226: I_p2 = limit;
0227: // do, line 32
0228: v_1 = cursor;
0229: lab0: do {
0230: // (, line 32
0231: // or, line 36
0232: lab1: do {
0233: v_2 = cursor;
0234: lab2: do {
0235: // among, line 33
0236: if (find_among(a_0, 1) == 0) {
0237: break lab2;
0238: }
0239: break lab1;
0240: } while (false);
0241: cursor = v_2;
0242: // (, line 36
0243: // gopast, line 36
0244: golab3: while (true) {
0245: lab4: do {
0246: if (!(in_grouping(g_v, 97, 121))) {
0247: break lab4;
0248: }
0249: break golab3;
0250: } while (false);
0251: if (cursor >= limit) {
0252: break lab0;
0253: }
0254: cursor++;
0255: }
0256: // gopast, line 36
0257: golab5: while (true) {
0258: lab6: do {
0259: if (!(out_grouping(g_v, 97, 121))) {
0260: break lab6;
0261: }
0262: break golab5;
0263: } while (false);
0264: if (cursor >= limit) {
0265: break lab0;
0266: }
0267: cursor++;
0268: }
0269: } while (false);
0270: // setmark p1, line 37
0271: I_p1 = cursor;
0272: // gopast, line 38
0273: golab7: while (true) {
0274: lab8: do {
0275: if (!(in_grouping(g_v, 97, 121))) {
0276: break lab8;
0277: }
0278: break golab7;
0279: } while (false);
0280: if (cursor >= limit) {
0281: break lab0;
0282: }
0283: cursor++;
0284: }
0285: // gopast, line 38
0286: golab9: while (true) {
0287: lab10: do {
0288: if (!(out_grouping(g_v, 97, 121))) {
0289: break lab10;
0290: }
0291: break golab9;
0292: } while (false);
0293: if (cursor >= limit) {
0294: break lab0;
0295: }
0296: cursor++;
0297: }
0298: // setmark p2, line 38
0299: I_p2 = cursor;
0300: } while (false);
0301: cursor = v_1;
0302: return true;
0303: }
0304:
0305: private boolean r_shortv() {
0306: int v_1;
0307: // (, line 44
0308: // or, line 46
0309: lab0: do {
0310: v_1 = limit - cursor;
0311: lab1: do {
0312: // (, line 45
0313: if (!(out_grouping_b(g_v_WXY, 89, 121))) {
0314: break lab1;
0315: }
0316: if (!(in_grouping_b(g_v, 97, 121))) {
0317: break lab1;
0318: }
0319: if (!(out_grouping_b(g_v, 97, 121))) {
0320: break lab1;
0321: }
0322: break lab0;
0323: } while (false);
0324: cursor = limit - v_1;
0325: // (, line 47
0326: if (!(out_grouping_b(g_v, 97, 121))) {
0327: return false;
0328: }
0329: if (!(in_grouping_b(g_v, 97, 121))) {
0330: return false;
0331: }
0332: // atlimit, line 47
0333: if (cursor > limit_backward) {
0334: return false;
0335: }
0336: } while (false);
0337: return true;
0338: }
0339:
0340: private boolean r_R1() {
0341: if (!(I_p1 <= cursor)) {
0342: return false;
0343: }
0344: return true;
0345: }
0346:
0347: private boolean r_R2() {
0348: if (!(I_p2 <= cursor)) {
0349: return false;
0350: }
0351: return true;
0352: }
0353:
0354: private boolean r_Step_1a() {
0355: int among_var;
0356: int v_1;
0357: // (, line 53
0358: // [, line 54
0359: ket = cursor;
0360: // substring, line 54
0361: among_var = find_among_b(a_1, 6);
0362: if (among_var == 0) {
0363: return false;
0364: }
0365: // ], line 54
0366: bra = cursor;
0367: switch (among_var) {
0368: case 0:
0369: return false;
0370: case 1:
0371: // (, line 55
0372: // <-, line 55
0373: slice_from("ss");
0374: break;
0375: case 2:
0376: // (, line 57
0377: // or, line 57
0378: lab0: do {
0379: v_1 = limit - cursor;
0380: lab1: do {
0381: // (, line 57
0382: // next, line 57
0383: if (cursor <= limit_backward) {
0384: break lab1;
0385: }
0386: cursor--;
0387: // atlimit, line 57
0388: if (cursor > limit_backward) {
0389: break lab1;
0390: }
0391: // <-, line 57
0392: slice_from("ie");
0393: break lab0;
0394: } while (false);
0395: cursor = limit - v_1;
0396: // <-, line 57
0397: slice_from("i");
0398: } while (false);
0399: break;
0400: case 3:
0401: // (, line 58
0402: // next, line 58
0403: if (cursor <= limit_backward) {
0404: return false;
0405: }
0406: cursor--;
0407: // gopast, line 58
0408: golab2: while (true) {
0409: lab3: do {
0410: if (!(in_grouping_b(g_v, 97, 121))) {
0411: break lab3;
0412: }
0413: break golab2;
0414: } while (false);
0415: if (cursor <= limit_backward) {
0416: return false;
0417: }
0418: cursor--;
0419: }
0420: // delete, line 58
0421: slice_del();
0422: break;
0423: }
0424: return true;
0425: }
0426:
0427: private boolean r_Step_1b() {
0428: int among_var;
0429: int v_1;
0430: int v_3;
0431: int v_4;
0432: // (, line 63
0433: // [, line 64
0434: ket = cursor;
0435: // substring, line 64
0436: among_var = find_among_b(a_3, 6);
0437: if (among_var == 0) {
0438: return false;
0439: }
0440: // ], line 64
0441: bra = cursor;
0442: switch (among_var) {
0443: case 0:
0444: return false;
0445: case 1:
0446: // (, line 66
0447: // call R1, line 66
0448: if (!r_R1()) {
0449: return false;
0450: }
0451: // <-, line 66
0452: slice_from("ee");
0453: break;
0454: case 2:
0455: // (, line 68
0456: // test, line 69
0457: v_1 = limit - cursor;
0458: // gopast, line 69
0459: golab0: while (true) {
0460: lab1: do {
0461: if (!(in_grouping_b(g_v, 97, 121))) {
0462: break lab1;
0463: }
0464: break golab0;
0465: } while (false);
0466: if (cursor <= limit_backward) {
0467: return false;
0468: }
0469: cursor--;
0470: }
0471: cursor = limit - v_1;
0472: // delete, line 69
0473: slice_del();
0474: // test, line 70
0475: v_3 = limit - cursor;
0476: // substring, line 70
0477: among_var = find_among_b(a_2, 13);
0478: if (among_var == 0) {
0479: return false;
0480: }
0481: cursor = limit - v_3;
0482: switch (among_var) {
0483: case 0:
0484: return false;
0485: case 1:
0486: // (, line 72
0487: // <+, line 72
0488: {
0489: int c = cursor;
0490: insert(cursor, cursor, "e");
0491: cursor = c;
0492: }
0493: break;
0494: case 2:
0495: // (, line 75
0496: // [, line 75
0497: ket = cursor;
0498: // next, line 75
0499: if (cursor <= limit_backward) {
0500: return false;
0501: }
0502: cursor--;
0503: // ], line 75
0504: bra = cursor;
0505: // delete, line 75
0506: slice_del();
0507: break;
0508: case 3:
0509: // (, line 76
0510: // atmark, line 76
0511: if (cursor != I_p1) {
0512: return false;
0513: }
0514: // test, line 76
0515: v_4 = limit - cursor;
0516: // call shortv, line 76
0517: if (!r_shortv()) {
0518: return false;
0519: }
0520: cursor = limit - v_4;
0521: // <+, line 76
0522: {
0523: int c = cursor;
0524: insert(cursor, cursor, "e");
0525: cursor = c;
0526: }
0527: break;
0528: }
0529: break;
0530: }
0531: return true;
0532: }
0533:
0534: private boolean r_Step_1c() {
0535: int v_1;
0536: int v_2;
0537: // (, line 82
0538: // [, line 83
0539: ket = cursor;
0540: // or, line 83
0541: lab0: do {
0542: v_1 = limit - cursor;
0543: lab1: do {
0544: // literal, line 83
0545: if (!(eq_s_b(1, "y"))) {
0546: break lab1;
0547: }
0548: break lab0;
0549: } while (false);
0550: cursor = limit - v_1;
0551: // literal, line 83
0552: if (!(eq_s_b(1, "Y"))) {
0553: return false;
0554: }
0555: } while (false);
0556: // ], line 83
0557: bra = cursor;
0558: if (!(out_grouping_b(g_v, 97, 121))) {
0559: return false;
0560: }
0561: // not, line 84
0562: {
0563: v_2 = limit - cursor;
0564: lab2: do {
0565: // atlimit, line 84
0566: if (cursor > limit_backward) {
0567: break lab2;
0568: }
0569: return false;
0570: } while (false);
0571: cursor = limit - v_2;
0572: }
0573: // <-, line 85
0574: slice_from("i");
0575: return true;
0576: }
0577:
0578: private boolean r_Step_2() {
0579: int among_var;
0580: // (, line 88
0581: // [, line 89
0582: ket = cursor;
0583: // substring, line 89
0584: among_var = find_among_b(a_4, 24);
0585: if (among_var == 0) {
0586: return false;
0587: }
0588: // ], line 89
0589: bra = cursor;
0590: // call R1, line 89
0591: if (!r_R1()) {
0592: return false;
0593: }
0594: switch (among_var) {
0595: case 0:
0596: return false;
0597: case 1:
0598: // (, line 90
0599: // <-, line 90
0600: slice_from("tion");
0601: break;
0602: case 2:
0603: // (, line 91
0604: // <-, line 91
0605: slice_from("ence");
0606: break;
0607: case 3:
0608: // (, line 92
0609: // <-, line 92
0610: slice_from("ance");
0611: break;
0612: case 4:
0613: // (, line 93
0614: // <-, line 93
0615: slice_from("able");
0616: break;
0617: case 5:
0618: // (, line 94
0619: // <-, line 94
0620: slice_from("ent");
0621: break;
0622: case 6:
0623: // (, line 96
0624: // <-, line 96
0625: slice_from("ize");
0626: break;
0627: case 7:
0628: // (, line 98
0629: // <-, line 98
0630: slice_from("ate");
0631: break;
0632: case 8:
0633: // (, line 100
0634: // <-, line 100
0635: slice_from("al");
0636: break;
0637: case 9:
0638: // (, line 101
0639: // <-, line 101
0640: slice_from("ful");
0641: break;
0642: case 10:
0643: // (, line 103
0644: // <-, line 103
0645: slice_from("ous");
0646: break;
0647: case 11:
0648: // (, line 105
0649: // <-, line 105
0650: slice_from("ive");
0651: break;
0652: case 12:
0653: // (, line 107
0654: // <-, line 107
0655: slice_from("ble");
0656: break;
0657: case 13:
0658: // (, line 108
0659: // literal, line 108
0660: if (!(eq_s_b(1, "l"))) {
0661: return false;
0662: }
0663: // <-, line 108
0664: slice_from("og");
0665: break;
0666: case 14:
0667: // (, line 109
0668: // <-, line 109
0669: slice_from("ful");
0670: break;
0671: case 15:
0672: // (, line 110
0673: // <-, line 110
0674: slice_from("less");
0675: break;
0676: case 16:
0677: // (, line 111
0678: if (!(in_grouping_b(g_valid_LI, 99, 116))) {
0679: return false;
0680: }
0681: // delete, line 111
0682: slice_del();
0683: break;
0684: }
0685: return true;
0686: }
0687:
0688: private boolean r_Step_3() {
0689: int among_var;
0690: // (, line 115
0691: // [, line 116
0692: ket = cursor;
0693: // substring, line 116
0694: among_var = find_among_b(a_5, 9);
0695: if (among_var == 0) {
0696: return false;
0697: }
0698: // ], line 116
0699: bra = cursor;
0700: // call R1, line 116
0701: if (!r_R1()) {
0702: return false;
0703: }
0704: switch (among_var) {
0705: case 0:
0706: return false;
0707: case 1:
0708: // (, line 117
0709: // <-, line 117
0710: slice_from("tion");
0711: break;
0712: case 2:
0713: // (, line 118
0714: // <-, line 118
0715: slice_from("ate");
0716: break;
0717: case 3:
0718: // (, line 119
0719: // <-, line 119
0720: slice_from("al");
0721: break;
0722: case 4:
0723: // (, line 121
0724: // <-, line 121
0725: slice_from("ic");
0726: break;
0727: case 5:
0728: // (, line 123
0729: // delete, line 123
0730: slice_del();
0731: break;
0732: case 6:
0733: // (, line 125
0734: // call R2, line 125
0735: if (!r_R2()) {
0736: return false;
0737: }
0738: // delete, line 125
0739: slice_del();
0740: break;
0741: }
0742: return true;
0743: }
0744:
0745: private boolean r_Step_4() {
0746: int among_var;
0747: int v_1;
0748: // (, line 129
0749: // [, line 130
0750: ket = cursor;
0751: // substring, line 130
0752: among_var = find_among_b(a_6, 18);
0753: if (among_var == 0) {
0754: return false;
0755: }
0756: // ], line 130
0757: bra = cursor;
0758: // call R2, line 130
0759: if (!r_R2()) {
0760: return false;
0761: }
0762: switch (among_var) {
0763: case 0:
0764: return false;
0765: case 1:
0766: // (, line 133
0767: // delete, line 133
0768: slice_del();
0769: break;
0770: case 2:
0771: // (, line 134
0772: // or, line 134
0773: lab0: do {
0774: v_1 = limit - cursor;
0775: lab1: do {
0776: // literal, line 134
0777: if (!(eq_s_b(1, "s"))) {
0778: break lab1;
0779: }
0780: break lab0;
0781: } while (false);
0782: cursor = limit - v_1;
0783: // literal, line 134
0784: if (!(eq_s_b(1, "t"))) {
0785: return false;
0786: }
0787: } while (false);
0788: // delete, line 134
0789: slice_del();
0790: break;
0791: }
0792: return true;
0793: }
0794:
0795: private boolean r_Step_5() {
0796: int among_var;
0797: int v_1;
0798: int v_2;
0799: // (, line 138
0800: // [, line 139
0801: ket = cursor;
0802: // substring, line 139
0803: among_var = find_among_b(a_7, 2);
0804: if (among_var == 0) {
0805: return false;
0806: }
0807: // ], line 139
0808: bra = cursor;
0809: switch (among_var) {
0810: case 0:
0811: return false;
0812: case 1:
0813: // (, line 140
0814: // or, line 140
0815: lab0: do {
0816: v_1 = limit - cursor;
0817: lab1: do {
0818: // call R2, line 140
0819: if (!r_R2()) {
0820: break lab1;
0821: }
0822: break lab0;
0823: } while (false);
0824: cursor = limit - v_1;
0825: // (, line 140
0826: // call R1, line 140
0827: if (!r_R1()) {
0828: return false;
0829: }
0830: // not, line 140
0831: {
0832: v_2 = limit - cursor;
0833: lab2: do {
0834: // call shortv, line 140
0835: if (!r_shortv()) {
0836: break lab2;
0837: }
0838: return false;
0839: } while (false);
0840: cursor = limit - v_2;
0841: }
0842: } while (false);
0843: // delete, line 140
0844: slice_del();
0845: break;
0846: case 2:
0847: // (, line 141
0848: // call R2, line 141
0849: if (!r_R2()) {
0850: return false;
0851: }
0852: // literal, line 141
0853: if (!(eq_s_b(1, "l"))) {
0854: return false;
0855: }
0856: // delete, line 141
0857: slice_del();
0858: break;
0859: }
0860: return true;
0861: }
0862:
0863: private boolean r_exception2() {
0864: // (, line 145
0865: // [, line 147
0866: ket = cursor;
0867: // substring, line 147
0868: if (find_among_b(a_8, 8) == 0) {
0869: return false;
0870: }
0871: // ], line 147
0872: bra = cursor;
0873: // atlimit, line 147
0874: if (cursor > limit_backward) {
0875: return false;
0876: }
0877: return true;
0878: }
0879:
0880: private boolean r_exception1() {
0881: int among_var;
0882: // (, line 157
0883: // [, line 159
0884: bra = cursor;
0885: // substring, line 159
0886: among_var = find_among(a_9, 18);
0887: if (among_var == 0) {
0888: return false;
0889: }
0890: // ], line 159
0891: ket = cursor;
0892: // atlimit, line 159
0893: if (cursor < limit) {
0894: return false;
0895: }
0896: switch (among_var) {
0897: case 0:
0898: return false;
0899: case 1:
0900: // (, line 163
0901: // <-, line 163
0902: slice_from("ski");
0903: break;
0904: case 2:
0905: // (, line 164
0906: // <-, line 164
0907: slice_from("sky");
0908: break;
0909: case 3:
0910: // (, line 165
0911: // <-, line 165
0912: slice_from("die");
0913: break;
0914: case 4:
0915: // (, line 166
0916: // <-, line 166
0917: slice_from("lie");
0918: break;
0919: case 5:
0920: // (, line 167
0921: // <-, line 167
0922: slice_from("tie");
0923: break;
0924: case 6:
0925: // (, line 171
0926: // <-, line 171
0927: slice_from("idl");
0928: break;
0929: case 7:
0930: // (, line 172
0931: // <-, line 172
0932: slice_from("gentl");
0933: break;
0934: case 8:
0935: // (, line 173
0936: // <-, line 173
0937: slice_from("ugli");
0938: break;
0939: case 9:
0940: // (, line 174
0941: // <-, line 174
0942: slice_from("earli");
0943: break;
0944: case 10:
0945: // (, line 175
0946: // <-, line 175
0947: slice_from("onli");
0948: break;
0949: case 11:
0950: // (, line 176
0951: // <-, line 176
0952: slice_from("singl");
0953: break;
0954: }
0955: return true;
0956: }
0957:
0958: private boolean r_postlude() {
0959: int v_1;
0960: int v_2;
0961: // (, line 192
0962: // Boolean test Y_found, line 192
0963: if (!(B_Y_found)) {
0964: return false;
0965: }
0966: // repeat, line 192
0967: replab0: while (true) {
0968: v_1 = cursor;
0969: lab1: do {
0970: // (, line 192
0971: // goto, line 192
0972: golab2: while (true) {
0973: v_2 = cursor;
0974: lab3: do {
0975: // (, line 192
0976: // [, line 192
0977: bra = cursor;
0978: // literal, line 192
0979: if (!(eq_s(1, "Y"))) {
0980: break lab3;
0981: }
0982: // ], line 192
0983: ket = cursor;
0984: cursor = v_2;
0985: break golab2;
0986: } while (false);
0987: cursor = v_2;
0988: if (cursor >= limit) {
0989: break lab1;
0990: }
0991: cursor++;
0992: }
0993: // <-, line 192
0994: slice_from("y");
0995: continue replab0;
0996: } while (false);
0997: cursor = v_1;
0998: break replab0;
0999: }
1000: return true;
1001: }
1002:
1003: public boolean stem() {
1004: int v_1;
1005: int v_2;
1006: int v_3;
1007: int v_4;
1008: int v_5;
1009: int v_6;
1010: int v_7;
1011: int v_8;
1012: int v_9;
1013: int v_10;
1014: int v_11;
1015: int v_12;
1016: int v_13;
1017: // (, line 194
1018: // or, line 196
1019: lab0: do {
1020: v_1 = cursor;
1021: lab1: do {
1022: // call exception1, line 196
1023: if (!r_exception1()) {
1024: break lab1;
1025: }
1026: break lab0;
1027: } while (false);
1028: cursor = v_1;
1029: // (, line 196
1030: // test, line 198
1031: v_2 = cursor;
1032: // hop, line 198
1033: {
1034: int c = cursor + 3;
1035: if (0 > c || c > limit) {
1036: return false;
1037: }
1038: cursor = c;
1039: }
1040: cursor = v_2;
1041: // do, line 199
1042: v_3 = cursor;
1043: lab2: do {
1044: // call prelude, line 199
1045: if (!r_prelude()) {
1046: break lab2;
1047: }
1048: } while (false);
1049: cursor = v_3;
1050: // do, line 200
1051: v_4 = cursor;
1052: lab3: do {
1053: // call mark_regions, line 200
1054: if (!r_mark_regions()) {
1055: break lab3;
1056: }
1057: } while (false);
1058: cursor = v_4;
1059: // backwards, line 201
1060: limit_backward = cursor;
1061: cursor = limit;
1062: // (, line 201
1063: // do, line 203
1064: v_5 = limit - cursor;
1065: lab4: do {
1066: // call Step_1a, line 203
1067: if (!r_Step_1a()) {
1068: break lab4;
1069: }
1070: } while (false);
1071: cursor = limit - v_5;
1072: // or, line 205
1073: lab5: do {
1074: v_6 = limit - cursor;
1075: lab6: do {
1076: // call exception2, line 205
1077: if (!r_exception2()) {
1078: break lab6;
1079: }
1080: break lab5;
1081: } while (false);
1082: cursor = limit - v_6;
1083: // (, line 205
1084: // do, line 207
1085: v_7 = limit - cursor;
1086: lab7: do {
1087: // call Step_1b, line 207
1088: if (!r_Step_1b()) {
1089: break lab7;
1090: }
1091: } while (false);
1092: cursor = limit - v_7;
1093: // do, line 208
1094: v_8 = limit - cursor;
1095: lab8: do {
1096: // call Step_1c, line 208
1097: if (!r_Step_1c()) {
1098: break lab8;
1099: }
1100: } while (false);
1101: cursor = limit - v_8;
1102: // do, line 210
1103: v_9 = limit - cursor;
1104: lab9: do {
1105: // call Step_2, line 210
1106: if (!r_Step_2()) {
1107: break lab9;
1108: }
1109: } while (false);
1110: cursor = limit - v_9;
1111: // do, line 211
1112: v_10 = limit - cursor;
1113: lab10: do {
1114: // call Step_3, line 211
1115: if (!r_Step_3()) {
1116: break lab10;
1117: }
1118: } while (false);
1119: cursor = limit - v_10;
1120: // do, line 212
1121: v_11 = limit - cursor;
1122: lab11: do {
1123: // call Step_4, line 212
1124: if (!r_Step_4()) {
1125: break lab11;
1126: }
1127: } while (false);
1128: cursor = limit - v_11;
1129: // do, line 214
1130: v_12 = limit - cursor;
1131: lab12: do {
1132: // call Step_5, line 214
1133: if (!r_Step_5()) {
1134: break lab12;
1135: }
1136: } while (false);
1137: cursor = limit - v_12;
1138: } while (false);
1139: cursor = limit_backward; // do, line 217
1140: v_13 = cursor;
1141: lab13: do {
1142: // call postlude, line 217
1143: if (!r_postlude()) {
1144: break lab13;
1145: }
1146: } while (false);
1147: cursor = v_13;
1148: } while (false);
1149: return true;
1150: }
1151:
1152: }
|