# Generated by Snowball 2.2.0 - https://snowballstem.org/ from .basestemmer import BaseStemmer from .among import Among class YiddishStemmer(BaseStemmer): ''' This class implements the stemming algorithm defined by a snowball script. Generated by Snowball 2.2.0 - https://snowballstem.org/ ''' a_0 = [ Among(u"\u05D5\u05D5", -1, 1), Among(u"\u05D5\u05D9", -1, 2), Among(u"\u05D9\u05D9", -1, 3), Among(u"\u05DA", -1, 4), Among(u"\u05DD", -1, 5), Among(u"\u05DF", -1, 6), Among(u"\u05E3", -1, 7), Among(u"\u05E5", -1, 8) ] a_1 = [ Among(u"\u05D0\u05D3\u05D5\u05E8\u05DB", -1, 1), Among(u"\u05D0\u05D4\u05D9\u05E0", -1, 1), Among(u"\u05D0\u05D4\u05E2\u05E8", -1, 1), Among(u"\u05D0\u05D4\u05F2\u05DE", -1, 1), Among(u"\u05D0\u05D5\u05DE", -1, 1), Among(u"\u05D0\u05D5\u05E0\u05D8\u05E2\u05E8", -1, 1), Among(u"\u05D0\u05D9\u05D1\u05E2\u05E8", -1, 1), Among(u"\u05D0\u05E0", -1, 1), Among(u"\u05D0\u05E0\u05D8", 7, 1), Among(u"\u05D0\u05E0\u05D8\u05E7\u05E2\u05D2\u05E0", 8, 1), Among(u"\u05D0\u05E0\u05D9\u05D3\u05E2\u05E8", 7, 1), Among(u"\u05D0\u05E4", -1, 1), Among(u"\u05D0\u05E4\u05D9\u05E8", 11, 1), Among(u"\u05D0\u05E7\u05E2\u05D2\u05E0", -1, 1), Among(u"\u05D0\u05E8\u05D0\u05E4", -1, 1), Among(u"\u05D0\u05E8\u05D5\u05DE", -1, 1), Among(u"\u05D0\u05E8\u05D5\u05E0\u05D8\u05E2\u05E8", -1, 1), Among(u"\u05D0\u05E8\u05D9\u05D1\u05E2\u05E8", -1, 1), Among(u"\u05D0\u05E8\u05F1\u05E1", -1, 1), Among(u"\u05D0\u05E8\u05F1\u05E4", -1, 1), Among(u"\u05D0\u05E8\u05F2\u05E0", -1, 1), Among(u"\u05D0\u05F0\u05E2\u05E7", -1, 1), Among(u"\u05D0\u05F1\u05E1", -1, 1), Among(u"\u05D0\u05F1\u05E4", -1, 1), Among(u"\u05D0\u05F2\u05E0", -1, 1), Among(u"\u05D1\u05D0", -1, 1), Among(u"\u05D1\u05F2", -1, 1), Among(u"\u05D3\u05D5\u05E8\u05DB", -1, 1), Among(u"\u05D3\u05E2\u05E8", -1, 1), Among(u"\u05DE\u05D9\u05D8", -1, 1), Among(u"\u05E0\u05D0\u05DB", -1, 1), Among(u"\u05E4\u05D0\u05E8", -1, 1), Among(u"\u05E4\u05D0\u05E8\u05D1\u05F2", 31, 1), Among(u"\u05E4\u05D0\u05E8\u05F1\u05E1", 31, 1), Among(u"\u05E4\u05D5\u05E0\u05D0\u05E0\u05D3\u05E2\u05E8", -1, 1), Among(u"\u05E6\u05D5", -1, 1), Among(u"\u05E6\u05D5\u05D6\u05D0\u05DE\u05E2\u05E0", 35, 1), Among(u"\u05E6\u05D5\u05E0\u05F1\u05E4", 35, 1), Among(u"\u05E6\u05D5\u05E8\u05D9\u05E7", 35, 1), Among(u"\u05E6\u05E2", -1, 1) ] a_2 = [ Among(u"\u05D3\u05D6\u05E9", -1, -1), Among(u"\u05E9\u05D8\u05E8", -1, -1), Among(u"\u05E9\u05D8\u05E9", -1, -1), Among(u"\u05E9\u05E4\u05E8", -1, -1) ] a_3 = [ Among(u"\u05E7\u05DC\u05D9\u05D1", -1, 9), Among(u"\u05E8\u05D9\u05D1", -1, 10), Among(u"\u05D8\u05E8\u05D9\u05D1", 1, 7), Among(u"\u05E9\u05E8\u05D9\u05D1", 1, 15), Among(u"\u05D4\u05F1\u05D1", -1, 23), Among(u"\u05E9\u05F0\u05D9\u05D2", -1, 12), Among(u"\u05D2\u05D0\u05E0\u05D2", -1, 1), Among(u"\u05D6\u05D5\u05E0\u05D2", -1, 18), Among(u"\u05E9\u05DC\u05D5\u05E0\u05D2", -1, 21), Among(u"\u05E6\u05F0\u05D5\u05E0\u05D2", -1, 20), Among(u"\u05D1\u05F1\u05D2", -1, 22), Among(u"\u05D1\u05D5\u05E0\u05D3", -1, 16), Among(u"\u05F0\u05D9\u05D6", -1, 6), Among(u"\u05D1\u05D9\u05D8", -1, 4), Among(u"\u05DC\u05D9\u05D8", -1, 8), Among(u"\u05DE\u05D9\u05D8", -1, 3), Among(u"\u05E9\u05E0\u05D9\u05D8", -1, 14), Among(u"\u05E0\u05D5\u05DE", -1, 2), Among(u"\u05E9\u05D8\u05D0\u05E0", -1, 25), Among(u"\u05D1\u05D9\u05E1", -1, 5), Among(u"\u05E9\u05DE\u05D9\u05E1", -1, 13), Among(u"\u05E8\u05D9\u05E1", -1, 11), Among(u"\u05D8\u05E8\u05D5\u05E0\u05E7", -1, 19), Among(u"\u05E4\u05D0\u05E8\u05DC\u05F1\u05E8", -1, 24), Among(u"\u05E9\u05F0\u05F1\u05E8", -1, 26), Among(u"\u05F0\u05D5\u05D8\u05E9", -1, 17) ] a_4 = [ Among(u"\u05D5\u05E0\u05D2", -1, 1), Among(u"\u05E1\u05D8\u05D5", -1, 1), Among(u"\u05D8", -1, 1), Among(u"\u05D1\u05E8\u05D0\u05DB\u05D8", 2, 31), Among(u"\u05E1\u05D8", 2, 1), Among(u"\u05D9\u05E1\u05D8", 4, 33), Among(u"\u05E2\u05D8", 2, 1), Among(u"\u05E9\u05D0\u05E4\u05D8", 2, 1), Among(u"\u05D4\u05F2\u05D8", 2, 1), Among(u"\u05E7\u05F2\u05D8", 2, 1), Among(u"\u05D9\u05E7\u05F2\u05D8", 9, 1), Among(u"\u05DC\u05E2\u05DB", -1, 1), Among(u"\u05E2\u05DC\u05E2\u05DB", 11, 1), Among(u"\u05D9\u05D6\u05DE", -1, 1), Among(u"\u05D9\u05DE", -1, 1), Among(u"\u05E2\u05DE", -1, 1), Among(u"\u05E2\u05E0\u05E2\u05DE", 15, 3), Among(u"\u05D8\u05E2\u05E0\u05E2\u05DE", 16, 4), Among(u"\u05E0", -1, 1), Among(u"\u05E7\u05DC\u05D9\u05D1\u05E0", 18, 14), Among(u"\u05E8\u05D9\u05D1\u05E0", 18, 15), Among(u"\u05D8\u05E8\u05D9\u05D1\u05E0", 20, 12), Among(u"\u05E9\u05E8\u05D9\u05D1\u05E0", 20, 7), Among(u"\u05D4\u05F1\u05D1\u05E0", 18, 27), Among(u"\u05E9\u05F0\u05D9\u05D2\u05E0", 18, 17), Among(u"\u05D6\u05D5\u05E0\u05D2\u05E0", 18, 22), Among(u"\u05E9\u05DC\u05D5\u05E0\u05D2\u05E0", 18, 25), Among(u"\u05E6\u05F0\u05D5\u05E0\u05D2\u05E0", 18, 24), Among(u"\u05D1\u05F1\u05D2\u05E0", 18, 26), Among(u"\u05D1\u05D5\u05E0\u05D3\u05E0", 18, 20), Among(u"\u05F0\u05D9\u05D6\u05E0", 18, 11), Among(u"\u05D8\u05E0", 18, 4), Among(u"GE\u05D1\u05D9\u05D8\u05E0", 31, 9), Among(u"GE\u05DC\u05D9\u05D8\u05E0", 31, 13), Among(u"GE\u05DE\u05D9\u05D8\u05E0", 31, 8), Among(u"\u05E9\u05E0\u05D9\u05D8\u05E0", 31, 19), Among(u"\u05E1\u05D8\u05E0", 31, 1), Among(u"\u05D9\u05E1\u05D8\u05E0", 36, 1), Among(u"\u05E2\u05D8\u05E0", 31, 1), Among(u"GE\u05D1\u05D9\u05E1\u05E0", 18, 10), Among(u"\u05E9\u05DE\u05D9\u05E1\u05E0", 18, 18), Among(u"GE\u05E8\u05D9\u05E1\u05E0", 18, 16), Among(u"\u05E2\u05E0", 18, 1), Among(u"\u05D2\u05D0\u05E0\u05D2\u05E2\u05E0", 42, 5), Among(u"\u05E2\u05DC\u05E2\u05E0", 42, 1), Among(u"\u05E0\u05D5\u05DE\u05E2\u05E0", 42, 6), Among(u"\u05D9\u05D6\u05DE\u05E2\u05E0", 42, 1), Among(u"\u05E9\u05D8\u05D0\u05E0\u05E2\u05E0", 42, 29), Among(u"\u05D8\u05E8\u05D5\u05E0\u05E7\u05E0", 18, 23), Among(u"\u05E4\u05D0\u05E8\u05DC\u05F1\u05E8\u05E0", 18, 28), Among(u"\u05E9\u05F0\u05F1\u05E8\u05E0", 18, 30), Among(u"\u05F0\u05D5\u05D8\u05E9\u05E0", 18, 21), Among(u"\u05D2\u05F2\u05E0", 18, 5), Among(u"\u05E1", -1, 1), Among(u"\u05D8\u05E1", 53, 4), Among(u"\u05E2\u05D8\u05E1", 54, 1), Among(u"\u05E0\u05E1", 53, 1), Among(u"\u05D8\u05E0\u05E1", 56, 4), Among(u"\u05E2\u05E0\u05E1", 56, 3), Among(u"\u05E2\u05E1", 53, 1), Among(u"\u05D9\u05E2\u05E1", 59, 2), Among(u"\u05E2\u05DC\u05E2\u05E1", 59, 1), Among(u"\u05E2\u05E8\u05E1", 53, 1), Among(u"\u05E2\u05E0\u05E2\u05E8\u05E1", 62, 1), Among(u"\u05E2", -1, 1), Among(u"\u05D8\u05E2", 64, 4), Among(u"\u05E1\u05D8\u05E2", 65, 1), Among(u"\u05E2\u05D8\u05E2", 65, 1), Among(u"\u05D9\u05E2", 64, -1), Among(u"\u05E2\u05DC\u05E2", 64, 1), Among(u"\u05E2\u05E0\u05E2", 64, 3), Among(u"\u05D8\u05E2\u05E0\u05E2", 70, 4), Among(u"\u05E2\u05E8", -1, 1), Among(u"\u05D8\u05E2\u05E8", 72, 4), Among(u"\u05E1\u05D8\u05E2\u05E8", 73, 1), Among(u"\u05E2\u05D8\u05E2\u05E8", 73, 1), Among(u"\u05E2\u05E0\u05E2\u05E8", 72, 3), Among(u"\u05D8\u05E2\u05E0\u05E2\u05E8", 76, 4), Among(u"\u05D5\u05EA", -1, 32) ] a_5 = [ Among(u"\u05D5\u05E0\u05D2", -1, 1), Among(u"\u05E9\u05D0\u05E4\u05D8", -1, 1), Among(u"\u05D4\u05F2\u05D8", -1, 1), Among(u"\u05E7\u05F2\u05D8", -1, 1), Among(u"\u05D9\u05E7\u05F2\u05D8", 3, 1), Among(u"\u05DC", -1, 2) ] a_6 = [ Among(u"\u05D9\u05D2", -1, 1), Among(u"\u05D9\u05E7", -1, 1), Among(u"\u05D3\u05D9\u05E7", 1, 1), Among(u"\u05E0\u05D3\u05D9\u05E7", 2, 1), Among(u"\u05E2\u05E0\u05D3\u05D9\u05E7", 3, 1), Among(u"\u05D1\u05DC\u05D9\u05E7", 1, -1), Among(u"\u05D2\u05DC\u05D9\u05E7", 1, -1), Among(u"\u05E0\u05D9\u05E7", 1, 1), Among(u"\u05D9\u05E9", -1, 1) ] g_niked = [255, 155, 6] g_vowel = [33, 2, 4, 0, 6] g_consonant = [239, 254, 253, 131] I_x = 0 I_p1 = 0 def __r_prelude(self): v_1 = self.cursor try: while True: v_2 = self.cursor try: try: while True: v_3 = self.cursor try: self.bra = self.cursor among_var = self.find_among(YiddishStemmer.a_0) if among_var == 0: raise lab3() self.ket = self.cursor if among_var == 1: v_4 = self.cursor try: if not self.eq_s(u"\u05BC"): raise lab4() raise lab3() except lab4: pass self.cursor = v_4 if not self.slice_from(u"\u05F0"): return False elif among_var == 2: v_5 = self.cursor try: if not self.eq_s(u"\u05B4"): raise lab5() raise lab3() except lab5: pass self.cursor = v_5 if not self.slice_from(u"\u05F1"): return False elif among_var == 3: v_6 = self.cursor try: if not self.eq_s(u"\u05B4"): raise lab6() raise lab3() except lab6: pass self.cursor = v_6 if not self.slice_from(u"\u05F2"): return False elif among_var == 4: if not self.slice_from(u"\u05DB"): return False elif among_var == 5: if not self.slice_from(u"\u05DE"): return False elif among_var == 6: if not self.slice_from(u"\u05E0"): return False elif among_var == 7: if not self.slice_from(u"\u05E4"): return False else: if not self.slice_from(u"\u05E6"): return False self.cursor = v_3 raise lab2() except lab3: pass self.cursor = v_3 if self.cursor >= self.limit: raise lab1() self.cursor += 1 except lab2: pass continue except lab1: pass self.cursor = v_2 break except lab0: pass self.cursor = v_1 v_7 = self.cursor try: while True: v_8 = self.cursor try: try: while True: v_9 = self.cursor try: self.bra = self.cursor if not self.in_grouping(YiddishStemmer.g_niked, 1456, 1474): raise lab10() self.ket = self.cursor if not self.slice_del(): return False self.cursor = v_9 raise lab9() except lab10: pass self.cursor = v_9 if self.cursor >= self.limit: raise lab8() self.cursor += 1 except lab9: pass continue except lab8: pass self.cursor = v_8 break except lab7: pass self.cursor = v_7 return True def __r_mark_regions(self): self.I_p1 = self.limit v_1 = self.cursor try: self.bra = self.cursor if not self.eq_s(u"\u05D2\u05E2"): self.cursor = v_1 raise lab0() self.ket = self.cursor v_2 = self.cursor try: try: v_3 = self.cursor try: if not self.eq_s(u"\u05DC\u05D8"): raise lab3() raise lab2() except lab3: pass self.cursor = v_3 if not self.eq_s(u"\u05D1\u05E0"): raise lab1() except lab2: pass self.cursor = v_1 raise lab0() except lab1: pass self.cursor = v_2 if not self.slice_from(u"GE"): return False except lab0: pass v_4 = self.cursor try: if self.find_among(YiddishStemmer.a_1) == 0: self.cursor = v_4 raise lab4() try: v_5 = self.cursor try: v_6 = self.cursor try: v_7 = self.cursor try: if not self.eq_s(u"\u05E6\u05D5\u05D2\u05E0"): raise lab8() raise lab7() except lab8: pass self.cursor = v_7 try: if not self.eq_s(u"\u05E6\u05D5\u05E7\u05D8"): raise lab9() raise lab7() except lab9: pass self.cursor = v_7 if not self.eq_s(u"\u05E6\u05D5\u05E7\u05E0"): raise lab6() except lab7: pass if self.cursor < self.limit: raise lab6() self.cursor = v_6 raise lab5() except lab6: pass self.cursor = v_5 try: v_8 = self.cursor if not self.eq_s(u"\u05D2\u05E2\u05D1\u05E0"): raise lab10() self.cursor = v_8 raise lab5() except lab10: pass self.cursor = v_5 try: self.bra = self.cursor if not self.eq_s(u"\u05D2\u05E2"): raise lab11() self.ket = self.cursor if not self.slice_from(u"GE"): return False raise lab5() except lab11: pass self.cursor = v_5 self.bra = self.cursor if not self.eq_s(u"\u05E6\u05D5"): self.cursor = v_4 raise lab4() self.ket = self.cursor if not self.slice_from(u"TSU"): return False except lab5: pass except lab4: pass v_9 = self.cursor c = self.cursor + 3 if c > self.limit: return False self.cursor = c self.I_x = self.cursor self.cursor = v_9 v_10 = self.cursor try: if self.find_among(YiddishStemmer.a_2) == 0: self.cursor = v_10 raise lab12() except lab12: pass v_11 = self.cursor try: if not self.in_grouping(YiddishStemmer.g_consonant, 1489, 1520): raise lab13() if not self.in_grouping(YiddishStemmer.g_consonant, 1489, 1520): raise lab13() if not self.in_grouping(YiddishStemmer.g_consonant, 1489, 1520): raise lab13() self.I_p1 = self.cursor return False except lab13: pass self.cursor = v_11 if not self.go_out_grouping(YiddishStemmer.g_vowel, 1488, 1522): return False while True: try: if not self.in_grouping(YiddishStemmer.g_vowel, 1488, 1522): raise lab14() continue except lab14: pass break self.I_p1 = self.cursor try: if not self.I_p1 < self.I_x: raise lab15() self.I_p1 = self.I_x except lab15: pass return True def __r_R1(self): if not self.I_p1 <= self.cursor: return False return True def __r_R1plus3(self): if not self.I_p1 <= (self.cursor + 3): return False return True def __r_standard_suffix(self): v_1 = self.limit - self.cursor try: self.ket = self.cursor among_var = self.find_among_b(YiddishStemmer.a_4) if among_var == 0: raise lab0() self.bra = self.cursor if among_var == 1: if not self.__r_R1(): raise lab0() if not self.slice_del(): return False elif among_var == 2: if not self.__r_R1(): raise lab0() if not self.slice_from(u"\u05D9\u05E2"): return False elif among_var == 3: if not self.__r_R1(): raise lab0() if not self.slice_del(): return False self.ket = self.cursor among_var = self.find_among_b(YiddishStemmer.a_3) if among_var == 0: raise lab0() self.bra = self.cursor if among_var == 1: if not self.slice_from(u"\u05D2\u05F2"): return False elif among_var == 2: if not self.slice_from(u"\u05E0\u05E2\u05DE"): return False elif among_var == 3: if not self.slice_from(u"\u05DE\u05F2\u05D3"): return False elif among_var == 4: if not self.slice_from(u"\u05D1\u05F2\u05D8"): return False elif among_var == 5: if not self.slice_from(u"\u05D1\u05F2\u05E1"): return False elif among_var == 6: if not self.slice_from(u"\u05F0\u05F2\u05D6"): return False elif among_var == 7: if not self.slice_from(u"\u05D8\u05E8\u05F2\u05D1"): return False elif among_var == 8: if not self.slice_from(u"\u05DC\u05F2\u05D8"): return False elif among_var == 9: if not self.slice_from(u"\u05E7\u05DC\u05F2\u05D1"): return False elif among_var == 10: if not self.slice_from(u"\u05E8\u05F2\u05D1"): return False elif among_var == 11: if not self.slice_from(u"\u05E8\u05F2\u05E1"): return False elif among_var == 12: if not self.slice_from(u"\u05E9\u05F0\u05F2\u05D2"): return False elif among_var == 13: if not self.slice_from(u"\u05E9\u05DE\u05F2\u05E1"): return False elif among_var == 14: if not self.slice_from(u"\u05E9\u05E0\u05F2\u05D3"): return False elif among_var == 15: if not self.slice_from(u"\u05E9\u05E8\u05F2\u05D1"): return False elif among_var == 16: if not self.slice_from(u"\u05D1\u05D9\u05E0\u05D3"): return False elif among_var == 17: if not self.slice_from(u"\u05F0\u05D9\u05D8\u05E9"): return False elif among_var == 18: if not self.slice_from(u"\u05D6\u05D9\u05E0\u05D2"): return False elif among_var == 19: if not self.slice_from(u"\u05D8\u05E8\u05D9\u05E0\u05E7"): return False elif among_var == 20: if not self.slice_from(u"\u05E6\u05F0\u05D9\u05E0\u05D2"): return False elif among_var == 21: if not self.slice_from(u"\u05E9\u05DC\u05D9\u05E0\u05D2"): return False elif among_var == 22: if not self.slice_from(u"\u05D1\u05F2\u05D2"): return False elif among_var == 23: if not self.slice_from(u"\u05D4\u05F2\u05D1"): return False elif among_var == 24: if not self.slice_from(u"\u05E4\u05D0\u05E8\u05DC\u05D9\u05E8"): return False elif among_var == 25: if not self.slice_from(u"\u05E9\u05D8\u05F2"): return False else: if not self.slice_from(u"\u05E9\u05F0\u05E2\u05E8"): return False elif among_var == 4: try: v_2 = self.limit - self.cursor try: if not self.__r_R1(): raise lab2() if not self.slice_del(): return False raise lab1() except lab2: pass self.cursor = self.limit - v_2 if not self.slice_from(u"\u05D8"): return False except lab1: pass self.ket = self.cursor if not self.eq_s_b(u"\u05D1\u05E8\u05D0\u05DB"): raise lab0() v_3 = self.limit - self.cursor try: if not self.eq_s_b(u"\u05D2\u05E2"): self.cursor = self.limit - v_3 raise lab3() except lab3: pass self.bra = self.cursor if not self.slice_from(u"\u05D1\u05E8\u05E2\u05E0\u05D2"): return False elif among_var == 5: if not self.slice_from(u"\u05D2\u05F2"): return False elif among_var == 6: if not self.slice_from(u"\u05E0\u05E2\u05DE"): return False elif among_var == 7: if not self.slice_from(u"\u05E9\u05E8\u05F2\u05D1"): return False elif among_var == 8: if not self.slice_from(u"\u05DE\u05F2\u05D3"): return False elif among_var == 9: if not self.slice_from(u"\u05D1\u05F2\u05D8"): return False elif among_var == 10: if not self.slice_from(u"\u05D1\u05F2\u05E1"): return False elif among_var == 11: if not self.slice_from(u"\u05F0\u05F2\u05D6"): return False elif among_var == 12: if not self.slice_from(u"\u05D8\u05E8\u05F2\u05D1"): return False elif among_var == 13: if not self.slice_from(u"\u05DC\u05F2\u05D8"): return False elif among_var == 14: if not self.slice_from(u"\u05E7\u05DC\u05F2\u05D1"): return False elif among_var == 15: if not self.slice_from(u"\u05E8\u05F2\u05D1"): return False elif among_var == 16: if not self.slice_from(u"\u05E8\u05F2\u05E1"): return False elif among_var == 17: if not self.slice_from(u"\u05E9\u05F0\u05F2\u05D2"): return False elif among_var == 18: if not self.slice_from(u"\u05E9\u05DE\u05F2\u05E1"): return False elif among_var == 19: if not self.slice_from(u"\u05E9\u05E0\u05F2\u05D3"): return False elif among_var == 20: if not self.slice_from(u"\u05D1\u05D9\u05E0\u05D3"): return False elif among_var == 21: if not self.slice_from(u"\u05F0\u05D9\u05D8\u05E9"): return False elif among_var == 22: if not self.slice_from(u"\u05D6\u05D9\u05E0\u05D2"): return False elif among_var == 23: if not self.slice_from(u"\u05D8\u05E8\u05D9\u05E0\u05E7"): return False elif among_var == 24: if not self.slice_from(u"\u05E6\u05F0\u05D9\u05E0\u05D2"): return False elif among_var == 25: if not self.slice_from(u"\u05E9\u05DC\u05D9\u05E0\u05D2"): return False elif among_var == 26: if not self.slice_from(u"\u05D1\u05F2\u05D2"): return False elif among_var == 27: if not self.slice_from(u"\u05D4\u05F2\u05D1"): return False elif among_var == 28: if not self.slice_from(u"\u05E4\u05D0\u05E8\u05DC\u05D9\u05E8"): return False elif among_var == 29: if not self.slice_from(u"\u05E9\u05D8\u05F2"): return False elif among_var == 30: if not self.slice_from(u"\u05E9\u05F0\u05E2\u05E8"): return False elif among_var == 31: if not self.slice_from(u"\u05D1\u05E8\u05E2\u05E0\u05D2"): return False elif among_var == 32: if not self.__r_R1(): raise lab0() if not self.slice_from(u"\u05D4"): return False elif among_var == 33: try: v_4 = self.limit - self.cursor try: try: v_5 = self.limit - self.cursor try: if not self.eq_s_b(u"\u05D2"): raise lab7() raise lab6() except lab7: pass self.cursor = self.limit - v_5 if not self.eq_s_b(u"\u05E9"): raise lab5() except lab6: pass v_6 = self.limit - self.cursor try: if not self.__r_R1plus3(): self.cursor = self.limit - v_6 raise lab8() if not self.slice_from(u"\u05D9\u05E1"): return False except lab8: pass raise lab4() except lab5: pass self.cursor = self.limit - v_4 if not self.__r_R1(): raise lab0() if not self.slice_del(): return False except lab4: pass except lab0: pass self.cursor = self.limit - v_1 v_7 = self.limit - self.cursor try: self.ket = self.cursor among_var = self.find_among_b(YiddishStemmer.a_5) if among_var == 0: raise lab9() self.bra = self.cursor if among_var == 1: if not self.__r_R1(): raise lab9() if not self.slice_del(): return False else: if not self.__r_R1(): raise lab9() if not self.in_grouping_b(YiddishStemmer.g_consonant, 1489, 1520): raise lab9() if not self.slice_del(): return False except lab9: pass self.cursor = self.limit - v_7 v_8 = self.limit - self.cursor try: self.ket = self.cursor among_var = self.find_among_b(YiddishStemmer.a_6) if among_var == 0: raise lab10() self.bra = self.cursor if among_var == 1: if not self.__r_R1(): raise lab10() if not self.slice_del(): return False except lab10: pass self.cursor = self.limit - v_8 v_9 = self.limit - self.cursor try: while True: v_10 = self.limit - self.cursor try: try: while True: v_11 = self.limit - self.cursor try: self.ket = self.cursor try: v_12 = self.limit - self.cursor try: if not self.eq_s_b(u"GE"): raise lab16() raise lab15() except lab16: pass self.cursor = self.limit - v_12 if not self.eq_s_b(u"TSU"): raise lab14() except lab15: pass self.bra = self.cursor if not self.slice_del(): return False self.cursor = self.limit - v_11 raise lab13() except lab14: pass self.cursor = self.limit - v_11 if self.cursor <= self.limit_backward: raise lab12() self.cursor -= 1 except lab13: pass continue except lab12: pass self.cursor = self.limit - v_10 break except lab11: pass self.cursor = self.limit - v_9 return True def _stem(self): self.__r_prelude() v_2 = self.cursor self.__r_mark_regions() self.cursor = v_2 self.limit_backward = self.cursor self.cursor = self.limit self.__r_standard_suffix() self.cursor = self.limit_backward return True class lab0(BaseException): pass class lab1(BaseException): pass class lab2(BaseException): pass class lab3(BaseException): pass class lab4(BaseException): pass class lab5(BaseException): pass class lab6(BaseException): pass class lab7(BaseException): pass class lab8(BaseException): pass class lab9(BaseException): pass class lab10(BaseException): pass class lab11(BaseException): pass class lab12(BaseException): pass class lab13(BaseException): pass class lab14(BaseException): pass class lab15(BaseException): pass class lab16(BaseException): pass