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 SpanishStemmer extends SnowballProgram {
0012:
0013: private Among a_0[] = { new Among("", -1, 6, "", this ),
0014: new Among("\u00E1", 0, 1, "", this ),
0015: new Among("\u00E9", 0, 2, "", this ),
0016: new Among("\u00ED", 0, 3, "", this ),
0017: new Among("\u00F3", 0, 4, "", this ),
0018: new Among("\u00FA", 0, 5, "", this ) };
0019:
0020: private Among a_1[] = { new Among("la", -1, -1, "", this ),
0021: new Among("sela", 0, -1, "", this ),
0022: new Among("le", -1, -1, "", this ),
0023: new Among("me", -1, -1, "", this ),
0024: new Among("se", -1, -1, "", this ),
0025: new Among("lo", -1, -1, "", this ),
0026: new Among("selo", 5, -1, "", this ),
0027: new Among("las", -1, -1, "", this ),
0028: new Among("selas", 7, -1, "", this ),
0029: new Among("les", -1, -1, "", this ),
0030: new Among("los", -1, -1, "", this ),
0031: new Among("selos", 10, -1, "", this ),
0032: new Among("nos", -1, -1, "", this ) };
0033:
0034: private Among a_2[] = { new Among("ando", -1, 6, "", this ),
0035: new Among("iendo", -1, 6, "", this ),
0036: new Among("yendo", -1, 7, "", this ),
0037: new Among("\u00E1ndo", -1, 2, "", this ),
0038: new Among("i\u00E9ndo", -1, 1, "", this ),
0039: new Among("ar", -1, 6, "", this ),
0040: new Among("er", -1, 6, "", this ),
0041: new Among("ir", -1, 6, "", this ),
0042: new Among("\u00E1r", -1, 3, "", this ),
0043: new Among("\u00E9r", -1, 4, "", this ),
0044: new Among("\u00EDr", -1, 5, "", this ) };
0045:
0046: private Among a_3[] = { new Among("ic", -1, -1, "", this ),
0047: new Among("ad", -1, -1, "", this ),
0048: new Among("os", -1, -1, "", this ),
0049: new Among("iv", -1, 1, "", this ) };
0050:
0051: private Among a_4[] = { new Among("able", -1, 1, "", this ),
0052: new Among("ible", -1, 1, "", this ) };
0053:
0054: private Among a_5[] = { new Among("ic", -1, 1, "", this ),
0055: new Among("abil", -1, 1, "", this ),
0056: new Among("iv", -1, 1, "", this ) };
0057:
0058: private Among a_6[] = { new Among("ica", -1, 1, "", this ),
0059: new Among("encia", -1, 5, "", this ),
0060: new Among("adora", -1, 2, "", this ),
0061: new Among("osa", -1, 1, "", this ),
0062: new Among("ista", -1, 1, "", this ),
0063: new Among("iva", -1, 9, "", this ),
0064: new Among("anza", -1, 1, "", this ),
0065: new Among("log\u00EDa", -1, 3, "", this ),
0066: new Among("idad", -1, 8, "", this ),
0067: new Among("able", -1, 1, "", this ),
0068: new Among("ible", -1, 1, "", this ),
0069: new Among("mente", -1, 7, "", this ),
0070: new Among("amente", 11, 6, "", this ),
0071: new Among("aci\u00F3n", -1, 2, "", this ),
0072: new Among("uci\u00F3n", -1, 4, "", this ),
0073: new Among("ico", -1, 1, "", this ),
0074: new Among("ismo", -1, 1, "", this ),
0075: new Among("oso", -1, 1, "", this ),
0076: new Among("amiento", -1, 1, "", this ),
0077: new Among("imiento", -1, 1, "", this ),
0078: new Among("ivo", -1, 9, "", this ),
0079: new Among("ador", -1, 2, "", this ),
0080: new Among("icas", -1, 1, "", this ),
0081: new Among("encias", -1, 5, "", this ),
0082: new Among("adoras", -1, 2, "", this ),
0083: new Among("osas", -1, 1, "", this ),
0084: new Among("istas", -1, 1, "", this ),
0085: new Among("ivas", -1, 9, "", this ),
0086: new Among("anzas", -1, 1, "", this ),
0087: new Among("log\u00EDas", -1, 3, "", this ),
0088: new Among("idades", -1, 8, "", this ),
0089: new Among("ables", -1, 1, "", this ),
0090: new Among("ibles", -1, 1, "", this ),
0091: new Among("aciones", -1, 2, "", this ),
0092: new Among("uciones", -1, 4, "", this ),
0093: new Among("adores", -1, 2, "", this ),
0094: new Among("icos", -1, 1, "", this ),
0095: new Among("ismos", -1, 1, "", this ),
0096: new Among("osos", -1, 1, "", this ),
0097: new Among("amientos", -1, 1, "", this ),
0098: new Among("imientos", -1, 1, "", this ),
0099: new Among("ivos", -1, 9, "", this ) };
0100:
0101: private Among a_7[] = { new Among("ya", -1, 1, "", this ),
0102: new Among("ye", -1, 1, "", this ),
0103: new Among("yan", -1, 1, "", this ),
0104: new Among("yen", -1, 1, "", this ),
0105: new Among("yeron", -1, 1, "", this ),
0106: new Among("yendo", -1, 1, "", this ),
0107: new Among("yo", -1, 1, "", this ),
0108: new Among("yas", -1, 1, "", this ),
0109: new Among("yes", -1, 1, "", this ),
0110: new Among("yais", -1, 1, "", this ),
0111: new Among("yamos", -1, 1, "", this ),
0112: new Among("y\u00F3", -1, 1, "", this ) };
0113:
0114: private Among a_8[] = { new Among("aba", -1, 2, "", this ),
0115: new Among("ada", -1, 2, "", this ),
0116: new Among("ida", -1, 2, "", this ),
0117: new Among("ara", -1, 2, "", this ),
0118: new Among("iera", -1, 2, "", this ),
0119: new Among("\u00EDa", -1, 2, "", this ),
0120: new Among("ar\u00EDa", 5, 2, "", this ),
0121: new Among("er\u00EDa", 5, 2, "", this ),
0122: new Among("ir\u00EDa", 5, 2, "", this ),
0123: new Among("ad", -1, 2, "", this ),
0124: new Among("ed", -1, 2, "", this ),
0125: new Among("id", -1, 2, "", this ),
0126: new Among("ase", -1, 2, "", this ),
0127: new Among("iese", -1, 2, "", this ),
0128: new Among("aste", -1, 2, "", this ),
0129: new Among("iste", -1, 2, "", this ),
0130: new Among("an", -1, 2, "", this ),
0131: new Among("aban", 16, 2, "", this ),
0132: new Among("aran", 16, 2, "", this ),
0133: new Among("ieran", 16, 2, "", this ),
0134: new Among("\u00EDan", 16, 2, "", this ),
0135: new Among("ar\u00EDan", 20, 2, "", this ),
0136: new Among("er\u00EDan", 20, 2, "", this ),
0137: new Among("ir\u00EDan", 20, 2, "", this ),
0138: new Among("en", -1, 1, "", this ),
0139: new Among("asen", 24, 2, "", this ),
0140: new Among("iesen", 24, 2, "", this ),
0141: new Among("aron", -1, 2, "", this ),
0142: new Among("ieron", -1, 2, "", this ),
0143: new Among("ar\u00E1n", -1, 2, "", this ),
0144: new Among("er\u00E1n", -1, 2, "", this ),
0145: new Among("ir\u00E1n", -1, 2, "", this ),
0146: new Among("ado", -1, 2, "", this ),
0147: new Among("ido", -1, 2, "", this ),
0148: new Among("ando", -1, 2, "", this ),
0149: new Among("iendo", -1, 2, "", this ),
0150: new Among("ar", -1, 2, "", this ),
0151: new Among("er", -1, 2, "", this ),
0152: new Among("ir", -1, 2, "", this ),
0153: new Among("as", -1, 2, "", this ),
0154: new Among("abas", 39, 2, "", this ),
0155: new Among("adas", 39, 2, "", this ),
0156: new Among("idas", 39, 2, "", this ),
0157: new Among("aras", 39, 2, "", this ),
0158: new Among("ieras", 39, 2, "", this ),
0159: new Among("\u00EDas", 39, 2, "", this ),
0160: new Among("ar\u00EDas", 45, 2, "", this ),
0161: new Among("er\u00EDas", 45, 2, "", this ),
0162: new Among("ir\u00EDas", 45, 2, "", this ),
0163: new Among("es", -1, 1, "", this ),
0164: new Among("ases", 49, 2, "", this ),
0165: new Among("ieses", 49, 2, "", this ),
0166: new Among("abais", -1, 2, "", this ),
0167: new Among("arais", -1, 2, "", this ),
0168: new Among("ierais", -1, 2, "", this ),
0169: new Among("\u00EDais", -1, 2, "", this ),
0170: new Among("ar\u00EDais", 55, 2, "", this ),
0171: new Among("er\u00EDais", 55, 2, "", this ),
0172: new Among("ir\u00EDais", 55, 2, "", this ),
0173: new Among("aseis", -1, 2, "", this ),
0174: new Among("ieseis", -1, 2, "", this ),
0175: new Among("asteis", -1, 2, "", this ),
0176: new Among("isteis", -1, 2, "", this ),
0177: new Among("\u00E1is", -1, 2, "", this ),
0178: new Among("\u00E9is", -1, 1, "", this ),
0179: new Among("ar\u00E9is", 64, 2, "", this ),
0180: new Among("er\u00E9is", 64, 2, "", this ),
0181: new Among("ir\u00E9is", 64, 2, "", this ),
0182: new Among("ados", -1, 2, "", this ),
0183: new Among("idos", -1, 2, "", this ),
0184: new Among("amos", -1, 2, "", this ),
0185: new Among("\u00E1bamos", 70, 2, "", this ),
0186: new Among("\u00E1ramos", 70, 2, "", this ),
0187: new Among("i\u00E9ramos", 70, 2, "", this ),
0188: new Among("\u00EDamos", 70, 2, "", this ),
0189: new Among("ar\u00EDamos", 74, 2, "", this ),
0190: new Among("er\u00EDamos", 74, 2, "", this ),
0191: new Among("ir\u00EDamos", 74, 2, "", this ),
0192: new Among("emos", -1, 1, "", this ),
0193: new Among("aremos", 78, 2, "", this ),
0194: new Among("eremos", 78, 2, "", this ),
0195: new Among("iremos", 78, 2, "", this ),
0196: new Among("\u00E1semos", 78, 2, "", this ),
0197: new Among("i\u00E9semos", 78, 2, "", this ),
0198: new Among("imos", -1, 2, "", this ),
0199: new Among("ar\u00E1s", -1, 2, "", this ),
0200: new Among("er\u00E1s", -1, 2, "", this ),
0201: new Among("ir\u00E1s", -1, 2, "", this ),
0202: new Among("\u00EDs", -1, 2, "", this ),
0203: new Among("ar\u00E1", -1, 2, "", this ),
0204: new Among("er\u00E1", -1, 2, "", this ),
0205: new Among("ir\u00E1", -1, 2, "", this ),
0206: new Among("ar\u00E9", -1, 2, "", this ),
0207: new Among("er\u00E9", -1, 2, "", this ),
0208: new Among("ir\u00E9", -1, 2, "", this ),
0209: new Among("i\u00F3", -1, 2, "", this ) };
0210:
0211: private Among a_9[] = { new Among("a", -1, 1, "", this ),
0212: new Among("e", -1, 2, "", this ),
0213: new Among("o", -1, 1, "", this ),
0214: new Among("os", -1, 1, "", this ),
0215: new Among("\u00E1", -1, 1, "", this ),
0216: new Among("\u00E9", -1, 2, "", this ),
0217: new Among("\u00ED", -1, 1, "", this ),
0218: new Among("\u00F3", -1, 1, "", this ) };
0219:
0220: private static final char g_v[] = { 17, 65, 16, 0, 0, 0, 0, 0, 0,
0221: 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10 };
0222:
0223: private int I_p2;
0224: private int I_p1;
0225: private int I_pV;
0226:
0227: private void copy_from(SpanishStemmer other) {
0228: I_p2 = other.I_p2;
0229: I_p1 = other.I_p1;
0230: I_pV = other.I_pV;
0231: super .copy_from(other);
0232: }
0233:
0234: private boolean r_mark_regions() {
0235: int v_1;
0236: int v_2;
0237: int v_3;
0238: int v_6;
0239: int v_8;
0240: // (, line 31
0241: I_pV = limit;
0242: I_p1 = limit;
0243: I_p2 = limit;
0244: // do, line 37
0245: v_1 = cursor;
0246: lab0: do {
0247: // (, line 37
0248: // or, line 39
0249: lab1: do {
0250: v_2 = cursor;
0251: lab2: do {
0252: // (, line 38
0253: if (!(in_grouping(g_v, 97, 252))) {
0254: break lab2;
0255: }
0256: // or, line 38
0257: lab3: do {
0258: v_3 = cursor;
0259: lab4: do {
0260: // (, line 38
0261: if (!(out_grouping(g_v, 97, 252))) {
0262: break lab4;
0263: }
0264: // gopast, line 38
0265: golab5: while (true) {
0266: lab6: do {
0267: if (!(in_grouping(g_v, 97, 252))) {
0268: break lab6;
0269: }
0270: break golab5;
0271: } while (false);
0272: if (cursor >= limit) {
0273: break lab4;
0274: }
0275: cursor++;
0276: }
0277: break lab3;
0278: } while (false);
0279: cursor = v_3;
0280: // (, line 38
0281: if (!(in_grouping(g_v, 97, 252))) {
0282: break lab2;
0283: }
0284: // gopast, line 38
0285: golab7: while (true) {
0286: lab8: do {
0287: if (!(out_grouping(g_v, 97, 252))) {
0288: break lab8;
0289: }
0290: break golab7;
0291: } while (false);
0292: if (cursor >= limit) {
0293: break lab2;
0294: }
0295: cursor++;
0296: }
0297: } while (false);
0298: break lab1;
0299: } while (false);
0300: cursor = v_2;
0301: // (, line 40
0302: if (!(out_grouping(g_v, 97, 252))) {
0303: break lab0;
0304: }
0305: // or, line 40
0306: lab9: do {
0307: v_6 = cursor;
0308: lab10: do {
0309: // (, line 40
0310: if (!(out_grouping(g_v, 97, 252))) {
0311: break lab10;
0312: }
0313: // gopast, line 40
0314: golab11: while (true) {
0315: lab12: do {
0316: if (!(in_grouping(g_v, 97, 252))) {
0317: break lab12;
0318: }
0319: break golab11;
0320: } while (false);
0321: if (cursor >= limit) {
0322: break lab10;
0323: }
0324: cursor++;
0325: }
0326: break lab9;
0327: } while (false);
0328: cursor = v_6;
0329: // (, line 40
0330: if (!(in_grouping(g_v, 97, 252))) {
0331: break lab0;
0332: }
0333: // next, line 40
0334: if (cursor >= limit) {
0335: break lab0;
0336: }
0337: cursor++;
0338: } while (false);
0339: } while (false);
0340: // setmark pV, line 41
0341: I_pV = cursor;
0342: } while (false);
0343: cursor = v_1;
0344: // do, line 43
0345: v_8 = cursor;
0346: lab13: do {
0347: // (, line 43
0348: // gopast, line 44
0349: golab14: while (true) {
0350: lab15: do {
0351: if (!(in_grouping(g_v, 97, 252))) {
0352: break lab15;
0353: }
0354: break golab14;
0355: } while (false);
0356: if (cursor >= limit) {
0357: break lab13;
0358: }
0359: cursor++;
0360: }
0361: // gopast, line 44
0362: golab16: while (true) {
0363: lab17: do {
0364: if (!(out_grouping(g_v, 97, 252))) {
0365: break lab17;
0366: }
0367: break golab16;
0368: } while (false);
0369: if (cursor >= limit) {
0370: break lab13;
0371: }
0372: cursor++;
0373: }
0374: // setmark p1, line 44
0375: I_p1 = cursor;
0376: // gopast, line 45
0377: golab18: while (true) {
0378: lab19: do {
0379: if (!(in_grouping(g_v, 97, 252))) {
0380: break lab19;
0381: }
0382: break golab18;
0383: } while (false);
0384: if (cursor >= limit) {
0385: break lab13;
0386: }
0387: cursor++;
0388: }
0389: // gopast, line 45
0390: golab20: while (true) {
0391: lab21: do {
0392: if (!(out_grouping(g_v, 97, 252))) {
0393: break lab21;
0394: }
0395: break golab20;
0396: } while (false);
0397: if (cursor >= limit) {
0398: break lab13;
0399: }
0400: cursor++;
0401: }
0402: // setmark p2, line 45
0403: I_p2 = cursor;
0404: } while (false);
0405: cursor = v_8;
0406: return true;
0407: }
0408:
0409: private boolean r_postlude() {
0410: int among_var;
0411: int v_1;
0412: // repeat, line 49
0413: replab0: while (true) {
0414: v_1 = cursor;
0415: lab1: do {
0416: // (, line 49
0417: // [, line 50
0418: bra = cursor;
0419: // substring, line 50
0420: among_var = find_among(a_0, 6);
0421: if (among_var == 0) {
0422: break lab1;
0423: }
0424: // ], line 50
0425: ket = cursor;
0426: switch (among_var) {
0427: case 0:
0428: break lab1;
0429: case 1:
0430: // (, line 51
0431: // <-, line 51
0432: slice_from("a");
0433: break;
0434: case 2:
0435: // (, line 52
0436: // <-, line 52
0437: slice_from("e");
0438: break;
0439: case 3:
0440: // (, line 53
0441: // <-, line 53
0442: slice_from("i");
0443: break;
0444: case 4:
0445: // (, line 54
0446: // <-, line 54
0447: slice_from("o");
0448: break;
0449: case 5:
0450: // (, line 55
0451: // <-, line 55
0452: slice_from("u");
0453: break;
0454: case 6:
0455: // (, line 57
0456: // next, line 57
0457: if (cursor >= limit) {
0458: break lab1;
0459: }
0460: cursor++;
0461: break;
0462: }
0463: continue replab0;
0464: } while (false);
0465: cursor = v_1;
0466: break replab0;
0467: }
0468: return true;
0469: }
0470:
0471: private boolean r_RV() {
0472: if (!(I_pV <= cursor)) {
0473: return false;
0474: }
0475: return true;
0476: }
0477:
0478: private boolean r_R1() {
0479: if (!(I_p1 <= cursor)) {
0480: return false;
0481: }
0482: return true;
0483: }
0484:
0485: private boolean r_R2() {
0486: if (!(I_p2 <= cursor)) {
0487: return false;
0488: }
0489: return true;
0490: }
0491:
0492: private boolean r_attached_pronoun() {
0493: int among_var;
0494: // (, line 67
0495: // [, line 68
0496: ket = cursor;
0497: // substring, line 68
0498: if (find_among_b(a_1, 13) == 0) {
0499: return false;
0500: }
0501: // ], line 68
0502: bra = cursor;
0503: // substring, line 72
0504: among_var = find_among_b(a_2, 11);
0505: if (among_var == 0) {
0506: return false;
0507: }
0508: // call RV, line 72
0509: if (!r_RV()) {
0510: return false;
0511: }
0512: switch (among_var) {
0513: case 0:
0514: return false;
0515: case 1:
0516: // (, line 73
0517: // ], line 73
0518: bra = cursor;
0519: // <-, line 73
0520: slice_from("iendo");
0521: break;
0522: case 2:
0523: // (, line 74
0524: // ], line 74
0525: bra = cursor;
0526: // <-, line 74
0527: slice_from("ando");
0528: break;
0529: case 3:
0530: // (, line 75
0531: // ], line 75
0532: bra = cursor;
0533: // <-, line 75
0534: slice_from("ar");
0535: break;
0536: case 4:
0537: // (, line 76
0538: // ], line 76
0539: bra = cursor;
0540: // <-, line 76
0541: slice_from("er");
0542: break;
0543: case 5:
0544: // (, line 77
0545: // ], line 77
0546: bra = cursor;
0547: // <-, line 77
0548: slice_from("ir");
0549: break;
0550: case 6:
0551: // (, line 81
0552: // delete, line 81
0553: slice_del();
0554: break;
0555: case 7:
0556: // (, line 82
0557: // literal, line 82
0558: if (!(eq_s_b(1, "u"))) {
0559: return false;
0560: }
0561: // delete, line 82
0562: slice_del();
0563: break;
0564: }
0565: return true;
0566: }
0567:
0568: private boolean r_standard_suffix() {
0569: int among_var;
0570: int v_1;
0571: int v_2;
0572: int v_3;
0573: int v_4;
0574: int v_5;
0575: // (, line 86
0576: // [, line 87
0577: ket = cursor;
0578: // substring, line 87
0579: among_var = find_among_b(a_6, 42);
0580: if (among_var == 0) {
0581: return false;
0582: }
0583: // ], line 87
0584: bra = cursor;
0585: switch (among_var) {
0586: case 0:
0587: return false;
0588: case 1:
0589: // (, line 98
0590: // call R2, line 99
0591: if (!r_R2()) {
0592: return false;
0593: }
0594: // delete, line 99
0595: slice_del();
0596: break;
0597: case 2:
0598: // (, line 103
0599: // call R2, line 104
0600: if (!r_R2()) {
0601: return false;
0602: }
0603: // delete, line 104
0604: slice_del();
0605: // try, line 105
0606: v_1 = limit - cursor;
0607: lab0: do {
0608: // (, line 105
0609: // [, line 105
0610: ket = cursor;
0611: // literal, line 105
0612: if (!(eq_s_b(2, "ic"))) {
0613: cursor = limit - v_1;
0614: break lab0;
0615: }
0616: // ], line 105
0617: bra = cursor;
0618: // call R2, line 105
0619: if (!r_R2()) {
0620: cursor = limit - v_1;
0621: break lab0;
0622: }
0623: // delete, line 105
0624: slice_del();
0625: } while (false);
0626: break;
0627: case 3:
0628: // (, line 109
0629: // call R2, line 110
0630: if (!r_R2()) {
0631: return false;
0632: }
0633: // <-, line 110
0634: slice_from("log");
0635: break;
0636: case 4:
0637: // (, line 113
0638: // call R2, line 114
0639: if (!r_R2()) {
0640: return false;
0641: }
0642: // <-, line 114
0643: slice_from("u");
0644: break;
0645: case 5:
0646: // (, line 117
0647: // call R2, line 118
0648: if (!r_R2()) {
0649: return false;
0650: }
0651: // <-, line 118
0652: slice_from("ente");
0653: break;
0654: case 6:
0655: // (, line 121
0656: // call R1, line 122
0657: if (!r_R1()) {
0658: return false;
0659: }
0660: // delete, line 122
0661: slice_del();
0662: // try, line 123
0663: v_2 = limit - cursor;
0664: lab1: do {
0665: // (, line 123
0666: // [, line 124
0667: ket = cursor;
0668: // substring, line 124
0669: among_var = find_among_b(a_3, 4);
0670: if (among_var == 0) {
0671: cursor = limit - v_2;
0672: break lab1;
0673: }
0674: // ], line 124
0675: bra = cursor;
0676: // call R2, line 124
0677: if (!r_R2()) {
0678: cursor = limit - v_2;
0679: break lab1;
0680: }
0681: // delete, line 124
0682: slice_del();
0683: switch (among_var) {
0684: case 0:
0685: cursor = limit - v_2;
0686: break lab1;
0687: case 1:
0688: // (, line 125
0689: // [, line 125
0690: ket = cursor;
0691: // literal, line 125
0692: if (!(eq_s_b(2, "at"))) {
0693: cursor = limit - v_2;
0694: break lab1;
0695: }
0696: // ], line 125
0697: bra = cursor;
0698: // call R2, line 125
0699: if (!r_R2()) {
0700: cursor = limit - v_2;
0701: break lab1;
0702: }
0703: // delete, line 125
0704: slice_del();
0705: break;
0706: }
0707: } while (false);
0708: break;
0709: case 7:
0710: // (, line 133
0711: // call R2, line 134
0712: if (!r_R2()) {
0713: return false;
0714: }
0715: // delete, line 134
0716: slice_del();
0717: // try, line 135
0718: v_3 = limit - cursor;
0719: lab2: do {
0720: // (, line 135
0721: // [, line 136
0722: ket = cursor;
0723: // substring, line 136
0724: among_var = find_among_b(a_4, 2);
0725: if (among_var == 0) {
0726: cursor = limit - v_3;
0727: break lab2;
0728: }
0729: // ], line 136
0730: bra = cursor;
0731: switch (among_var) {
0732: case 0:
0733: cursor = limit - v_3;
0734: break lab2;
0735: case 1:
0736: // (, line 138
0737: // call R2, line 138
0738: if (!r_R2()) {
0739: cursor = limit - v_3;
0740: break lab2;
0741: }
0742: // delete, line 138
0743: slice_del();
0744: break;
0745: }
0746: } while (false);
0747: break;
0748: case 8:
0749: // (, line 144
0750: // call R2, line 145
0751: if (!r_R2()) {
0752: return false;
0753: }
0754: // delete, line 145
0755: slice_del();
0756: // try, line 146
0757: v_4 = limit - cursor;
0758: lab3: do {
0759: // (, line 146
0760: // [, line 147
0761: ket = cursor;
0762: // substring, line 147
0763: among_var = find_among_b(a_5, 3);
0764: if (among_var == 0) {
0765: cursor = limit - v_4;
0766: break lab3;
0767: }
0768: // ], line 147
0769: bra = cursor;
0770: switch (among_var) {
0771: case 0:
0772: cursor = limit - v_4;
0773: break lab3;
0774: case 1:
0775: // (, line 150
0776: // call R2, line 150
0777: if (!r_R2()) {
0778: cursor = limit - v_4;
0779: break lab3;
0780: }
0781: // delete, line 150
0782: slice_del();
0783: break;
0784: }
0785: } while (false);
0786: break;
0787: case 9:
0788: // (, line 156
0789: // call R2, line 157
0790: if (!r_R2()) {
0791: return false;
0792: }
0793: // delete, line 157
0794: slice_del();
0795: // try, line 158
0796: v_5 = limit - cursor;
0797: lab4: do {
0798: // (, line 158
0799: // [, line 159
0800: ket = cursor;
0801: // literal, line 159
0802: if (!(eq_s_b(2, "at"))) {
0803: cursor = limit - v_5;
0804: break lab4;
0805: }
0806: // ], line 159
0807: bra = cursor;
0808: // call R2, line 159
0809: if (!r_R2()) {
0810: cursor = limit - v_5;
0811: break lab4;
0812: }
0813: // delete, line 159
0814: slice_del();
0815: } while (false);
0816: break;
0817: }
0818: return true;
0819: }
0820:
0821: private boolean r_y_verb_suffix() {
0822: int among_var;
0823: int v_1;
0824: int v_2;
0825: // (, line 165
0826: // setlimit, line 166
0827: v_1 = limit - cursor;
0828: // tomark, line 166
0829: if (cursor < I_pV) {
0830: return false;
0831: }
0832: cursor = I_pV;
0833: v_2 = limit_backward;
0834: limit_backward = cursor;
0835: cursor = limit - v_1;
0836: // (, line 166
0837: // [, line 166
0838: ket = cursor;
0839: // substring, line 166
0840: among_var = find_among_b(a_7, 12);
0841: if (among_var == 0) {
0842: limit_backward = v_2;
0843: return false;
0844: }
0845: // ], line 166
0846: bra = cursor;
0847: limit_backward = v_2;
0848: switch (among_var) {
0849: case 0:
0850: return false;
0851: case 1:
0852: // (, line 169
0853: // literal, line 169
0854: if (!(eq_s_b(1, "u"))) {
0855: return false;
0856: }
0857: // delete, line 169
0858: slice_del();
0859: break;
0860: }
0861: return true;
0862: }
0863:
0864: private boolean r_verb_suffix() {
0865: int among_var;
0866: int v_1;
0867: int v_2;
0868: int v_3;
0869: int v_4;
0870: // (, line 173
0871: // setlimit, line 174
0872: v_1 = limit - cursor;
0873: // tomark, line 174
0874: if (cursor < I_pV) {
0875: return false;
0876: }
0877: cursor = I_pV;
0878: v_2 = limit_backward;
0879: limit_backward = cursor;
0880: cursor = limit - v_1;
0881: // (, line 174
0882: // [, line 174
0883: ket = cursor;
0884: // substring, line 174
0885: among_var = find_among_b(a_8, 96);
0886: if (among_var == 0) {
0887: limit_backward = v_2;
0888: return false;
0889: }
0890: // ], line 174
0891: bra = cursor;
0892: limit_backward = v_2;
0893: switch (among_var) {
0894: case 0:
0895: return false;
0896: case 1:
0897: // (, line 177
0898: // try, line 177
0899: v_3 = limit - cursor;
0900: lab0: do {
0901: // (, line 177
0902: // literal, line 177
0903: if (!(eq_s_b(1, "u"))) {
0904: cursor = limit - v_3;
0905: break lab0;
0906: }
0907: // test, line 177
0908: v_4 = limit - cursor;
0909: // literal, line 177
0910: if (!(eq_s_b(1, "g"))) {
0911: cursor = limit - v_3;
0912: break lab0;
0913: }
0914: cursor = limit - v_4;
0915: } while (false);
0916: // ], line 177
0917: bra = cursor;
0918: // delete, line 177
0919: slice_del();
0920: break;
0921: case 2:
0922: // (, line 198
0923: // delete, line 198
0924: slice_del();
0925: break;
0926: }
0927: return true;
0928: }
0929:
0930: private boolean r_residual_suffix() {
0931: int among_var;
0932: int v_1;
0933: int v_2;
0934: // (, line 202
0935: // [, line 203
0936: ket = cursor;
0937: // substring, line 203
0938: among_var = find_among_b(a_9, 8);
0939: if (among_var == 0) {
0940: return false;
0941: }
0942: // ], line 203
0943: bra = cursor;
0944: switch (among_var) {
0945: case 0:
0946: return false;
0947: case 1:
0948: // (, line 206
0949: // call RV, line 206
0950: if (!r_RV()) {
0951: return false;
0952: }
0953: // delete, line 206
0954: slice_del();
0955: break;
0956: case 2:
0957: // (, line 208
0958: // call RV, line 208
0959: if (!r_RV()) {
0960: return false;
0961: }
0962: // delete, line 208
0963: slice_del();
0964: // try, line 208
0965: v_1 = limit - cursor;
0966: lab0: do {
0967: // (, line 208
0968: // [, line 208
0969: ket = cursor;
0970: // literal, line 208
0971: if (!(eq_s_b(1, "u"))) {
0972: cursor = limit - v_1;
0973: break lab0;
0974: }
0975: // ], line 208
0976: bra = cursor;
0977: // test, line 208
0978: v_2 = limit - cursor;
0979: // literal, line 208
0980: if (!(eq_s_b(1, "g"))) {
0981: cursor = limit - v_1;
0982: break lab0;
0983: }
0984: cursor = limit - v_2;
0985: // call RV, line 208
0986: if (!r_RV()) {
0987: cursor = limit - v_1;
0988: break lab0;
0989: }
0990: // delete, line 208
0991: slice_del();
0992: } while (false);
0993: break;
0994: }
0995: return true;
0996: }
0997:
0998: public boolean stem() {
0999: int v_1;
1000: int v_2;
1001: int v_3;
1002: int v_4;
1003: int v_5;
1004: int v_6;
1005: // (, line 213
1006: // do, line 214
1007: v_1 = cursor;
1008: lab0: do {
1009: // call mark_regions, line 214
1010: if (!r_mark_regions()) {
1011: break lab0;
1012: }
1013: } while (false);
1014: cursor = v_1;
1015: // backwards, line 215
1016: limit_backward = cursor;
1017: cursor = limit;
1018: // (, line 215
1019: // do, line 216
1020: v_2 = limit - cursor;
1021: lab1: do {
1022: // call attached_pronoun, line 216
1023: if (!r_attached_pronoun()) {
1024: break lab1;
1025: }
1026: } while (false);
1027: cursor = limit - v_2;
1028: // do, line 217
1029: v_3 = limit - cursor;
1030: lab2: do {
1031: // (, line 217
1032: // or, line 217
1033: lab3: do {
1034: v_4 = limit - cursor;
1035: lab4: do {
1036: // call standard_suffix, line 217
1037: if (!r_standard_suffix()) {
1038: break lab4;
1039: }
1040: break lab3;
1041: } while (false);
1042: cursor = limit - v_4;
1043: lab5: do {
1044: // call y_verb_suffix, line 218
1045: if (!r_y_verb_suffix()) {
1046: break lab5;
1047: }
1048: break lab3;
1049: } while (false);
1050: cursor = limit - v_4;
1051: // call verb_suffix, line 219
1052: if (!r_verb_suffix()) {
1053: break lab2;
1054: }
1055: } while (false);
1056: } while (false);
1057: cursor = limit - v_3;
1058: // do, line 221
1059: v_5 = limit - cursor;
1060: lab6: do {
1061: // call residual_suffix, line 221
1062: if (!r_residual_suffix()) {
1063: break lab6;
1064: }
1065: } while (false);
1066: cursor = limit - v_5;
1067: cursor = limit_backward; // do, line 223
1068: v_6 = cursor;
1069: lab7: do {
1070: // call postlude, line 223
1071: if (!r_postlude()) {
1072: break lab7;
1073: }
1074: } while (false);
1075: cursor = v_6;
1076: return true;
1077: }
1078:
1079: }
|