// This file was generated automatically by the Snowball to Java compiler
// http://snowballstem.org/

package org.tartarus.snowball.ext;

import org.tartarus.snowball.Among;

This class was automatically generated by a Snowball to Java compiler It implements the stemming algorithm defined by a snowball script.
/** * This class was automatically generated by a Snowball to Java compiler * It implements the stemming algorithm defined by a snowball script. */
@SuppressWarnings("unused") public class ArabicStemmer extends org.tartarus.snowball.SnowballProgram { private static final long serialVersionUID = 1L; /* patched */ private static final java.lang.invoke.MethodHandles.Lookup methodObject = java.lang.invoke.MethodHandles.lookup(); private final static Among a_0[] = { new Among("\u0640", -1, 2, "", methodObject), new Among("\u064B", -1, 1, "", methodObject), new Among("\u064C", -1, 1, "", methodObject), new Among("\u064D", -1, 1, "", methodObject), new Among("\u064E", -1, 1, "", methodObject), new Among("\u064F", -1, 1, "", methodObject), new Among("\u0650", -1, 1, "", methodObject), new Among("\u0651", -1, 1, "", methodObject), new Among("\u0652", -1, 1, "", methodObject), new Among("\u0660", -1, 3, "", methodObject), new Among("\u0661", -1, 4, "", methodObject), new Among("\u0662", -1, 5, "", methodObject), new Among("\u0663", -1, 6, "", methodObject), new Among("\u0664", -1, 7, "", methodObject), new Among("\u0665", -1, 8, "", methodObject), new Among("\u0666", -1, 9, "", methodObject), new Among("\u0667", -1, 10, "", methodObject), new Among("\u0668", -1, 11, "", methodObject), new Among("\u0669", -1, 12, "", methodObject), new Among("\uFE80", -1, 13, "", methodObject), new Among("\uFE81", -1, 17, "", methodObject), new Among("\uFE82", -1, 17, "", methodObject), new Among("\uFE83", -1, 14, "", methodObject), new Among("\uFE84", -1, 14, "", methodObject), new Among("\uFE85", -1, 18, "", methodObject), new Among("\uFE86", -1, 18, "", methodObject), new Among("\uFE87", -1, 15, "", methodObject), new Among("\uFE88", -1, 15, "", methodObject), new Among("\uFE89", -1, 16, "", methodObject), new Among("\uFE8A", -1, 16, "", methodObject), new Among("\uFE8B", -1, 16, "", methodObject), new Among("\uFE8C", -1, 16, "", methodObject), new Among("\uFE8D", -1, 19, "", methodObject), new Among("\uFE8E", -1, 19, "", methodObject), new Among("\uFE8F", -1, 20, "", methodObject), new Among("\uFE90", -1, 20, "", methodObject), new Among("\uFE91", -1, 20, "", methodObject), new Among("\uFE92", -1, 20, "", methodObject), new Among("\uFE93", -1, 21, "", methodObject), new Among("\uFE94", -1, 21, "", methodObject), new Among("\uFE95", -1, 22, "", methodObject), new Among("\uFE96", -1, 22, "", methodObject), new Among("\uFE97", -1, 22, "", methodObject), new Among("\uFE98", -1, 22, "", methodObject), new Among("\uFE99", -1, 23, "", methodObject), new Among("\uFE9A", -1, 23, "", methodObject), new Among("\uFE9B", -1, 23, "", methodObject), new Among("\uFE9C", -1, 23, "", methodObject), new Among("\uFE9D", -1, 24, "", methodObject), new Among("\uFE9E", -1, 24, "", methodObject), new Among("\uFE9F", -1, 24, "", methodObject), new Among("\uFEA0", -1, 24, "", methodObject), new Among("\uFEA1", -1, 25, "", methodObject), new Among("\uFEA2", -1, 25, "", methodObject), new Among("\uFEA3", -1, 25, "", methodObject), new Among("\uFEA4", -1, 25, "", methodObject), new Among("\uFEA5", -1, 26, "", methodObject), new Among("\uFEA6", -1, 26, "", methodObject), new Among("\uFEA7", -1, 26, "", methodObject), new Among("\uFEA8", -1, 26, "", methodObject), new Among("\uFEA9", -1, 27, "", methodObject), new Among("\uFEAA", -1, 27, "", methodObject), new Among("\uFEAB", -1, 28, "", methodObject), new Among("\uFEAC", -1, 28, "", methodObject), new Among("\uFEAD", -1, 29, "", methodObject), new Among("\uFEAE", -1, 29, "", methodObject), new Among("\uFEAF", -1, 30, "", methodObject), new Among("\uFEB0", -1, 30, "", methodObject), new Among("\uFEB1", -1, 31, "", methodObject), new Among("\uFEB2", -1, 31, "", methodObject), new Among("\uFEB3", -1, 31, "", methodObject), new Among("\uFEB4", -1, 31, "", methodObject), new Among("\uFEB5", -1, 32, "", methodObject), new Among("\uFEB6", -1, 32, "", methodObject), new Among("\uFEB7", -1, 32, "", methodObject), new Among("\uFEB8", -1, 32, "", methodObject), new Among("\uFEB9", -1, 33, "", methodObject), new Among("\uFEBA", -1, 33, "", methodObject), new Among("\uFEBB", -1, 33, "", methodObject), new Among("\uFEBC", -1, 33, "", methodObject), new Among("\uFEBD", -1, 34, "", methodObject), new Among("\uFEBE", -1, 34, "", methodObject), new Among("\uFEBF", -1, 34, "", methodObject), new Among("\uFEC0", -1, 34, "", methodObject), new Among("\uFEC1", -1, 35, "", methodObject), new Among("\uFEC2", -1, 35, "", methodObject), new Among("\uFEC3", -1, 35, "", methodObject), new Among("\uFEC4", -1, 35, "", methodObject), new Among("\uFEC5", -1, 36, "", methodObject), new Among("\uFEC6", -1, 36, "", methodObject), new Among("\uFEC7", -1, 36, "", methodObject), new Among("\uFEC8", -1, 36, "", methodObject), new Among("\uFEC9", -1, 37, "", methodObject), new Among("\uFECA", -1, 37, "", methodObject), new Among("\uFECB", -1, 37, "", methodObject), new Among("\uFECC", -1, 37, "", methodObject), new Among("\uFECD", -1, 38, "", methodObject), new Among("\uFECE", -1, 38, "", methodObject), new Among("\uFECF", -1, 38, "", methodObject), new Among("\uFED0", -1, 38, "", methodObject), new Among("\uFED1", -1, 39, "", methodObject), new Among("\uFED2", -1, 39, "", methodObject), new Among("\uFED3", -1, 39, "", methodObject), new Among("\uFED4", -1, 39, "", methodObject), new Among("\uFED5", -1, 40, "", methodObject), new Among("\uFED6", -1, 40, "", methodObject), new Among("\uFED7", -1, 40, "", methodObject), new Among("\uFED8", -1, 40, "", methodObject), new Among("\uFED9", -1, 41, "", methodObject), new Among("\uFEDA", -1, 41, "", methodObject), new Among("\uFEDB", -1, 41, "", methodObject), new Among("\uFEDC", -1, 41, "", methodObject), new Among("\uFEDD", -1, 42, "", methodObject), new Among("\uFEDE", -1, 42, "", methodObject), new Among("\uFEDF", -1, 42, "", methodObject), new Among("\uFEE0", -1, 42, "", methodObject), new Among("\uFEE1", -1, 43, "", methodObject), new Among("\uFEE2", -1, 43, "", methodObject), new Among("\uFEE3", -1, 43, "", methodObject), new Among("\uFEE4", -1, 43, "", methodObject), new Among("\uFEE5", -1, 44, "", methodObject), new Among("\uFEE6", -1, 44, "", methodObject), new Among("\uFEE7", -1, 44, "", methodObject), new Among("\uFEE8", -1, 44, "", methodObject), new Among("\uFEE9", -1, 45, "", methodObject), new Among("\uFEEA", -1, 45, "", methodObject), new Among("\uFEEB", -1, 45, "", methodObject), new Among("\uFEEC", -1, 45, "", methodObject), new Among("\uFEED", -1, 46, "", methodObject), new Among("\uFEEE", -1, 46, "", methodObject), new Among("\uFEEF", -1, 47, "", methodObject), new Among("\uFEF0", -1, 47, "", methodObject), new Among("\uFEF1", -1, 48, "", methodObject), new Among("\uFEF2", -1, 48, "", methodObject), new Among("\uFEF3", -1, 48, "", methodObject), new Among("\uFEF4", -1, 48, "", methodObject), new Among("\uFEF5", -1, 52, "", methodObject), new Among("\uFEF6", -1, 52, "", methodObject), new Among("\uFEF7", -1, 50, "", methodObject), new Among("\uFEF8", -1, 50, "", methodObject), new Among("\uFEF9", -1, 51, "", methodObject), new Among("\uFEFA", -1, 51, "", methodObject), new Among("\uFEFB", -1, 49, "", methodObject), new Among("\uFEFC", -1, 49, "", methodObject) }; private final static Among a_1[] = { new Among("\u0622", -1, 1, "", methodObject), new Among("\u0623", -1, 1, "", methodObject), new Among("\u0624", -1, 2, "", methodObject), new Among("\u0625", -1, 1, "", methodObject), new Among("\u0626", -1, 3, "", methodObject) }; private final static Among a_2[] = { new Among("\u0622", -1, 1, "", methodObject), new Among("\u0623", -1, 1, "", methodObject), new Among("\u0624", -1, 2, "", methodObject), new Among("\u0625", -1, 1, "", methodObject), new Among("\u0626", -1, 3, "", methodObject) }; private final static Among a_3[] = { new Among("\u0627\u0644", -1, 2, "", methodObject), new Among("\u0628\u0627\u0644", -1, 1, "", methodObject), new Among("\u0643\u0627\u0644", -1, 1, "", methodObject), new Among("\u0644\u0644", -1, 2, "", methodObject) }; private final static Among a_4[] = { new Among("\u0623\u0622", -1, 2, "", methodObject), new Among("\u0623\u0623", -1, 1, "", methodObject), new Among("\u0623\u0624", -1, 3, "", methodObject), new Among("\u0623\u0625", -1, 5, "", methodObject), new Among("\u0623\u0627", -1, 4, "", methodObject) }; private final static Among a_5[] = { new Among("\u0641", -1, 1, "", methodObject), new Among("\u0648", -1, 2, "", methodObject) }; private final static Among a_6[] = { new Among("\u0627\u0644", -1, 2, "", methodObject), new Among("\u0628\u0627\u0644", -1, 1, "", methodObject), new Among("\u0643\u0627\u0644", -1, 1, "", methodObject), new Among("\u0644\u0644", -1, 2, "", methodObject) }; private final static Among a_7[] = { new Among("\u0628", -1, 1, "", methodObject), new Among("\u0628\u0628", 0, 2, "", methodObject), new Among("\u0643\u0643", -1, 3, "", methodObject) }; private final static Among a_8[] = { new Among("\u0633\u0623", -1, 4, "", methodObject), new Among("\u0633\u062A", -1, 2, "", methodObject), new Among("\u0633\u0646", -1, 3, "", methodObject), new Among("\u0633\u064A", -1, 1, "", methodObject) }; private final static Among a_9[] = { new Among("\u062A\u0633\u062A", -1, 1, "", methodObject), new Among("\u0646\u0633\u062A", -1, 1, "", methodObject), new Among("\u064A\u0633\u062A", -1, 1, "", methodObject) }; private final static Among a_10[] = { new Among("\u0643\u0645\u0627", -1, 3, "", methodObject), new Among("\u0647\u0645\u0627", -1, 3, "", methodObject), new Among("\u0646\u0627", -1, 2, "", methodObject), new Among("\u0647\u0627", -1, 2, "", methodObject), new Among("\u0643", -1, 1, "", methodObject), new Among("\u0643\u0645", -1, 2, "", methodObject), new Among("\u0647\u0645", -1, 2, "", methodObject), new Among("\u0647\u0646", -1, 2, "", methodObject), new Among("\u0647", -1, 1, "", methodObject), new Among("\u064A", -1, 1, "", methodObject) }; private final static Among a_11[] = { new Among("\u0646", -1, 1, "", methodObject) }; private final static Among a_12[] = { new Among("\u0627", -1, 1, "", methodObject), new Among("\u0648", -1, 1, "", methodObject), new Among("\u064A", -1, 1, "", methodObject) }; private final static Among a_13[] = { new Among("\u0627\u062A", -1, 1, "", methodObject) }; private final static Among a_14[] = { new Among("\u062A", -1, 1, "", methodObject) }; private final static Among a_15[] = { new Among("\u0629", -1, 1, "", methodObject) }; private final static Among a_16[] = { new Among("\u064A", -1, 1, "", methodObject) }; private final static Among a_17[] = { new Among("\u0643\u0645\u0627", -1, 3, "", methodObject), new Among("\u0647\u0645\u0627", -1, 3, "", methodObject), new Among("\u0646\u0627", -1, 2, "", methodObject), new Among("\u0647\u0627", -1, 2, "", methodObject), new Among("\u0643", -1, 1, "", methodObject), new Among("\u0643\u0645", -1, 2, "", methodObject), new Among("\u0647\u0645", -1, 2, "", methodObject), new Among("\u0643\u0646", -1, 2, "", methodObject), new Among("\u0647\u0646", -1, 2, "", methodObject), new Among("\u0647", -1, 1, "", methodObject), new Among("\u0643\u0645\u0648", -1, 3, "", methodObject), new Among("\u0646\u064A", -1, 2, "", methodObject) }; private final static Among a_18[] = { new Among("\u0627", -1, 2, "", methodObject), new Among("\u062A\u0627", 0, 3, "", methodObject), new Among("\u062A\u0645\u0627", 0, 5, "", methodObject), new Among("\u0646\u0627", 0, 3, "", methodObject), new Among("\u062A", -1, 1, "", methodObject), new Among("\u0646", -1, 2, "", methodObject), new Among("\u0627\u0646", 5, 4, "", methodObject), new Among("\u062A\u0646", 5, 3, "", methodObject), new Among("\u0648\u0646", 5, 4, "", methodObject), new Among("\u064A\u0646", 5, 4, "", methodObject), new Among("\u064A", -1, 2, "", methodObject) }; private final static Among a_19[] = { new Among("\u0648\u0627", -1, 1, "", methodObject), new Among("\u062A\u0645", -1, 1, "", methodObject) }; private final static Among a_20[] = { new Among("\u0648", -1, 1, "", methodObject), new Among("\u062A\u0645\u0648", 0, 2, "", methodObject) }; private final static Among a_21[] = { new Among("\u0649", -1, 1, "", methodObject) }; private boolean B_is_defined; private boolean B_is_verb; private boolean B_is_noun; private int I_word_len; private boolean r_Normalize_pre() { int among_var; // (, line 251 // loop, line 252 for (int v_1 = getCurrent().length(); v_1 > 0; v_1--) { // (, line 252 // or, line 316 lab0: do { int v_2 = cursor; lab1: do { // (, line 253 // [, line 254 bra = cursor; // substring, line 254 among_var = find_among(a_0, a_0.length); if (among_var == 0) { break lab1; } // ], line 254 ket = cursor; switch (among_var) { case 0: break lab1; case 1: // (, line 255 // delete, line 255 slice_del(); break; case 2: // (, line 256 // delete, line 256 slice_del(); break; case 3: // (, line 259 // <-, line 259 slice_from("0"); break; case 4: // (, line 260 // <-, line 260 slice_from("1"); break; case 5: // (, line 261 // <-, line 261 slice_from("2"); break; case 6: // (, line 262 // <-, line 262 slice_from("3"); break; case 7: // (, line 263 // <-, line 263 slice_from("4"); break; case 8: // (, line 264 // <-, line 264 slice_from("5"); break; case 9: // (, line 265 // <-, line 265 slice_from("6"); break; case 10: // (, line 266 // <-, line 266 slice_from("7"); break; case 11: // (, line 267 // <-, line 267 slice_from("8"); break; case 12: // (, line 268 // <-, line 268 slice_from("9"); break; case 13: // (, line 271 // <-, line 271 slice_from("\u0621"); break; case 14: // (, line 272 // <-, line 272 slice_from("\u0623"); break; case 15: // (, line 273 // <-, line 273 slice_from("\u0625"); break; case 16: // (, line 274 // <-, line 274 slice_from("\u0626"); break; case 17: // (, line 275 // <-, line 275 slice_from("\u0622"); break; case 18: // (, line 276 // <-, line 276 slice_from("\u0624"); break; case 19: // (, line 277 // <-, line 277 slice_from("\u0627"); break; case 20: // (, line 278 // <-, line 278 slice_from("\u0628"); break; case 21: // (, line 279 // <-, line 279 slice_from("\u0629"); break; case 22: // (, line 280 // <-, line 280 slice_from("\u062A"); break; case 23: // (, line 281 // <-, line 281 slice_from("\u062B"); break; case 24: // (, line 282 // <-, line 282 slice_from("\u062C"); break; case 25: // (, line 283 // <-, line 283 slice_from("\u062D"); break; case 26: // (, line 284 // <-, line 284 slice_from("\u062E"); break; case 27: // (, line 285 // <-, line 285 slice_from("\u062F"); break; case 28: // (, line 286 // <-, line 286 slice_from("\u0630"); break; case 29: // (, line 287 // <-, line 287 slice_from("\u0631"); break; case 30: // (, line 288 // <-, line 288 slice_from("\u0632"); break; case 31: // (, line 289 // <-, line 289 slice_from("\u0633"); break; case 32: // (, line 290 // <-, line 290 slice_from("\u0634"); break; case 33: // (, line 291 // <-, line 291 slice_from("\u0635"); break; case 34: // (, line 292 // <-, line 292 slice_from("\u0636"); break; case 35: // (, line 293 // <-, line 293 slice_from("\u0637"); break; case 36: // (, line 294 // <-, line 294 slice_from("\u0638"); break; case 37: // (, line 295 // <-, line 295 slice_from("\u0639"); break; case 38: // (, line 296 // <-, line 296 slice_from("\u063A"); break; case 39: // (, line 297 // <-, line 297 slice_from("\u0641"); break; case 40: // (, line 298 // <-, line 298 slice_from("\u0642"); break; case 41: // (, line 299 // <-, line 299 slice_from("\u0643"); break; case 42: // (, line 300 // <-, line 300 slice_from("\u0644"); break; case 43: // (, line 301 // <-, line 301 slice_from("\u0645"); break; case 44: // (, line 302 // <-, line 302 slice_from("\u0646"); break; case 45: // (, line 303 // <-, line 303 slice_from("\u0647"); break; case 46: // (, line 304 // <-, line 304 slice_from("\u0648"); break; case 47: // (, line 305 // <-, line 305 slice_from("\u0649"); break; case 48: // (, line 306 // <-, line 306 slice_from("\u064A"); break; case 49: // (, line 309 // <-, line 309 slice_from("\u0644\u0627"); break; case 50: // (, line 310 // <-, line 310 slice_from("\u0644\u0623"); break; case 51: // (, line 311 // <-, line 311 slice_from("\u0644\u0625"); break; case 52: // (, line 312 // <-, line 312 slice_from("\u0644\u0622"); break; } break lab0; } while (false); cursor = v_2; // next, line 317 if (cursor >= limit) { return false; } cursor++; } while (false); } return true; } private boolean r_Normalize_post() { int among_var; // (, line 321 // do, line 323 int v_1 = cursor; lab0: do { // (, line 323 // backwards, line 325 limit_backward = cursor; cursor = limit; // (, line 325 // [, line 326 ket = cursor; // substring, line 326 among_var = find_among_b(a_1, a_1.length); if (among_var == 0) { break lab0; } // ], line 326 bra = cursor; switch (among_var) { case 0: break lab0; case 1: // (, line 327 // <-, line 327 slice_from("\u0621"); break; case 2: // (, line 328 // <-, line 328 slice_from("\u0621"); break; case 3: // (, line 329 // <-, line 329 slice_from("\u0621"); break; } cursor = limit_backward; } while (false); cursor = v_1; // do, line 334 int v_2 = cursor; lab1: do { // loop, line 334 for (int v_3 = I_word_len; v_3 > 0; v_3--) { // (, line 334 // or, line 343 lab2: do { int v_4 = cursor; lab3: do { // (, line 335 // [, line 337 bra = cursor; // substring, line 337 among_var = find_among(a_2, a_2.length); if (among_var == 0) { break lab3; } // ], line 337 ket = cursor; switch (among_var) { case 0: break lab3; case 1: // (, line 338 // <-, line 338 slice_from("\u0627"); break; case 2: // (, line 339 // <-, line 339 slice_from("\u0648"); break; case 3: // (, line 340 // <-, line 340 slice_from("\u064A"); break; } break lab2; } while (false); cursor = v_4; // next, line 344 if (cursor >= limit) { break lab1; } cursor++; } while (false); } } while (false); cursor = v_2; return true; } private boolean r_Checks1() { int among_var; // (, line 349 I_word_len = getCurrent().length(); // [, line 351 bra = cursor; // substring, line 351 among_var = find_among(a_3, a_3.length); if (among_var == 0) { return false; } // ], line 351 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 352 if (!(I_word_len > 4)) { return false; } // set is_noun, line 352 B_is_noun = true; // unset is_verb, line 352 B_is_verb = false; // set is_defined, line 352 B_is_defined = true; break; case 2: // (, line 353 if (!(I_word_len > 3)) { return false; } // set is_noun, line 353 B_is_noun = true; // unset is_verb, line 353 B_is_verb = false; // set is_defined, line 353 B_is_defined = true; break; } return true; } private boolean r_Prefix_Step1() { int among_var; // (, line 359 I_word_len = getCurrent().length(); // [, line 361 bra = cursor; // substring, line 361 among_var = find_among(a_4, a_4.length); if (among_var == 0) { return false; } // ], line 361 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 362 if (!(I_word_len > 3)) { return false; } // <-, line 362 slice_from("\u0623"); break; case 2: // (, line 363 if (!(I_word_len > 3)) { return false; } // <-, line 363 slice_from("\u0622"); break; case 3: // (, line 364 if (!(I_word_len > 3)) { return false; } // <-, line 364 slice_from("\u0623"); break; case 4: // (, line 365 if (!(I_word_len > 3)) { return false; } // <-, line 365 slice_from("\u0627"); break; case 5: // (, line 366 if (!(I_word_len > 3)) { return false; } // <-, line 366 slice_from("\u0625"); break; } return true; } private boolean r_Prefix_Step2() { int among_var; // (, line 371 I_word_len = getCurrent().length(); // not, line 373 { int v_1 = cursor; lab0: do { // literal, line 373 if (!(eq_s("\u0641\u0627".length(),"\u0641\u0627"))) { break lab0; } return false; } while (false); cursor = v_1; } // not, line 374 { int v_2 = cursor; lab1: do { // literal, line 374 if (!(eq_s("\u0648\u0627".length(),"\u0648\u0627"))) { break lab1; } return false; } while (false); cursor = v_2; } // [, line 375 bra = cursor; // substring, line 375 among_var = find_among(a_5, a_5.length); if (among_var == 0) { return false; } // ], line 375 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 376 if (!(I_word_len > 3)) { return false; } // delete, line 376 slice_del(); break; case 2: // (, line 377 if (!(I_word_len > 3)) { return false; } // delete, line 377 slice_del(); break; } return true; } private boolean r_Prefix_Step3a_Noun() { int among_var; // (, line 381 I_word_len = getCurrent().length(); // [, line 383 bra = cursor; // substring, line 383 among_var = find_among(a_6, a_6.length); if (among_var == 0) { return false; } // ], line 383 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 384 if (!(I_word_len > 5)) { return false; } // delete, line 384 slice_del(); break; case 2: // (, line 385 if (!(I_word_len > 4)) { return false; } // delete, line 385 slice_del(); break; } return true; } private boolean r_Prefix_Step3b_Noun() { int among_var; // (, line 389 I_word_len = getCurrent().length(); // not, line 391 { int v_1 = cursor; lab0: do { // literal, line 391 if (!(eq_s("\u0628\u0627".length(),"\u0628\u0627"))) { break lab0; } return false; } while (false); cursor = v_1; } // [, line 392 bra = cursor; // substring, line 392 among_var = find_among(a_7, a_7.length); if (among_var == 0) { return false; } // ], line 392 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 393 if (!(I_word_len > 3)) { return false; } // delete, line 393 slice_del(); break; case 2: // (, line 395 if (!(I_word_len > 3)) { return false; } // <-, line 395 slice_from("\u0628"); break; case 3: // (, line 396 if (!(I_word_len > 3)) { return false; } // <-, line 396 slice_from("\u0643"); break; } return true; } private boolean r_Prefix_Step3_Verb() { int among_var; // (, line 401 I_word_len = getCurrent().length(); // [, line 403 bra = cursor; // substring, line 403 among_var = find_among(a_8, a_8.length); if (among_var == 0) { return false; } // ], line 403 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 405 if (!(I_word_len > 4)) { return false; } // <-, line 405 slice_from("\u064A"); break; case 2: // (, line 406 if (!(I_word_len > 4)) { return false; } // <-, line 406 slice_from("\u062A"); break; case 3: // (, line 407 if (!(I_word_len > 4)) { return false; } // <-, line 407 slice_from("\u0646"); break; case 4: // (, line 408 if (!(I_word_len > 4)) { return false; } // <-, line 408 slice_from("\u0623"); break; } return true; } private boolean r_Prefix_Step4_Verb() { int among_var; // (, line 412 I_word_len = getCurrent().length(); // [, line 414 bra = cursor; // substring, line 414 among_var = find_among(a_9, a_9.length); if (among_var == 0) { return false; } // ], line 414 ket = cursor; switch (among_var) { case 0: return false; case 1: // (, line 415 if (!(I_word_len > 4)) { return false; } // set is_verb, line 415 B_is_verb = true; // unset is_noun, line 415 B_is_noun = false; // <-, line 415 slice_from("\u0627\u0633\u062A"); break; } return true; } private boolean r_Suffix_Noun_Step1a() { int among_var; // (, line 422 I_word_len = getCurrent().length(); // [, line 424 ket = cursor; // substring, line 424 among_var = find_among_b(a_10, a_10.length); if (among_var == 0) { return false; } // ], line 424 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 425 if (!(I_word_len >= 4)) { return false; } // delete, line 425 slice_del(); break; case 2: // (, line 426 if (!(I_word_len >= 5)) { return false; } // delete, line 426 slice_del(); break; case 3: // (, line 427 if (!(I_word_len >= 6)) { return false; } // delete, line 427 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step1b() { int among_var; // (, line 430 I_word_len = getCurrent().length(); // [, line 432 ket = cursor; // substring, line 432 among_var = find_among_b(a_11, a_11.length); if (among_var == 0) { return false; } // ], line 432 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 433 if (!(I_word_len > 5)) { return false; } // delete, line 433 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step2a() { int among_var; // (, line 437 I_word_len = getCurrent().length(); // [, line 439 ket = cursor; // substring, line 439 among_var = find_among_b(a_12, a_12.length); if (among_var == 0) { return false; } // ], line 439 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 440 if (!(I_word_len > 4)) { return false; } // delete, line 440 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step2b() { int among_var; // (, line 444 I_word_len = getCurrent().length(); // [, line 446 ket = cursor; // substring, line 446 among_var = find_among_b(a_13, a_13.length); if (among_var == 0) { return false; } // ], line 446 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 447 if (!(I_word_len >= 5)) { return false; } // delete, line 447 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step2c1() { int among_var; // (, line 451 I_word_len = getCurrent().length(); // [, line 453 ket = cursor; // substring, line 453 among_var = find_among_b(a_14, a_14.length); if (among_var == 0) { return false; } // ], line 453 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 454 if (!(I_word_len >= 4)) { return false; } // delete, line 454 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step2c2() { int among_var; // (, line 457 I_word_len = getCurrent().length(); // [, line 459 ket = cursor; // substring, line 459 among_var = find_among_b(a_15, a_15.length); if (among_var == 0) { return false; } // ], line 459 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 460 if (!(I_word_len >= 4)) { return false; } // delete, line 460 slice_del(); break; } return true; } private boolean r_Suffix_Noun_Step3() { int among_var; // (, line 463 I_word_len = getCurrent().length(); // [, line 465 ket = cursor; // substring, line 465 among_var = find_among_b(a_16, a_16.length); if (among_var == 0) { return false; } // ], line 465 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 466 if (!(I_word_len >= 3)) { return false; } // delete, line 466 slice_del(); break; } return true; } private boolean r_Suffix_Verb_Step1() { int among_var; // (, line 470 I_word_len = getCurrent().length(); // [, line 472 ket = cursor; // substring, line 472 among_var = find_among_b(a_17, a_17.length); if (among_var == 0) { return false; } // ], line 472 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 473 if (!(I_word_len >= 4)) { return false; } // delete, line 473 slice_del(); break; case 2: // (, line 474 if (!(I_word_len >= 5)) { return false; } // delete, line 474 slice_del(); break; case 3: // (, line 475 if (!(I_word_len >= 6)) { return false; } // delete, line 475 slice_del(); break; } return true; } private boolean r_Suffix_Verb_Step2a() { int among_var; // (, line 478 I_word_len = getCurrent().length(); // [, line 480 ket = cursor; // substring, line 480 among_var = find_among_b(a_18, a_18.length); if (among_var == 0) { return false; } // ], line 480 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 481 if (!(I_word_len >= 4)) { return false; } // delete, line 481 slice_del(); break; case 2: // (, line 482 if (!(I_word_len >= 4)) { return false; } // delete, line 482 slice_del(); break; case 3: // (, line 483 if (!(I_word_len >= 5)) { return false; } // delete, line 483 slice_del(); break; case 4: // (, line 484 if (!(I_word_len > 5)) { return false; } // delete, line 484 slice_del(); break; case 5: // (, line 485 if (!(I_word_len >= 6)) { return false; } // delete, line 485 slice_del(); break; } return true; } private boolean r_Suffix_Verb_Step2b() { int among_var; // (, line 489 I_word_len = getCurrent().length(); // [, line 491 ket = cursor; // substring, line 491 among_var = find_among_b(a_19, a_19.length); if (among_var == 0) { return false; } // ], line 491 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 492 if (!(I_word_len >= 5)) { return false; } // delete, line 492 slice_del(); break; } return true; } private boolean r_Suffix_Verb_Step2c() { int among_var; // (, line 497 I_word_len = getCurrent().length(); // [, line 499 ket = cursor; // substring, line 499 among_var = find_among_b(a_20, a_20.length); if (among_var == 0) { return false; } // ], line 499 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 500 if (!(I_word_len >= 4)) { return false; } // delete, line 500 slice_del(); break; case 2: // (, line 501 if (!(I_word_len >= 6)) { return false; } // delete, line 501 slice_del(); break; } return true; } private boolean r_Suffix_All_alef_maqsura() { int among_var; // (, line 505 I_word_len = getCurrent().length(); // [, line 507 ket = cursor; // substring, line 507 among_var = find_among_b(a_21, a_21.length); if (among_var == 0) { return false; } // ], line 507 bra = cursor; switch (among_var) { case 0: return false; case 1: // (, line 508 // <-, line 508 slice_from("\u064A"); break; } return true; } public boolean stem() { // (, line 515 // set is_noun, line 517 B_is_noun = true; // set is_verb, line 518 B_is_verb = true; // unset is_defined, line 519 B_is_defined = false; // do, line 522 int v_1 = cursor; lab0: do { // call Checks1, line 522 if (!r_Checks1()) { break lab0; } } while (false); cursor = v_1; // do, line 525 int v_2 = cursor; lab1: do { // call Normalize_pre, line 525 if (!r_Normalize_pre()) { break lab1; } } while (false); cursor = v_2; // backwards, line 528 limit_backward = cursor; cursor = limit; // (, line 528 // do, line 530 int v_3 = limit - cursor; lab2: do { // (, line 530 // or, line 544 lab3: do { int v_4 = limit - cursor; lab4: do { // (, line 532 // Boolean test is_verb, line 533 if (!(B_is_verb)) { break lab4; } // (, line 534 // or, line 539 lab5: do { int v_5 = limit - cursor; lab6: do { // (, line 535 // (, line 536 // atleast, line 536 { int v_6 = 1; // atleast, line 536 replab7: while(true) { int v_7 = limit - cursor; lab8: do { // call Suffix_Verb_Step1, line 536 if (!r_Suffix_Verb_Step1()) { break lab8; } v_6--; continue replab7; } while (false); cursor = limit - v_7; break replab7; } if (v_6 > 0) { break lab6; } } // (, line 537 // or, line 537 lab9: do { int v_8 = limit - cursor; lab10: do { // call Suffix_Verb_Step2a, line 537 if (!r_Suffix_Verb_Step2a()) { break lab10; } break lab9; } while (false); cursor = limit - v_8; lab11: do { // call Suffix_Verb_Step2c, line 537 if (!r_Suffix_Verb_Step2c()) { break lab11; } break lab9; } while (false); cursor = limit - v_8; // next, line 537 if (cursor <= limit_backward) { break lab6; } cursor--; } while (false); break lab5; } while (false); cursor = limit - v_5; lab12: do { // call Suffix_Verb_Step2b, line 539 if (!r_Suffix_Verb_Step2b()) { break lab12; } break lab5; } while (false); cursor = limit - v_5; // call Suffix_Verb_Step2a, line 540 if (!r_Suffix_Verb_Step2a()) { break lab4; } } while (false); break lab3; } while (false); cursor = limit - v_4; lab13: do { // (, line 544 // Boolean test is_noun, line 545 if (!(B_is_noun)) { break lab13; } // (, line 546 // try, line 548 int v_9 = limit - cursor; lab14: do { // (, line 548 // or, line 550 lab15: do { int v_10 = limit - cursor; lab16: do { // call Suffix_Noun_Step2c2, line 549 if (!r_Suffix_Noun_Step2c2()) { break lab16; } break lab15; } while (false); cursor = limit - v_10; lab17: do { // (, line 550 // not, line 550 lab18: do { // Boolean test is_defined, line 550 if (!(B_is_defined)) { break lab18; } break lab17; } while (false); // call Suffix_Noun_Step1a, line 550 if (!r_Suffix_Noun_Step1a()) { break lab17; } // (, line 550 // or, line 552 lab19: do { int v_12 = limit - cursor; lab20: do { // call Suffix_Noun_Step2a, line 551 if (!r_Suffix_Noun_Step2a()) { break lab20; } break lab19; } while (false); cursor = limit - v_12; lab21: do { // call Suffix_Noun_Step2b, line 552 if (!r_Suffix_Noun_Step2b()) { break lab21; } break lab19; } while (false); cursor = limit - v_12; lab22: do { // call Suffix_Noun_Step2c1, line 553 if (!r_Suffix_Noun_Step2c1()) { break lab22; } break lab19; } while (false); cursor = limit - v_12; // next, line 554 if (cursor <= limit_backward) { break lab17; } cursor--; } while (false); break lab15; } while (false); cursor = limit - v_10; lab23: do { // (, line 555 // call Suffix_Noun_Step1b, line 555 if (!r_Suffix_Noun_Step1b()) { break lab23; } // (, line 555 // or, line 557 lab24: do { int v_13 = limit - cursor; lab25: do { // call Suffix_Noun_Step2a, line 556 if (!r_Suffix_Noun_Step2a()) { break lab25; } break lab24; } while (false); cursor = limit - v_13; lab26: do { // call Suffix_Noun_Step2b, line 557 if (!r_Suffix_Noun_Step2b()) { break lab26; } break lab24; } while (false); cursor = limit - v_13; // call Suffix_Noun_Step2c1, line 558 if (!r_Suffix_Noun_Step2c1()) { break lab23; } } while (false); break lab15; } while (false); cursor = limit - v_10; lab27: do { // (, line 559 // not, line 559 lab28: do { // Boolean test is_defined, line 559 if (!(B_is_defined)) { break lab28; } break lab27; } while (false); // call Suffix_Noun_Step2a, line 559 if (!r_Suffix_Noun_Step2a()) { break lab27; } break lab15; } while (false); cursor = limit - v_10; // (, line 560 // call Suffix_Noun_Step2b, line 560 if (!r_Suffix_Noun_Step2b()) { cursor = limit - v_9; break lab14; } } while (false); } while (false); // call Suffix_Noun_Step3, line 562 if (!r_Suffix_Noun_Step3()) { break lab13; } break lab3; } while (false); cursor = limit - v_4; // call Suffix_All_alef_maqsura, line 568 if (!r_Suffix_All_alef_maqsura()) { break lab2; } } while (false); } while (false); cursor = limit - v_3; cursor = limit_backward; // do, line 573 int v_15 = cursor; lab29: do { // (, line 573 // try, line 574 int v_16 = cursor; lab30: do { // call Prefix_Step1, line 574 if (!r_Prefix_Step1()) { cursor = v_16; break lab30; } } while (false); // try, line 575 int v_17 = cursor; lab31: do { // call Prefix_Step2, line 575 if (!r_Prefix_Step2()) { cursor = v_17; break lab31; } } while (false); // (, line 576 // or, line 577 lab32: do { int v_18 = cursor; lab33: do { // call Prefix_Step3a_Noun, line 576 if (!r_Prefix_Step3a_Noun()) { break lab33; } break lab32; } while (false); cursor = v_18; lab34: do { // (, line 577 // Boolean test is_noun, line 577 if (!(B_is_noun)) { break lab34; } // call Prefix_Step3b_Noun, line 577 if (!r_Prefix_Step3b_Noun()) { break lab34; } break lab32; } while (false); cursor = v_18; // (, line 578 // Boolean test is_verb, line 578 if (!(B_is_verb)) { break lab29; } // try, line 578 int v_19 = cursor; lab35: do { // call Prefix_Step3_Verb, line 578 if (!r_Prefix_Step3_Verb()) { cursor = v_19; break lab35; } } while (false); // call Prefix_Step4_Verb, line 578 if (!r_Prefix_Step4_Verb()) { break lab29; } } while (false); } while (false); cursor = v_15; // do, line 583 int v_20 = cursor; lab36: do { // call Normalize_post, line 583 if (!r_Normalize_post()) { break lab36; } } while (false); cursor = v_20; return true; } public boolean equals( Object o ) { return o instanceof ArabicStemmer; } public int hashCode() { return ArabicStemmer.class.getName().hashCode(); } }