@@ -38,12 +38,12 @@ stringdef ia '{U+044F}'
3838stringdef apostrophe '{U+0027}'
3939
4040routines ( mark_regions R2
41- // perfective_gerund
41+ perfective_gerund
4242 adjective
4343 adjectival
44- // reflexive
45- // verb
46- // noun
44+ reflexive
45+ verb
46+ noun
4747 // derivational
4848 // tidy_up
4949)
@@ -70,35 +70,62 @@ backwardmode (
7070
7171 define R2 as $p2 <= cursor
7272
73- // define perfective_gerund as (
74- // [substring] among (
75- // // 'в'
76- // // 'вші'
77- // // 'вшіс{'}'
78- // // ('а' or 'я' delete)
79- // // 'ів'
80- // // 'івші'
81- // // 'івшіс{'}'
82- // // 'ив'
83- // // 'ивші'
84- // // 'ившіс{'}'
85- // // (delete)
86- // )
87- // )
73+ define perfective_gerund as (
74+ [substring] among (
75+ // 'в'
76+ // 'вші'
77+ // 'вшіс{'}'
78+ // ('а' or 'я' delete)
79+ // 'ів'
80+ // 'івші'
81+ // 'івшіс{'}'
82+ // 'ив'
83+ // 'ивші'
84+ // 'ившіс{'}'
85+ // (delete)
86+
87+ 'в' // донаписа|в дороби|в дороби|в
88+ 'вши' // написа|вши зроби|вши
89+ 'вшись' // оберіга|вшись спакува|вшись
90+ 'вшися' // оберіга|вшися сподіва|вшися
91+ // ('а' or 'я' delete) ???
92+ 'учи' // пиш|учи рев|учи
93+ 'ючи' // ся|ючи підпису|ючи
94+ 'ючись' // змага|ючись
95+ 'ючися' // навча|ючися
96+ 'ачи' // бач|ачи
97+ 'ачись' // бач|ачись
98+ 'ачися' // бач|ачися
99+ 'лячи' // роб|лячи люб|лячи
100+ 'лячись' // бав|лячись
101+ 'лячися' // бав|лячися
102+ 'ячи' // сид|ячи вовтуз|ячи
103+ 'ячись' // ???
104+ 'ячися' // ???
105+ (delete)
106+ )
107+ )
88108
89109 define adjective as (
90110 [substring] among (
91- 'ього'
92- (delete)
93111 // 'ее' 'іе' 'ие' 'ое' 'імі' 'имі'
94- // 'ей' 'ій' 'ий' 'ой' 'ем' 'ім'
95- // 'им' 'ом' 'еґо' 'оґо' 'ему'
96- // 'ому' 'іх' 'их' 'ую' 'юю' 'ая'
97- // 'яя'
98- // // and -
99- // 'ою' // - which is somewhat archaic
112+ // 'ей' 'ой' 'ем'
113+ // 'ом' 'еґо' 'оґо' 'ему'
114+ // 'ую' 'юю' 'ая'
100115 // 'ею' // - soft form of ою
101116 // (delete)
117+
118+ 'ий' 'ого' 'ому' 'им' 'ім' // зелен|ий зелен|ого зелен|ому зелен|им зелен|ім
119+ 'іший' 'ішого' 'ішому' 'ішим' 'ішім' // зелен|іший зелен|ішого зелен|ішому зелен|ішим зелен|ішім
120+ 'е' 'іше' // зелен|е зелен|іше
121+ 'а' 'ої' 'ій' 'у' 'ою' // зелен|а зелен|ої зелен|ій зелен|у зелен|ою
122+ 'іша' 'ішої' 'ішій' 'ішу' 'ішою' // зелен|іша зелен|ішої зелен|ішій зелен|ішу зелен|ішою
123+ 'і' 'их' 'ими' // зелен|і зелен|их зелен|ими
124+ 'іші' 'іших' 'ішими' // зелен|іші зелен|іших зелен|ішими
125+ 'ього' 'ьому' // верхн|ього верхн|ьому
126+ 'я' 'ьої' 'ю' 'ьою' // верхн|я верхн|ьої верхн|ю верхн|ьою
127+ 'іх' 'іми' // верхн|іх верхн|іми
128+ (delete)
102129 )
103130 )
104131
@@ -110,71 +137,134 @@ backwardmode (
110137 errors. Removing im, uem, enn creates too many errors.
111138 */
112139
113- // try (
114- // [substring] among (
115- // // 'ем' // present passive participle
116- // // 'нн' // adjective from past passive participle
117- // // 'вш' // past active participle
118- // // 'ющ' 'щ' // present active participle
119- // // ('а' or 'я' delete)
140+ try (
141+ [substring] among (
142+ // 'ем' // present passive participle
143+ // 'нн' // adjective from past passive participle
144+ // 'вш' // past active participle
145+ // 'ющ' 'щ' // present active participle
146+ // ('а' or 'я' delete)
120147
121- // // //but not 'ім' 'уем' // present passive participle
122- // // //or 'енн' // adjective from past passive participle
148+ // //but not 'ім' 'уем' // present passive participle
149+ // //or 'енн' // adjective from past passive participle
123150
124- // // 'івш' 'ивш'// past active participle
125- // // 'ующ' // present active participle
126- // // (delete)
127- // )
128- // )
151+ // 'івш' 'ивш'// past active participle
152+ // 'ующ' // present active participle
153+ // (delete)
154+
155+ 'ячий' 'ячого' 'ячому' 'ячим' 'ячім' // сид|ячий сид|ячого сид|ячому сид|ячим сид|ячім
156+ 'яча' 'яче' 'ячої' 'ячій' 'ячу' 'ячою' // сид|яча сид|яче сид|ячої сид|ячій сид|ячу сид|ячою
157+ 'ячі' 'ячих' 'ячими' // сид|ячі сид|ячих сид|ячими
158+ 'ачий' 'ачого' 'ачому' 'ачим' 'ачім' // дриж|ачий дриж|ачого дриж|ачому дриж|ачим дриж|ачім
159+ 'ача' 'аче' 'ачої' 'ачій' 'ачу' 'ачою' // дриж|ача дриж|аче дриж|ачої дриж|ачій дриж|ачу дриж|ачою
160+ 'ачі' 'ачих' 'ачими' // дриж|ачі дриж|ачих дриж |ачими
161+ 'ючий' 'ючого' 'ючому' 'ючим' 'ючім' // далені|ючий далені|ючого даленію|ючому далені|ючим далені|ючім
162+ 'юча' 'юче' 'ючої' 'ючій' 'ючу' 'ючою' // далені|юча далені|юче далені|ючої даленію|ючій далені|ючу далені|ючою
163+ 'ючі' 'ючих' 'ючими' // далені|ючі далені|ючих далені|ючими
164+ 'учий' 'учого' 'учому' 'учим' 'учім' // пиш|учий далені|учого пиш|учому пиш|учим пиш|учім
165+ 'уча' 'уче' 'учої' 'учій' 'учу' 'учою' // пиш|уча пиш|уче пиш|учої пиш|учій пиш|учу пиш|учою
166+ 'учі' 'учих' 'учими' // пиш|учі пиш|учих пиш|учими
167+ 'ений' 'еного' 'еному' 'еним' 'енім' // втрач|ений втрач|еного втрач|еному втрач|еним втрач|енім
168+ 'ена' 'ене' 'еної' 'еній' 'ену' 'еною' // втрач|ена втрач|ене втрач|еної втрач|еній втрач|ену втрач|еною
169+ 'ені' 'ених' 'еними' // втрач|ені втрач|ених втрач|еними
170+ (delete)
171+ )
172+ )
129173
130174 )
131175
132- // define reflexive as (
133- // [substring] among (
134- // // 'ся'
135- // // 'с{'}'
136- // // (delete)
137- // )
138- // )
176+ define reflexive as (
177+ [substring] among (
178+ // 'ся'
179+ // 'с{'}'
180+ // (delete)
139181
140- // define verb as (
141- // [substring] among (
142- // // 'ла' 'на' 'ете' 'йте' 'лі' 'й'
143- // // 'л' 'ем' 'н' 'ло' 'но' 'ет' 'ют'
144- // // 'ни' 'т{'}' 'еш{'}'
145-
146- // // 'нно'
147- // // ('а' or 'я' delete)
148-
149- // // 'іла' 'ила' 'ена' 'ейте'
150- // // 'уйте' 'іте' 'ілі' 'илі' 'ей'
151- // // 'уй' 'іл' 'ил' 'ім' 'им' 'ен'
152- // // 'іло' 'ило' 'ено' 'ят' 'ует'
153- // // 'уют' 'іт' 'ит' 'ени' 'іт{'}'
154- // // 'ит{'}' 'іш{'}' 'ую' 'ю'
155- // // (delete)
156- // /* note the short passive participle tests:
157- // 'на' 'н' 'но' 'ни'
158- // 'ена' 'ен' 'ено' 'ени'
159- // */
160- // )
161- // )
182+ 'ся' // осік|ся
183+ 'сь' // недонавчи|сь
184+ 'тися' // би|тися
185+ 'тись' // боро|тись
186+ // 'ться' // роби|ться ???
187+ 'іться' // подруж|іться
188+ 'теся' // бав|теся
189+ 'йся' // вдума|йся
190+ 'йтеся' // вдума|йтеся
191+ 'вся' 'лася' 'лося' 'лися' // вчи|вся вчи|лася вчи|лося вчи|лися
192+ 'всь' 'лась' 'лось' 'лись' // вчи|всь вчи|лась вчи|лось вчи|лись
193+ 'юся' 'єшся' 'ється' 'ємося' 'єтеся' 'ються' // смі|юся смі|єшся смі|ється смі|ємося смі|єтеся смі|ються
194+ 'уся' 'ешся' 'еться' 'емося' 'етеся' 'уться' // спиш|уся спиш|ешся спиш|еться спиш|емося спиш|етеся спиш|уться
195+ 'люся' 'ишся' 'иться' 'имося' 'итеся' 'ляться'// див|люся див|ишся див|иться див|имося див|итеся див|ляться
196+ 'їшся' 'їться' 'їмося' 'їтеся' 'яться' // бо|їшся бо|їться бо|їмося бо|їтеся бо|яться
197+ 'аться' // бач|аться
198+ (delete)
199+ )
200+ )
162201
163- // define noun as (
164- // [substring] among (
165- // // 'а' 'ев' 'ов' 'іе' '{'}е' 'е'
166- // // 'іямі' 'ямі' 'амі' 'еі' 'іі'
167- // // 'і' 'іей' 'ей' 'ой' 'ій' 'й'
168- // // 'іям' 'ям' 'іем' 'ем' 'ам' 'ом'
169- // // 'о' 'у' 'ах' 'іях' 'ях' 'и' '{'}'
170- // // 'ію' '{'}ю' 'ю' 'ія' '{'}я' 'я'
171- // // (delete)
172- // /* the small class of neuter forms 'ені' 'енем'
173- // 'ена' 'ен' 'енам' 'енамі' 'ена{x}'
174- // omitted - they only occur on 12 words.
175- // */
176- // )
177- // )
202+ define verb as (
203+ [substring] among (
204+ // 'на' 'лі'
205+ // 'л' 'ем' 'н' 'но' 'ет' 'ют'
206+ // 'ни' 'т{'}' 'еш{'}'
207+
208+ // 'нно'
209+ // ('а' or 'я' delete)
210+
211+ // 'іла' 'ила' 'ена' 'ейте'
212+ // 'уйте' 'іте' 'ілі' 'илі' 'ей'
213+ // 'уй' 'іл' 'ил' 'ім' 'им' 'ен'
214+ // 'іло' 'ило' 'ено' 'ят' 'ует'
215+ // 'уют' 'іт' 'ит' 'ени' 'іт{'}'
216+ // 'ит{'}' 'іш{'}' 'ую'
217+ // (delete)
218+ /* note the short passive participle tests:
219+ 'на' 'н' 'но' 'ни'
220+ 'ена' 'ен' 'ено' 'ени'
221+ */
222+
223+ 'ти' // працюва|ти
224+ // 'ть' // роби|ть ???
225+ 'іть' // роб|іть
226+ 'те' // відправ|те
227+ 'й' // чита|й
228+ 'йте' // дума|йте
229+ 'в' 'ла' 'ло' 'ли' // чита|в чита|ла чита|ло чита|ли
230+ 'ю' 'єш' 'є' 'ємо' 'єте' 'ють' // чита|ю чита|єш чита|є чита|ємо чита|єте чита|ють
231+ 'у' 'еш' 'е' 'емо' 'ете' 'уть' // пиш|у пиш|еш пиш|е пиш|емо пиш|ете пиш|уть
232+ 'лю' 'иш' 'ить' 'имо' 'ите' 'лять' // роб|лю роб|иш роб|ить роб|имо роб|ите роб|лять
233+ 'їш' 'їть' 'їмо' 'їте' 'ять' // сто|їш сто|їть сто|їмо сто|їте сто|ять
234+ 'ать' // бач|ать
235+ (delete)
236+ )
237+ )
238+
239+ define noun as (
240+ [substring] among (
241+ // 'а' 'ев' 'ов' 'іе' '{'}е' 'е'
242+ // 'іямі' 'ямі' 'амі' 'еі' 'іі'
243+ // 'і' 'іей' 'ей' 'ой' 'ій' 'й'
244+ // 'іям' 'ям' 'іем' 'ем' 'ам' 'ом'
245+ // 'о' 'у' 'ах' 'іях' 'ях' 'и' '{'}'
246+ // 'ію' '{'}ю' 'ю' 'ія' '{'}я' 'я'
247+ // (delete)
248+ /* the small class of neuter forms 'ені' 'енем'
249+ 'ена' 'ен' 'енам' 'енамі' 'ена{x}'
250+ omitted - they only occur on 12 words.
251+ */
252+
253+ 'а' 'и' 'і' 'у' 'ою' 'о' // вод|а вод|и вод|і вод|у вод|ою вод|о
254+ 'ам' 'ами' 'ах' // вод|ам вод|ами вод|ах
255+ 'я' 'ю' 'ею' 'е' // пісн|я пісн|ю пісн|ею пісн|е
256+ 'ям' 'ями' 'ях' // пісн|ям пісн|ями пісн|ях
257+ 'ові' 'ом' // батьк|ові батьк|ом
258+ 'ець' 'ем' // олів|ець олівц|ем
259+ 'ень' // зел|ень
260+ 'ій' // ген|ій
261+ 'й' // сара|й
262+ 'ой' // гер|ой
263+ 'ь' // совіст|ь
264+ 'ію' 'ії' // комед|ію комед|ії
265+ (delete)
266+ )
267+ )
178268
179269 // define derivational as (
180270 // [substring] R2 among (
@@ -208,16 +298,47 @@ define stem as (
208298 do mark_regions
209299 backwards setlimit tomark pV for (
210300 do (
211- adjectival
212- // perfective_gerund or
213- // ( try reflexive
214- // adjectival or verb or noun
215- // )
301+ // TEST:
302+ // reflexive
303+ // verb
304+ // noun
305+
306+ perfective_gerund or
307+ ( try reflexive
308+ adjectival or verb or noun
309+ )
216310 )
217- // try([ 'і' ] delete)
311+ try([ 'і' ] delete)
218312 // because noun ending -iю is being treated as verb ending -ю
219313
220314 // do derivational
221315 // do tidy_up
222316 )
223317)
318+
319+
320+ // ToDo:
321+ // 1. Ґ => Г
322+ // do repeat ( goto (['ґ]) <- 'г' ) // угнетённый => угнетен
323+ // 2. Видалити всі типи Апострофів 'ʼ`
324+
325+ // 3. Додатково перевірити слова:
326+ // брати
327+ // беруть
328+
329+ // дописати
330+ // допишуть
331+
332+ // посиденьки
333+
334+ // лікар
335+ // лікарів
336+
337+ // ----- прислівники? - куди попаде?
338+ // добре - добро
339+ // часто - частіший
340+ // довго - довгий
341+ // чисто - чистіший
342+
343+ // робитимуть - ?
344+ // робитим
0 commit comments