forked from GitHub/gf-rgl
843 lines
28 KiB
Plaintext
843 lines
28 KiB
Plaintext
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} ;
|
||
|
||
}
|