1
0
forked from GitHub/gf-rgl
Files
gf-rgl/src/belarusian/ParadigmsBel.gf
2025-11-14 14:12:57 +01:00

843 lines
28 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
resource ParadigmsBel = MorphoBel ** open Predef, Prelude, CatBel, ResBel in {
oper
regN : Str -> N -- s;Nom;Sg
= \form -> case form of {
_ + "цат" => mkN056 form;
_ + "фат" => mkN099 form;
_ + "бат" => mkN131 form;
_ + "ват" => mkN131 form;
_ + "кат" => mkN131 form;
_ + "энт" => mkN131 form;
_ + "онт" => mkN056 form;
_ + "ікт" => mkN056 form;
_ + "укт" => mkN056 form;
_ + "сіт" => mkN131 form;
_ + "біт" => mkN131 form;
_ + "ірт" => mkN205 form;
_ + "ост" => mkN056 form;
_ + "уст" => mkN125 form;
_ + "эфт" => mkN056 form;
_ + "нёт" => mkN056 form;
_ + "ыёт" => mkN131 form;
_ + "аэт" => mkN131 form;
_ + "цэт" => mkN131 form;
_ + "чыт" => mkN125 form;
_ + "гут" => mkN125 form;
_ + "'ят" => mkN131 form;
_ + "лец" => mkN002 form;
_ + "аец" => mkN235 form;
_ + "еец" => mkN235 form;
_ + "ыец" => mkN235 form;
_ + "іец" => mkN235 form;
_ + "зец" => mkN265 form;
_ + "вец" => mkN300 form;
_ + "рац" => mkN286 form;
_ + "рка" => mkN003 form;
_ + "іка" => mkN003 form;
_ + "ека" => mkN003 form;
_ + "ыка" => mkN003 form;
_ + "ўка" => mkN217 form;
_ + "ука" => mkN026 form;
_ + "эка" => mkN026 form;
_ + "ока" => mkN026 form;
_ + "ака" => mkN026 form;
_ + "яка" => mkN026 form;
_ + "йка" => mkN124 form;
_ + "ька" => mkN196 form;
_ + "ква" => mkN039 form;
_ + "ова" => mkN150 form;
_ + "зва" => mkN039 form;
_ + "хва" => mkN039 form;
_ + "рва" => mkN039 form;
_ + "ева" => mkN138 form;
_ + "ява" => mkN150 form;
_ + "эва" => mkN166 form;
_ + "уза" => mkN012 form;
_ + "аза" => mkN012 form;
_ + "нза" => mkN012 form;
_ + "еза" => mkN024 form;
_ + "ўза" => mkN039 form;
_ + "яза" => mkN187 form;
_ + "іма" => mkN012 form;
_ + "ома" => mkN012 form;
_ + "ьма" => mkN091 form;
_ + "чма" => mkN215 form;
_ + "ьба" => mkN012 form;
_ + "аба" => mkN012 form;
_ + "ыба" => mkN012 form;
_ + "ёба" => mkN024 form;
_ + "жба" => mkN039 form;
_ + "чба" => mkN039 form;
_ + "ўба" => mkN091 form;
_ + "ўна" => mkN012 form;
_ + "ына" => mkN012 form;
_ + "ана" => mkN012 form;
_ + "рна" => mkN012 form;
_ + "дна" => mkN024 form;
_ + "нна" => mkN039 form;
_ + "яна" => mkN061 form;
_ + "уна" => mkN091 form;
_ + "спа" => mkN012 form;
_ + "лпа" => mkN083 form;
_ + "гла" => mkN012 form;
_ + "ула" => mkN188 form;
_ + "ёла" => mkN012 form;
_ + "іла" => mkN188 form;
_ + "ела" => mkN188 form;
_ + "яла" => mkN091 form;
_ + "сла" => mkN260 form;
_ + "ыса" => mkN012 form;
_ + "оса" => mkN024 form;
_ + "йга" => mkN020 form;
_ + "рга" => mkN061 form;
_ + "ьга" => mkN088 form;
_ + "ята" => mkN245 form;
_ + "ыта" => mkN245 form;
_ + "дра" => mkN102 form;
_ + "тра" => mkN080 form;
_ + "бра" => mkN080 form;
_ + "ўра" => mkN099 form;
_ + "кра" => mkN102 form;
_ + "ыца" => mkN137 form;
_ + "ўца" => mkN137 form;
_ + "дца" => mkN078 form;
_ + "йца" => mkN078 form;
_ + "чца" => mkN078 form;
_ + "нца" => mkN080 form;
_ + "рца" => mkN080 form;
_ + "сца" => mkN080 form;
_ + "ржа" => mkN064 form;
_ + "жжа" => mkN080 form;
_ + "джа" => mkN102 form;
_ + "ыча" => mkN036 form;
_ + "эча" => mkN036 form;
_ + "яча" => mkN064 form;
_ + "чча" => mkN080 form;
_ + "нча" => mkN102 form;
_ + "оха" => mkN309 form;
_ + "ьха" => mkN309 form;
_ + "зык" => mkN005 form;
_ + "мык" => mkN005 form;
_ + "тык" => mkN043 form;
_ + "аяк" => mkN005 form;
_ + "пяк" => mkN005 form;
_ + "ляк" => mkN063 form;
_ + "мак" => mkN006 form;
_ + "пак" => mkN006 form;
_ + "шак" => mkN006 form;
_ + "сак" => mkN006 form;
_ + "вак" => mkN063 form;
_ + "зак" => mkN251 form;
_ + "вік" => mkN005 form;
_ + "лік" => mkN043 form;
_ + "вук" => mkN006 form;
_ + "цук" => mkN006 form;
_ + "рук" => mkN043 form;
_ + "шук" => mkN043 form;
_ + "нук" => mkN063 form;
_ + "чук" => mkN328 form;
_ + "шок" => mkN015 form;
_ + "мок" => mkN063 form;
_ + "чок" => mkN015 form;
_ + "нок" => mkN015 form;
_ + "рэк" => mkN063 form;
_ + "цуг" => mkN005 form;
_ + "раг" => mkN063 form;
_ + "онг" => mkN008 form;
_ + "рог" => mkN337 form;
_ + "лог" => mkN200 form;
_ + "жух" => mkN005 form;
_ + "тух" => mkN063 form;
_ + "нах" => mkN063 form;
_ + "віч" => mkN062 form;
_ + "нач" => mkN184 form;
_ + "ршч" => mkN204 form;
_ + "пыр" => mkN334 form;
_ + "лор" => mkN007 form;
_ + "рор" => mkN042 form;
_ + "пор" => mkN059 form;
_ + "хор" => mkN155 form;
_ + "фар" => mkN007 form;
_ + "нар" => mkN007 form;
_ + "хар" => mkN019 form;
_ + "гар" => mkN019 form;
_ + "вар" => mkN042 form;
_ + "жар" => mkN042 form;
_ + "сір" => mkN062 form;
_ + "пір" => mkN062 form;
_ + "хір" => mkN365 form;
_ + "гір" => mkN365 form;
_ + "кер" => mkN007 form;
_ + "мер" => mkN042 form;
_ + "лер" => mkN042 form;
_ + "нер" => mkN062 form;
_ + "вер" => mkN174 form;
_ + "ґер" => mkN127 form;
_ + "цэр" => mkN062 form;
_ + "шэр" => mkN062 form;
_ + "дэр" => mkN062 form;
_ + "гур" => mkN062 form;
_ + "чур" => mkN062 form;
_ + "аўр" => mkN334 form;
_ + "ыгр" => mkN334 form;
_ + "даж" => mkN034 form;
_ + "гаж" => mkN071 form;
_ + "ыум" => mkN031 form;
_ + "нос" => mkN013 form;
_ + "пус" => mkN009 form;
_ + "лас" => mkN009 form;
_ + "рас" => mkN045 form;
_ + "лёс" => mkN011 form;
_ + "цыс" => mkN013 form;
_ + "нес" => mkN045 form;
_ + "зіс" => mkN045 form;
_ + "вол" => mkN035 form;
_ + "рол" => mkN159 form;
_ + "пел" => mkN011 form;
_ + "рал" => mkN013 form;
_ + "дал" => mkN013 form;
_ + "кал" => mkN013 form;
_ + "сал" => mkN013 form;
_ + "сул" => mkN013 form;
_ + "мул" => mkN045 form;
_ + "нёл" => mkN013 form;
_ + "вон" => mkN009 form;
_ + "рон" => mkN011 form;
_ + "лон" => mkN011 form;
_ + "зон" => mkN011 form;
_ + "аон" => mkN013 form;
_ + "зан" => mkN013 form;
_ + "бан" => mkN195 form;
_ + "зін" => mkN011 form;
_ + "фін" => mkN013 form;
_ + "він" => mkN013 form;
_ + "рэн" => mkN011 form;
_ + "зын" => mkN011 form;
_ + "лын" => mkN214 form;
_ + "іян" => mkN013 form;
_ + "лян" => mkN045 form;
_ + "цян" => mkN195 form;
_ + "жун" => mkN195 form;
_ + "кун" => mkN195 form;
_ + "сун" => mkN195 form;
_ + "пун" => mkN366 form;
_ + "лаб" => mkN009 form;
_ + "ваб" => mkN011 form;
_ + "раб" => mkN013 form;
_ + "арб" => mkN045 form;
_ + "цай" => mkN022 form;
_ + "гай" => mkN117 form;
_ + "тай" => mkN117 form;
_ + "чай" => mkN305 form;
_ + "бой" => mkN017 form;
_ + "рой" => mkN022 form;
_ + "пой" => mkN305 form;
_ + "зей" => mkN022 form;
_ + "куй" => mkN099 form;
_ + "мыз" => mkN011 form;
_ + "цуз" => mkN013 form;
_ + "буз" => mkN214 form;
_ + "куп" => mkN013 form;
_ + "чуп" => mkN045 form;
_ + "ноп" => mkN035 form;
_ + "хоп" => mkN045 form;
_ + "льф" => mkN011 form;
_ + "орф" => mkN011 form;
_ + "сад" => mkN037 form;
_ + "гад" => mkN037 form;
_ + "айд" => mkN037 form;
_ + "код" => mkN037 form;
_ + "лод" => mkN048 form;
_ + "луд" => mkN048 form;
_ + "пед" => mkN037 form;
_ + "зед" => mkN081 form;
_ + "оід" => mkN037 form;
_ + "туш" => mkN034 form;
_ + "рыш" => mkN062 form;
_ + "дло" => mkN278 form;
_ + "яло" => mkN278 form;
_ + "бло" => mkN278 form;
_ + "ало" => mkN316 form;
_ + "іно" => mkN061 form;
_ + "гно" => mkN278 form;
_ + "тно" => mkN316 form;
_ + "дро" => mkN246 form;
_ + "яро" => mkN246 form;
_ + "шкі" => mkN242 form;
_ + "ані" => mkN088 form;
_ + "дні" => mkN241 form;
_ + "уры" => mkN061 form;
_ + "юты" => mkN181 form;
_ + "оны" => mkN145 form;
_ + "чны" => mkN181 form;
_ + "ены" => mkN291 form;
_ + "аны" => mkN291 form;
_ + "нны" => mkN291 form;
_ + "іцы" => mkN145 form;
_ + "ёды" => mkN145 form;
_ + "зія" => mkN133 form;
_ + "хія" => mkN133 form;
_ + "лея" => mkN133 form;
_ + "ель" => mkN237 form;
_ + "унь" => mkN164 form;
_ + "энь" => mkN164 form;
_ + "ань" => mkN164 form;
_ + "онь" => mkN164 form;
_ + "азь" => mkN100 form;
_ + "дзь" => mkN152 form;
_ + "ось" => mkN375 form;
_ + "ась" => mkN375 form;
_ + "яць" => mkN325 form;
_ + "уць" => mkN325 form;
_ + "іць" => mkN325 form;
_ + "іт" => mkN056 form;
_ + "рт" => mkN056 form;
_ + "ст" => mkN131 form;
_ + "ыт" => mkN056 form;
_ + "ят" => mkN056 form;
_ + "лт" => mkN056 form;
_ + "шт" => mkN056 form;
_ + "нц" => mkN042 form;
_ + "яц" => mkN046 form;
_ + "ац" => mkN046 form;
_ + "ва" => mkN024 form;
_ + "за" => mkN016 form;
_ + "ма" => mkN016 form;
_ + "ба" => mkN016 form;
_ + "на" => mkN016 form;
_ + "па" => mkN016 form;
_ + "ла" => mkN024 form;
_ + "са" => mkN016 form;
_ + "га" => mkN021 form;
_ + "та" => mkN023 form;
_ + "ра" => mkN036 form;
_ + "ца" => mkN036 form;
_ + "жа" => mkN036 form;
_ + "ша" => mkN036 form;
_ + "ча" => mkN297 form;
_ + "эа" => mkN061 form;
_ + "да" => mkN087 form;
_ + "ха" => mkN114 form;
_ + "ык" => mkN063 form;
_ + "як" => mkN006 form;
_ + "ак" => mkN178 form;
_ + "юк" => mkN006 form;
_ + "ок" => mkN043 form;
_ + "ск" => mkN043 form;
_ + "ўк" => mkN044 form;
_ + "ёк" => mkN122 form;
_ + "уг" => mkN115 form;
_ + "рг" => mkN008 form;
_ + "аг" => mkN008 form;
_ + "яг" => mkN008 form;
_ + "зг" => mkN030 form;
_ + "ог" => mkN105 form;
_ + "ег" => mkN200 form;
_ + "іх" => mkN006 form;
_ + "эх" => mkN008 form;
_ + "ях" => mkN113 form;
_ + "рч" => mkN007 form;
_ + "іч" => mkN007 form;
_ + "юч" => mkN034 form;
_ + "яч" => mkN034 form;
_ + "шч" => mkN034 form;
_ + "ыч" => mkN034 form;
_ + "еч" => mkN184 form;
_ + "эч" => mkN184 form;
_ + "ыр" => mkN019 form;
_ + "ар" => mkN062 form;
_ + "ір" => mkN007 form;
_ + "яр" => mkN019 form;
_ + "юр" => mkN042 form;
_ + "гр" => mkN062 form;
_ + "ёр" => mkN062 form;
_ + "аж" => mkN062 form;
_ + "ож" => mkN059 form;
_ + "ўж" => mkN155 form;
_ + "рж" => mkN155 form;
_ + "дж" => mkN204 form;
_ + "ам" => mkN031 form;
_ + "ум" => mkN045 form;
_ + "ьм" => mkN031 form;
_ + "ім" => mkN031 form;
_ + "йм" => mkN031 form;
_ + "ём" => mkN031 form;
_ + "юм" => mkN031 form;
_ + "эм" => mkN045 form;
_ + "яс" => mkN009 form;
_ + "ёс" => mkN045 form;
_ + "нс" => mkN045 form;
_ + "рс" => mkN045 form;
_ + "эс" => mkN045 form;
_ + "ыл" => mkN011 form;
_ + "ел" => mkN330 form;
_ + "эл" => mkN045 form;
_ + "іл" => mkN013 form;
_ + "ёл" => mkN018 form;
_ + "ін" => mkN239 form;
_ + "эн" => mkN013 form;
_ + "рн" => mkN011 form;
_ + "ын" => mkN013 form;
_ + "ен" => mkN013 form;
_ + "ун" => mkN214 form;
_ + "рб" => mkN035 form;
_ + "ўб" => mkN035 form;
_ + "юб" => mkN045 form;
_ + "уб" => mkN050 form;
_ + "ыб" => mkN050 form;
_ + "ей" => mkN017 form;
_ + "яй" => mkN017 form;
_ + "эй" => mkN022 form;
_ + "уй" => mkN067 form;
_ + "ыз" => mkN045 form;
_ + "оз" => mkN057 form;
_ + "уп" => mkN050 form;
_ + "ап" => mkN013 form;
_ + "ўп" => mkN045 form;
_ + "ып" => mkN045 form;
_ + "іф" => mkN045 form;
_ + "рд" => mkN037 form;
_ + "юд" => mkN081 form;
_ + "зд" => mkN082 form;
_ + "ьв" => mkN120 form;
_ + "аш" => mkN034 form;
_ + "уш" => mkN046 form;
_ + "рш" => mkN046 form;
_ + "ўш" => mkN059 form;
_ + "ро" => mkN061 form;
_ + "кі" => mkN322 form;
_ + "ні" => mkN099 form;
_ + "ці" => mkN099 form;
_ + "лі" => mkN241 form;
_ + "гі" => mkN242 form;
_ + "ыё" => mkN061 form;
_ + "нё" => mkN433 form;
_ + "ье" => mkN061 form;
_ + "ае" => mkN361 form;
_ + "ры" => mkN145 form;
_ + "ты" => mkN145 form;
_ + "шы" => mkN181 form;
_ + "бы" => mkN291 form;
_ + "лы" => mkN291 form;
_ + "чы" => mkN291 form;
_ + "мы" => mkN291 form;
_ + "мя" => mkN092 form;
_ + "бя" => mkN092 form;
_ + "оя" => mkN133 form;
_ + "ця" => mkN154 form;
_ + "ка" => mkN004 form;
_ + "ль" => mkN100 form;
_ + "нь" => mkN100 form;
_ + "зь" => mkN410 form;
_ + "сь" => mkN116 form;
_ + "ыў" => mkN252 form;
_ + "еў" => mkN252 form;
_ + "т" => mkN032 form;
_ + "ц" => mkN127 form;
_ + "к" => mkN008 form;
_ + "г" => mkN043 form;
_ + "х" => mkN043 form;
_ + "ч" => mkN019 form;
_ + "р" => mkN046 form;
_ + "ж" => mkN046 form;
_ + "м" => mkN011 form;
_ + "с" => mkN031 form;
_ + "л" => mkN031 form;
_ + "н" => mkN031 form;
_ + "б" => mkN031 form;
_ + "й" => mkN010 form;
_ + "з" => mkN031 form;
_ + "п" => mkN031 form;
_ + "ф" => mkN031 form;
_ + "д" => mkN027 form;
_ + "в" => mkN031 form;
_ + ("яляш"|"ялюш") => mkN243 form;
_ + "о" => mkN055 form;
_ + "і" => mkN061 form;
_ + "э" => mkN061 form;
_ + "ё" => mkN230 form;
_ + "ю" => mkN061 form;
_ + "е" => mkN201 form;
_ + "ы" => mkN283 form;
_ + "я" => mkN206 form;
_ + "у" => mkN088 form;
_ + "ь" => mkN262 form;
_ + "o" => mkN144 form;
_ + "ў" => mkN351 form;
_ => error "Cannot find an inflection rule"
} ;
reg2N : Str -> Str -> N -- s;Nom;Sg s;Acc;Pl
= \form1, form2 -> case <form1, form2> of {
<_ + "мак", _ + "мкі"> => mkN178 form1;
<_ + "ана", _ + "оны"> => mkN070 form1;
<_ + "ана", _ + "эны"> => mkN182 form1;
<_ + "нер", _ + "яры"> => mkN069 form1;
<_ + "ель", _ + "блі"> => mkN118 form1;
<_ + "ель", _ + "флі"> => mkN179 form1;
<_ + "ань", _ + "жні"> => mkN177 form1;
<_ + "раб", _ + "оў"> => mkN195 form1;
<_ + "вак", _ + "оў"> => mkN328 form1;
<_ + "вец", _ + "оў"> => mkN420 form1;
<_ + "рка", _ + "і"> => mkN004 form1;
<_ + "іка", _ + "і"> => mkN026 form1;
<_ + "ека", _ + "і"> => mkN256 form1;
<_ + "ыка", _ + "і"> => mkN026 form1;
<_ + "ыка", _ + "ў"> => mkN129 form1;
<_ + "ўка", _ + "к"> => mkN161 form1;
<_ + "зык", _ + "ў"> => mkN006 form1;
<_ + "мак", _ + "і"> => mkN005 form1;
<_ + "пак", _ + "і"> => mkN005 form1;
<_ + "шок", _ + "і"> => mkN008 form1;
<_ + "лік", _ + "ў"> => mkN063 form1;
<_ + "нос", _ + "ы"> => mkN009 form1;
<_ + "гай", _ + "і"> => mkN010 form1;
<_ + "льф", _ + "ы"> => mkN031 form1;
<_ + "рон", _ + "ў"> => mkN013 form1;
<_ + "лон", _ + "ў"> => mkN029 form1;
<_ + "лон", _ + "ы"> => mkN045 form1;
<_ + "лёс", _ + "ы"> => mkN045 form1;
<_ + "зін", _ + "ы"> => mkN031 form1;
<_ + "уза", _ + "ы"> => mkN091 form1;
<_ + "аза", _ + "ы"> => mkN016 form1;
<_ + "аза", _ + "з"> => mkN139 form1;
<_ + "ьба", _ + "ы"> => mkN016 form1;
<_ + "іма", _ + "ы"> => mkN091 form1;
<_ + "ына", _ + "ы"> => mkN016 form1;
<_ + "спа", _ + "ы"> => mkN039 form1;
<_ + "ана", _ + "ы"> => mkN016 form1;
<_ + "гла", _ + "ы"> => mkN356 form1;
<_ + "аба", _ + "ы"> => mkN016 form1;
<_ + "ула", _ + "л"> => mkN012 form1;
<_ + "ула", _ + "ы"> => mkN016 form1;
<_ + "ыса", _ + "ы"> => mkN016 form1;
<_ + "рна", _ + "ы"> => mkN091 form1;
<_ + "раб", _ + "ы"> => mkN031 form1;
<_ + "іян", _ + "ы"> => mkN031 form1;
<_ + "цыс", _ + "ы"> => mkN031 form1;
<_ + "мок", _ + "і"> => mkN015 form1;
<_ + "іла", _ + "ы"> => mkN016 form1;
<_ + "ела", _ + "ы"> => mkN016 form1;
<_ + "ова", _ + "ў"> => mkN138 form1;
<_ + "вол", _ + "ў"> => mkN029 form1;
<_ + "дра", _ + "ў"> => mkN141 form1;
<_ + "гад", _ + "ў"> => mkN081 form1;
<_ + "зва", _ + "ў"> => mkN083 form1;
<_ + "рва", _ + "ў"> => mkN083 form1;
<_ + "вар", _ + "ў"> => mkN062 form1;
<_ + "рук", _ + "ў"> => mkN328 form1;
<_ + "нер", _ + "ы"> => mkN046 form1;
<_ + "ост", _ + "ы"> => mkN054 form1;
<_ + "энт", _ + "ы"> => mkN056 form1;
<_ + "вер", _ + "ў"> => mkN062 form1;
<_ + "раг", _ + "і"> => mkN115 form1;
<_ + "ўца", _ + "ў"> => mkN078 form1;
<_ + "бра", _ + "ы"> => mkN102 form1;
<_ + "ьма", _ + "ў"> => mkN083 form1;
<_ + "ель", _ + "і"> => mkN100 form1;
<_ + "рог", _ + "і"> => mkN105 form1;
<_ + "рог", _ + "ў"> => mkN339 form1;
<_ + "унь", _ + "і"> => mkN121 form1;
<_ + "йка", _ + "к"> => mkN160 form1;
<_ + "ька", _ + "ў"> => mkN129 form1;
<_ + "ька", _ + "і"> => mkN197 form1;
<_ + "яць", _ + "ў"> => mkN132 form1;
<_ + "ось", _ + "ў"> => mkN152 form1;
<_ + "зак", _ + "ў"> => mkN191 form1;
<_ + "ар", _ + "тры"> => mkN373 form1;
<_ + "ок", _ + "ркі"> => mkN015 form1;
<_ + "ок", _ + "ткі"> => mkN015 form1;
<_ + "ок", _ + "акі"> => mkN030 form1;
<_ + "ва", _ + "івы"> => mkN150 form1;
<_ + "ла", _ + "элы"> => mkN182 form1;
<_ + "ла", _ + "ылы"> => mkN188 form1;
<_ + "са", _ + "осы"> => mkN070 form1;
<_ + "ел", _ + "елы"> => mkN031 form1;
<_ + "ль", _ + "злі"> => mkN177 form1;
<_ + "нь", _ + "дні"> => mkN173 form1;
<_ + "нь", _ + "ўні"> => mkN175 form1;
<_ + "нь", _ + "сні"> => mkN179 form1;
<_ + "нь", _ + "пні"> => mkN179 form1;
<_ + "нь", _ + "яні"> => mkN400 form1;
<_ + "ак", _ + "оў"> => mkN006 form1;
<_ + "ык", _ + "оў"> => mkN006 form1;
<_ + "як", _ + "аў"> => mkN063 form1;
<_ + "ар", _ + "оў"> => mkN019 form1;
<_ + "ла", _ + "ол"> => mkN139 form1;
<_ + "ын", _ + "оў"> => mkN038 form1;
<_ + "яр", _ + "аў"> => mkN062 form1;
<_ + "іт", _ + "ты"> => mkN032 form1;
<_ + "ль", _ + "ёў"> => mkN203 form1;
<_ + "ак", _ + "ў"> => mkN276 form1;
<_ + "ык", _ + "і"> => mkN008 form1;
<_ + "ыр", _ + "ы"> => mkN034 form1;
<_ + "ір", _ + "ы"> => mkN042 form1;
<_ + "ар", _ + "ы"> => mkN046 form1;
<_ + "аг", _ + "ў"> => mkN063 form1;
<_ + "эх", _ + "ў"> => mkN063 form1;
<_ + "ма", _ + "м"> => mkN012 form1;
<_ + "на", _ + "н"> => mkN012 form1;
<_ + "ба", _ + "б"> => mkN012 form1;
<_ + "ла", _ + "л"> => mkN012 form1;
<_ + "па", _ + "п"> => mkN012 form1;
<_ + "ап", _ + "ы"> => mkN031 form1;
<_ + "эл", _ + "ў"> => mkN013 form1;
<_ + "ен", _ + "ы"> => mkN045 form1;
<_ + "ей", _ + "ў"> => mkN022 form1;
<_ + "ёл", _ + "ы"> => mkN031 form1;
<_ + "та", _ + "ў"> => mkN078 form1;
<_ + "ін", _ + "ы"> => mkN031 form1;
<_ + "ст", _ + "ы"> => mkN032 form1;
<_ + "шч", _ + "ў"> => mkN346 form1;
<_ + "ца", _ + "ц"> => mkN137 form1;
<_ + "рд", _ + "ў"> => mkN081 form1;
<_ + "ск", _ + "ў"> => mkN063 form1;
<_ + "еч", _ + "ы"> => mkN069 form1;
<_ + "ча", _ + "ў"> => mkN141 form1;
<_ + "бя", _ + "т"> => mkN153 form1;
<_ + "ль", _ + "ў"> => mkN152 form1;
<_ + "нь", _ + "ў"> => mkN152 form1;
<_ + "ха", _ + "і"> => mkN309 form1;
<_ + "зь", _ + "ў"> => mkN132 form1;
<_ + "оя", _ + "і"> => mkN301 form1;
<_ + "ж", _ + "ыжы"> => mkN090 form1;
<_ + "г", _ + "ўгі"> => mkN044 form1;
<_ + "с", _ + "ысы"> => mkN050 form1;
<_ + "д", _ + "оды"> => mkN037 form1;
<_ + "р", _ + "ары"> => mkN059 form1;
<_ + "ь", _ + "кці"> => mkN177 form1;
<_ + "ь", _ + "гці"> => mkN177 form1;
<_ + "ь", _ + "аці"> => mkN325 form1;
<_ + "т", _ + "оў"> => mkN001 form1;
<_ + "к", _ + "оў"> => mkN006 form1;
<_ + "л", _ + "оў"> => mkN159 form1;
<_ + "й", _ + "оі"> => mkN017 form1;
<_ + "й", _ + "іі"> => mkN067 form1;
<_ + "с", _ + "оў"> => mkN195 form1;
<_ + "н", _ + "оў"> => mkN038 form1;
<_ + "о", _ + "вы"> => mkN278 form1;
<_ + "т", _ + "ў"> => mkN131 form1;
<_ + "а", _ + "к"> => mkN003 form1;
<_ + "к", _ + "ў"> => mkN063 form1;
<_ + "м", _ + "ў"> => mkN013 form1;
<_ + "л", _ + "ў"> => mkN013 form1;
<_ + "с", _ + "ў"> => mkN013 form1;
<_ + "з", _ + "ў"> => mkN013 form1;
<_ + "н", _ + "ў"> => mkN013 form1;
<_ + "п", _ + "ў"> => mkN029 form1;
<_ + "р", _ + "ў"> => mkN062 form1;
<_ + "х", _ + "ў"> => mkN063 form1;
<_ + "я", _ + "т"> => mkN153 form1;
<_ + "я", _ + "ў"> => mkN154 form1;
<_ + "я", _ + "ь"> => mkN232 form1;
<_ + "я", _ + "й"> => mkN384 form1;
<_ + "ц", _ + "ы"> => mkN299 form1;
<_ + "ь", _ + "й"> => mkN323 form1;
_ => regN form1
} ;
regV : Str -> V -- infinitive
= \form -> case form of {
_ + "агчы" => mkV021 form;
_ + "іць" => mkV036 form;
_ + "эць" => mkV048 form;
_ + "ыць" => mkV020 form;
_ + "уць" => mkV045 form;
_ + "ячы" => mkV072 form;
_ + "ьці" => mkV013 form;
_ + "зці" => mkV049 form;
_ + "бці" => mkV137 form;
_ + "сці" => mkV016 form;
_ + "цца" => mkV043 form;
_ + "ма" => mkV013 form;
_ + "шы" => mkV013 form;
_ + "ь" => mkV015 form;
_ => error "Cannot find an inflection rule"
} ;
reg2V : Str -> Str -> V -- infinitive Imperative;Sg
= \form1, form2 -> case <form1, form2> of {
<_ + "іць", _ + "ані"> => mkV096 form1;
<_ + "іць", _ + "яні"> => mkV079 form1;
<_ + "іць", _ + "апі"> => mkV017 form1;
<_ + "іць", _ + "сці"> => mkV078 form1;
<_ + "уць", _ + "кні"> => mkV074 form1;
<_ + "уць", _ + "хні"> => mkV074 form1;
<_ + "іць", _ + "ві"> => mkV001 form1;
<_ + "іць", _ + "бі"> => mkV058 form1;
<_ + "іць", _ + "зі"> => mkV058 form1;
<_ + "іць", _ + "аі"> => mkV155 form1;
<_ + "іць", _ + "пі"> => mkV058 form1;
<_ + "іць", _ + "ці"> => mkV033 form1;
<_ + "іць", _ + "сі"> => mkV050 form1;
<_ + "іць", _ + "ць"> => mkV060 form1;
<_ + "іць", _ + "мь"> => mkV106 form1;
<_ + "ыць", _ + "жы"> => mkV064 form1;
<_ + "іць", _ + "і"> => mkV011 form1;
<_ + "іць", _ + "ў"> => mkV139 form1;
<_ + "іць", _ + "й"> => mkV156 form1;
<_ + "эць", _ + "й"> => mkV015 form1;
<_ + "эць", _ + "ь"> => mkV063 form1;
<_ + "ыць", _ + "ы"> => mkV070 form1;
<_ + "ыць", _ + "й"> => mkV055 form1;
<_ + "ыць", _ + "і"> => mkV089 form1;
<_ + "уць", _ + "ь"> => mkV037 form1;
<_ + "уць", _ + "й"> => mkV055 form1;
<_ + "зці", _ + "ь"> => mkV092 form1;
<_ + "ь", _ + "жуй"> => mkV003 form1;
<_ + "ь", _ + "цай"> => mkV055 form1;
<_ + "ь", _ + "лжы"> => mkV125 form1;
<_ + "ь", _ + "аві"> => mkV102 form1;
<_ + "ь", _ + "ссі"> => mkV145 form1;
<_ + "і", _ + "асі"> => mkV137 form1;
<_ + "ы", _ + "яжы"> => mkV143 form1;
<_ + "а", _ + "іся"> => mkV046 form1;
<_ + "а", _ + "ыся"> => mkV046 form1;
<_ + "а", _ + "ься"> => mkV080 form1;
<_ + "а", _ + "рся"> => mkV087 form1;
<_ + "а", _ + "чся"> => mkV087 form1;
<_ + "ь", _ + "уй"> => mkV029 form1;
<_ + "ь", _ + "ой"> => mkV025 form1;
<_ + "ь", _ + "юй"> => mkV120 form1;
<_ + "ь", _ + "нь"> => mkV063 form1;
<_ + "ь", _ + "шы"> => mkV028 form1;
<_ + "ь", _ + "чы"> => mkV130 form1;
<_ + "ь", _ + "мі"> => mkV039 form1;
<_ + "ь", _ + "ві"> => mkV039 form1;
<_ + "ь", _ + "зі"> => mkV115 form1;
<_ + "ь", _ + "ні"> => mkV102 form1;
<_ + "ь", _ + "бі"> => mkV145 form1;
<_ + "і", _ + "сі"> => mkV049 form1;
<_ + "і", _ + "ці"> => mkV056 form1;
<_ + "ь", _ + "ь"> => mkV018 form1;
<_ + "ь", _ + "ы"> => mkV066 form1;
<_ + "ь", _ + "ч"> => mkV034 form1;
<_ + "ь", _ + "і"> => mkV069 form1;
<_ + "і", _ + "ь"> => mkV054 form1;
_ => regV form1
} ;
regA : Str -> A -- s;Nom;('GSg', Masc)
= \form -> case form of {
_ + "які" => mkA006 form;
_ + "пы" => mkA002 form;
_ + "гі" => mkA006 form;
_ + "хі" => mkA006 form;
_ + "ні" => mkA005 form;
_ + "ці" => mkA005 form;
_ + "ыі" => mkA005 form;
_ + "ы" => mkA001 form;
_ + "і" => mkA003 form;
_ + "а" => mkA004 form;
_ + "н" => mkA004 form;
_ + "т" => mkA004 form;
_ + "ў" => mkA004 form;
_ + "ь" => mkA004 form;
_ => error "Cannot find an inflection rule"
} ;
reg2A : Str -> Str -> A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Neuter)
= \form1, form2 -> case <form1, form2> of {
<_ + "гі", _ + "ае"> => mkA003 form1;
<_ + "хі", _ + "ае"> => mkA003 form1;
<_ + "ы", _ + "ое"> => mkA002 form1;
<_ + "і", _ + "яе"> => mkA004 form1;
<_ + "і", _ + "ое"> => mkA006 form1;
_ => regA form1
} ;
mkN = overload {
mkN : Str -> N = regN; -- s;Nom;Sg
mkN : Str -> Str -> N = reg2N -- s;Nom;Sg s;Acc;Pl
} ;
mkN2 = overload {
mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = noPrep}) ;
mkN2 : N -> Prep -> N2 = \n,p -> lin N2 (n ** {c2 = p}) ;
} ;
mkN3 = overload {
mkN3 : N -> N3 = \n -> lin N3 (n ** {c2 = noPrep; c3 = noPrep}) ;
mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 (n ** {c2 = p1; c3 = p2}) ;
} ;
mkV = overload {
mkV : Str -> V = regV; -- infinitive
mkV : Str -> Str -> V = reg2V -- infinitive Imperative;Sg
} ;
mkVV : V -> VV = \v -> lin VV v ;
mkVS : V -> VS = \v -> lin VS v ;
mkVQ : V -> VQ = \v -> lin VQ v ;
mkVA : V -> VA = \v -> lin VA v ;
mkV2 = overload {
mkV2 : V -> V2 = \v -> lin V2 (v ** {c2 = noPrep}) ;
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (v ** {c2 = p}) ;
} ;
mkV3 = overload {
mkV3 : V -> V3 = \v -> lin V3 (v ** {c2 = noPrep; c3 = noPrep}) ;
mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 (v ** {c2 = p1; c3 = p2}) ;
} ;
mkV2A = overload {
mkV2A : V -> V2A = \v -> lin V2A (v ** {c2 = noPrep; c3 = noPrep}) ;
mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (v ** {c2 = p1; c3 = p2}) ;
} ;
mkV2S = overload {
mkV2S : V -> V2S = \v -> lin V2S (v ** {c2 = noPrep; c3 = noPrep}) ;
mkV2S : V -> Prep -> Prep -> V2S = \v,p1,p2 -> lin V2S (v ** {c2 = p1; c3 = p2}) ;
} ;
mkV2Q = overload {
mkV2Q : V -> V2Q = \v -> lin V2Q (v ** {c2 = noPrep; c3 = noPrep}) ;
mkV2Q : V -> Prep -> Prep -> V2Q = \v,p1,p2 -> lin V2Q (v ** {c2 = p1; c3 = p2}) ;
} ;
mkV2V = overload {
mkV2V : V -> V2V = \v -> lin V2V (v ** {c2 = noPrep; c3 = noPrep}) ;
mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (v ** {c2 = p1; c3 = p2}) ;
} ;
mkA = overload {
mkA : Str -> A = regA; -- s;Nom;('GSg', Masc)
mkA : Str -> Str -> A = reg2A -- s;Nom;('GSg', Masc) s;Nom;('GSg', Neuter)
} ;
mkA2 = overload {
mkA2 : A -> A2 = \a -> lin A2 (a ** {c2 = noPrep}) ;
mkA2 : A -> Prep -> A2 = \a,p -> lin A2 (a ** {c2 = p}) ;
} ;
mkAdv : Str -> Adv = \s -> lin Adv {s=s} ;
mkAdV : Str -> AdV = \s -> lin AdV {s=s} ;
mkAdA : Str -> AdA = \s -> lin AdA {s=s} ;
mkAdN : Str -> AdN = \s -> lin AdN {s=s} ;
mkCAdv : Str -> CAdv = \s -> lin CAdv {s=s; p=""} ;
mkInterj : Str -> Interj = \s -> lin Interj {s=s} ;
mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ;
mkPrep : Str -> Prep = \s -> lin Prep {s=s; c=Acc} ;
mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ;
mkIP : Str -> IP = \s -> lin IP {s=s} ;
mkIQuant : Str -> IQuant = \s -> lin IQuant {s=s} ;
mkIDet : Str -> IDet = \s -> lin IDet {s=s} ;
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
mkQuant : Str -> Quant = \s -> lin Quant {s=s} ;
mkPredet : Str -> Predet = \s -> lin Predet {s=s} ;
mkDet : Str -> Det = \s -> lin Det {s=s} ;
mkCard : Str -> Card = \s -> lin Card {s=s} ;
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
mkVoc : Str -> Voc = \s -> lin Voc {s=s} ;
mkLN : Str -> LN = \s -> lin LN {s=s} ;
mkGN : Str -> GN = \s -> lin GN {s=s} ;
mkSN : Str -> SN = \s -> lin SN {s=s} ;
mkPN : Str -> PN = \s -> lin PN {s=s} ;
}