| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855 |
- # 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
|