| @@ 94-130 (lines=37) @@ | ||
| 91 | ||
| 92 | # Step 1 |
|
| 93 | _r1 = word[r1_start:] |
|
| 94 | if _r1[-7:] == 'heterna': |
|
| 95 | word = word[:-7] |
|
| 96 | elif _r1[-6:] == 'hetens': |
|
| 97 | word = word[:-6] |
|
| 98 | elif _r1[-5:] in { |
|
| 99 | 'anden', |
|
| 100 | 'heten', |
|
| 101 | 'heter', |
|
| 102 | 'arnas', |
|
| 103 | 'ernas', |
|
| 104 | 'ornas', |
|
| 105 | 'andes', |
|
| 106 | 'arens', |
|
| 107 | 'andet', |
|
| 108 | }: |
|
| 109 | word = word[:-5] |
|
| 110 | elif _r1[-4:] in { |
|
| 111 | 'arna', |
|
| 112 | 'erna', |
|
| 113 | 'orna', |
|
| 114 | 'ande', |
|
| 115 | 'arne', |
|
| 116 | 'aste', |
|
| 117 | 'aren', |
|
| 118 | 'ades', |
|
| 119 | 'erns', |
|
| 120 | }: |
|
| 121 | word = word[:-4] |
|
| 122 | elif _r1[-3:] in {'ade', 'are', 'ern', 'ens', 'het', 'ast'}: |
|
| 123 | word = word[:-3] |
|
| 124 | elif _r1[-2:] in {'ad', 'en', 'ar', 'er', 'or', 'as', 'es', 'at'}: |
|
| 125 | word = word[:-2] |
|
| 126 | elif _r1[-1:] in {'a', 'e'}: |
|
| 127 | word = word[:-1] |
|
| 128 | elif _r1[-1:] == 's': |
|
| 129 | if len(word) > 1 and word[-2] in self._s_endings: |
|
| 130 | word = word[:-1] |
|
| 131 | ||
| 132 | # Step 2 |
|
| 133 | if word[r1_start:][-2:] in {'dd', 'gd', 'nn', 'dt', 'gt', 'kt', 'tt'}: |
|
| @@ 97-132 (lines=36) @@ | ||
| 94 | ||
| 95 | # Step 1 |
|
| 96 | _r1 = word[r1_start:] |
|
| 97 | if _r1[-7:] == 'erendes': |
|
| 98 | word = word[:-7] |
|
| 99 | elif _r1[-6:] in {'erende', 'hedens'}: |
|
| 100 | word = word[:-6] |
|
| 101 | elif _r1[-5:] in { |
|
| 102 | 'ethed', |
|
| 103 | 'erede', |
|
| 104 | 'heden', |
|
| 105 | 'heder', |
|
| 106 | 'endes', |
|
| 107 | 'ernes', |
|
| 108 | 'erens', |
|
| 109 | 'erets', |
|
| 110 | }: |
|
| 111 | word = word[:-5] |
|
| 112 | elif _r1[-4:] in { |
|
| 113 | 'ered', |
|
| 114 | 'ende', |
|
| 115 | 'erne', |
|
| 116 | 'eren', |
|
| 117 | 'erer', |
|
| 118 | 'heds', |
|
| 119 | 'enes', |
|
| 120 | 'eres', |
|
| 121 | 'eret', |
|
| 122 | }: |
|
| 123 | word = word[:-4] |
|
| 124 | elif _r1[-3:] in {'hed', 'ene', 'ere', 'ens', 'ers', 'ets'}: |
|
| 125 | word = word[:-3] |
|
| 126 | elif _r1[-2:] in {'en', 'er', 'es', 'et'}: |
|
| 127 | word = word[:-2] |
|
| 128 | elif _r1[-1:] == 'e': |
|
| 129 | word = word[:-1] |
|
| 130 | elif _r1[-1:] == 's': |
|
| 131 | if len(word) > 1 and word[-2] in self._s_endings: |
|
| 132 | word = word[:-1] |
|
| 133 | ||
| 134 | # Step 2 |
|
| 135 | if word[r1_start:][-2:] in {'gd', 'dt', 'gt', 'kt'}: |
|