From 0554bb19377c62f7acf40bba0afb56bb34bb5d30 Mon Sep 17 00:00:00 2001 From: bjorn Date: Tue, 24 Jun 2008 21:21:59 +0000 Subject: [PATCH] Remove lots of ununsed noun stuff from MorphoRus. --- lib/resource-1.4/russian/ExtraLexRus.gf | 56 +- lib/resource-1.4/russian/LexiconRus.gf | 6 +- lib/resource-1.4/russian/MorphoRus.gf | 972 ------------------------ 3 files changed, 56 insertions(+), 978 deletions(-) diff --git a/lib/resource-1.4/russian/ExtraLexRus.gf b/lib/resource-1.4/russian/ExtraLexRus.gf index 005f684a7..a58868309 100644 --- a/lib/resource-1.4/russian/ExtraLexRus.gf +++ b/lib/resource-1.4/russian/ExtraLexRus.gf @@ -7,7 +7,24 @@ lin --- bridge_N = mkN "мост" ; --- candle_N = nSvecha "свеч" ; -- +++ MG_UR: added +++ --- citizen_N = nGrazhdanin "господ" ; -- +++ MG_UR: added +++ ---- daughter_N = nDoch "доч" ; -- +++ MG_UR: added +++ + daughter_N = + {s = table { + SF Sg Nom => "дочь" ; + SF Sg Gen => "дочери" ; + SF Sg Dat => "дочери" ; + SF Sg Acc => "дочь" ; + SF Sg Inst => "дочерью" ; + SF Sg (Prepos _) => "дочери" ; + SF Pl Nom => "дочери" ; + SF Pl Gen => "дочерей" ; + SF Pl Dat => "дочерям" ; + SF Pl Acc => "дочерей" ; + SF Pl Inst => "дочерьми" ; + SF Pl (Prepos _) => "дочерях" + } ; + g = Fem ; anim = Animate + } ; + --- desk_N = nStol "стол" ; --- dictionary_N = nSlovar "словар" ; --- fellow_N = nTovarish "товарищ" ; -- +++ MG_UR: added +++ @@ -16,9 +33,42 @@ lin --- museum_N = nMusej "музе" ; -- +++ MG_UR: added +++ -- name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate ; --- ocean_N = nMorje "мор" ; -- +++ MG_UR: added +++ ---- son_N = nSyn "сын" ; -- +++ MG_UR: added +++ + son_N = + {s = table + { SF Sg Nom => syn ; + SF Sg Gen => syn+"а" ; + SF Sg Dat => syn+"у" ; + SF Sg Acc => syn +"а"; + SF Sg Inst => syn+"ом" ; + SF Sg (Prepos _) => syn+"е" ; + SF Pl Nom => syn+"ья" ; + SF Pl Gen => syn+"ьев" ; + SF Pl Dat => syn+"ьям" ; + SF Pl Acc => syn +"ьев"; + SF Pl Inst => syn+"ьями" ; + SF Pl (Prepos _) => syn+"ьяах" + } ; + g = Masc ; anim = Animate + } ; --- time_N = nVremja "вре" ; -- +++ MG_UR: added +++ --- vocationalschool_N = nUchilishe "училищ" ; -- +++ MG_UR: added +++ ---- way_N = nPut "пут" ; -- +++ MG_UR: added +++ + way_N = + {s = table + { SF Sg Nom => put+"ь" ; + SF Sg Gen => put+"и" ; + SF Sg Dat => put+"и" ; + SF Sg Acc => put+"ь" ; + SF Sg Inst => put+"ём" ; + SF Sg (Prepos _) => put+"и" ; + SF Pl Nom => put+"и" ; + SF Pl Gen => put+"ей" ; + SF Pl Dat => put+"ям" ; + SF Pl Acc => put+"и" ; + SF Pl Inst => put+"ями" ; + SF Pl (Prepos _) => put+"ях" + } ; + g = Masc ; anim = Inanimate + } ; + --- word_N = nSlovo "слов" ; -- +++ MG_UR: added +++ } \ No newline at end of file diff --git a/lib/resource-1.4/russian/LexiconRus.gf b/lib/resource-1.4/russian/LexiconRus.gf index 56a3861e9..55bac6ac6 100644 --- a/lib/resource-1.4/russian/LexiconRus.gf +++ b/lib/resource-1.4/russian/LexiconRus.gf @@ -55,7 +55,7 @@ lin carpet_N = mkN "ковёр"; -- vowel change cat_N = mkN "кошка" animate ; -- vowel change ceiling_N = mkN "потолок" ; -- vowel change - chair_N = mkN "стул" ; + chair_N = mkN "стул" ; -- irregular cheese_N = mkN "сыр" ; --- child2_N = nRebenok "реб" ; -- Achtung: Hier 'child' im Sinne von "junge Lebewesen" (dann keine Suppletivformen(?))! child_N = mkN "ребёнок" "ребёнка" "ребёнку" "ребёнка" "ребёнком" "ребёнке" "ребёнке" "дети" "детей" "детям" "детей" "детьми" "детях" masculine animate ; @@ -150,7 +150,7 @@ lin hold_V2 = dirV2 (regV imperfective second "держ" "у" "держал" "держи" "держать" ); hope_VS= regV imperfective first "наде" "ю" "надеял" "надей" "надеять" ; horn_N = mkN "рог" ; - horse_N = mkN "лошадь" animate; + horse_N = mkN "лошадь" animate; -- irregular hot_A = AKhoroshij "горяч" "горячее" ; house_N = mkN "дом" ; hunt_V2 = dirV2 (regV imperfective second "охоч" "у" "охотил" "охоть" "охотить" ) ; @@ -189,7 +189,7 @@ lin meat_N = mkN "мясо" ; milk_N = mkN "молоко" ; moon_N = mkN "луна" ; - mother_N2 = mkN2 (mkN "мама") ; + mother_N2 = mkN2 (mkN "мать" "матери" "матери" "мать" "матерью" "матери" "матери" "матери" "матерей" "матерям" "матерей" "матерями" "матерях" feminine animate) ; mountain_N = mkN "гора" ; mouth_N = mkN "рот" "рта" "рту" "рот" "ртом" "рте" "рте" "рты" "ртов" "ртам" "рты" "ртами" "ртах" masculine inanimate ; music_N = mkN "музыка" ; diff --git a/lib/resource-1.4/russian/MorphoRus.gf b/lib/resource-1.4/russian/MorphoRus.gf index 284242a5c..2527b2a2c 100644 --- a/lib/resource-1.4/russian/MorphoRus.gf +++ b/lib/resource-1.4/russian/MorphoRus.gf @@ -308,178 +308,6 @@ oper pronVseInanimate: Pronoun = oper CommNoun = {s : SubstForm => Str ; g : Gender ; anim : Animacy } ; SubstFormDecl = SS1 SubstForm ; --- ---oper gorlo : CommNoun = l_oEndInAnimateDecl "горл" ; ---oper koleno : CommNoun = oEndInAnimateDecl "колен" ; ---oper plecho : CommNoun = oEndInAnimateDecl "плеч" ; ---oper ukho : CommNoun = oEnd_KH_InAnimateDecl "у" ; ---oper zhivot : CommNoun = nullEndInAnimateDecl1 "живот" ; ---oper grud : CommNoun = softSignEndDeclFem "груд" ; ---oper ruka : CommNoun = aEndG_K_KH_Decl "рук" ; ---oper spina : CommNoun = aEndInAnimateDecl "спин" ; ---oper stopa : CommNoun = aEndInAnimateDecl "стоп" ; ---oper sreda : CommNoun = aEndInAnimateDecl "сред" ; ---oper pyatnica : CommNoun = aEndInAnimateDecl "пятниц" ; ---oper subbota : CommNoun = aEndInAnimateDecl "суббот" ; ---oper astma : CommNoun = aEndInAnimateDecl "астм" ; ---oper angina : CommNoun = aEndInAnimateDecl "ангин" ; ---oper revmatizm : CommNoun = nullEndInAnimateDecl1 "ревматизм" ; ---oper zapor : CommNoun = nullEndInAnimateDecl1 "запор" ; ---oper ponos : CommNoun = nullEndInAnimateDecl1 "понос" ; ---oper artrit : CommNoun = nullEndInAnimateDecl1 "артрит" ; ---oper diabet : CommNoun = nullEndInAnimateDecl1 "диабет" ; ---oper tsistit : CommNoun = nullEndInAnimateDecl1 "цистит" ; ---oper izzhoga : CommNoun = aEndG_K_KH_Decl "изжог" ; ---oper allergiya : CommNoun = i_yaEndDecl "аллерги" ; --- ---oper viagra : CommNoun = aEndInAnimateDecl "виагр" ; ---oper antidepressant : CommNoun = nullEndInAnimateDecl1 "антидепрессант" ; ---oper insulin : CommNoun = nullEndInAnimateDecl1 "инсулин" ; ---oper vitamin : CommNoun = nullEndInAnimateDecl1 "витамин" ; ---oper antibiotik : CommNoun = nullEndInAnimateDecl3 "антибиотик" ; ---oper ponedelnik : CommNoun = nullEndInAnimateDecl3 "понедельник" ; ---oper vtornik : CommNoun = nullEndInAnimateDecl3 "вторник" ; ---oper chetverg : CommNoun = nullEndInAnimateDecl3 "четверг" ; --- ---oper kaplya : CommNoun = (l_yaEndInAnimateDecl "кап") ** {g = Fem; anim = Inanimate} ; ---oper snotvornoe : CommNoun = oeEndInAnimateDecl "снотворн" ; ---oper uspokoitelnoe : CommNoun = oeEndInAnimateDecl "успокоительн" ; ---oper slabitelnoe : CommNoun = oeEndInAnimateDecl "слабительн" ; --- ---oper urolog : CommNoun = nullEndAnimateDecl "уролог" ; ---oper ginekolog : CommNoun = nullEndAnimateDecl "гинеколог" ; ---oper nevropatolog : CommNoun = nullEndAnimateDecl "невропатолог" ; ---oper dermatolog : CommNoun = nullEndAnimateDecl "дерматолог" ; ---oper kardiolog : CommNoun = nullEndAnimateDecl "кардиолог" ; ---oper terapevt : CommNoun = nullEndAnimateDecl2 "терапевт" ; ---oper okulist : CommNoun = nullEndAnimateDecl2 "окулист" ; ---oper pediatr : CommNoun = nullEndAnimateDecl2 "педиатр" ; ---oper khirurg : CommNoun = nullEndAnimateDecl2 "хирург" ; --- ---oper muzhchina : CommNoun = (aEndAnimateDecl "мужчин") ** { g = Masc ; anim = Animate } ; ---oper zhenchina : CommNoun = (aEndAnimateDecl "женщин") ** { g = Fem ; anim = Animate } ; ---oper mama : CommNoun = (aEndAnimateDecl "мам")**{ g = Fem ; anim = Animate } ; ---oper cena : CommNoun = (aEndAnimateDecl "цен") ** { g = Fem ; anim = Inanimate } ; --- - -oper aEndAnimateDecl: Str -> SubstFormDecl = \muzhchin -> -{s = table { - SF Sg Nom => muzhchin+"а" ; - SF Sg Gen => muzhchin+"ы" ; - SF Sg Dat => muzhchin+"е" ; - SF Sg Acc => muzhchin+"у" ; - SF Sg Inst => muzhchin+"ой" ; - SF Sg (Prepos _) => muzhchin +"е" ; - SF Pl Nom => muzhchin +"ы" ; - SF Pl Gen => muzhchin ; SF Pl Dat => muzhchin+"ам" ; - SF Pl Acc => muzhchin ; - SF Pl Inst => muzhchin+"ами" ; - SF Pl (Prepos _) => muzhchin+"ах" } - } ; - - --- oper stomatolog : CommNoun = nullEndAnimateDecl "стоматолог" ; - -oper nullEndInAnimateDecl: Str -> CommNoun = \stomatolog -> - { s = table - { SF Sg Nom => stomatolog ; - SF Sg Gen => stomatolog+"а" ; - SF Sg Dat => stomatolog+"у" ; - SF Sg Acc => stomatolog +"а" ; - SF Sg Inst => stomatolog+"ом" ; - SF Sg (Prepos _) => stomatolog+"е" ; - SF Pl Nom => stomatolog+"и" ; - SF Pl Gen => stomatolog+"ов" ; - SF Pl Dat => stomatolog+"ам" ; - SF Pl Acc => stomatolog+"ов" ; - SF Pl Inst => stomatolog+"ами" ; - SF Pl (Prepos _) => stomatolog+"ах" - } ; - g = Masc ; anim = Inanimate - } ; - -oper nullEndAnimateDecl: Str -> CommNoun = \stomatolog -> - { s = table - { SF Sg Nom => stomatolog ; - SF Sg Gen => stomatolog+"а" ; - SF Sg Dat => stomatolog+"у" ; - SF Sg Acc => stomatolog +"а" ; - SF Sg Inst => stomatolog+"ом" ; - SF Sg (Prepos _) => stomatolog+"е" ; - SF Pl Nom => stomatolog+"и" ; - SF Pl Gen => stomatolog+"ов" ; - SF Pl Dat => stomatolog+"ам" ; - SF Pl Acc => stomatolog+"ов" ; - SF Pl Inst => stomatolog+"ами" ; - SF Pl (Prepos _) => stomatolog+"ах" - } ; - g = Masc ; anim = Animate - } ; - -oper nullEndAnimateDecl2: Str -> CommNoun = \stomatolog -> - {s = table - { SF Sg Nom => stomatolog ; - SF Sg Gen => stomatolog+"а" ; - SF Sg Dat => stomatolog+"у" ; - SF Sg Acc => stomatolog +"а" ; - SF Sg Inst => stomatolog+"ом" ; - SF Sg (Prepos _) => stomatolog+"е" ; - SF Pl Nom => stomatolog+"ы" ; - SF Pl Gen => stomatolog+"ов" ; - SF Pl Dat => stomatolog+"ам" ; - SF Pl Acc => stomatolog+"ов" ; - SF Pl Inst => stomatolog+"ами" ; - SF Pl (Prepos _) => stomatolog+"ах" - } ; - g = Masc ; anim = Animate - } ; - ---oper gripp : CommNoun = nullEndInAnimateDecl1 "грипп" ; ---oper bar : CommNoun = nullEndInAnimateDecl1 "бар" ; ---oper telefon: CommNoun = nullEndInAnimateDecl1 "телефон" ; ---oper restoran : CommNoun = nullEndInAnimateDecl1 "ресторан" ; --- ----- Note: Plural form of the "грипп" (influenza) is a bit doubious ----- However, according to http://starling.rinet.ru/morph.htm it exists. ----- so we also keep it. - -oper nullEndInAnimateDeclPepel: Str -> CommNoun = \gripp -> - {s = table - { SF Sg Nom => gripp +"ел"; - SF Sg Gen => gripp+"ла" ; - SF Sg Dat => gripp+"лу" ; - SF Sg Acc => gripp +"ел"; - SF Sg Inst => gripp+"лом" ; - SF Sg (Prepos _) => gripp+"ле" ; - SF Pl Nom => gripp+"лы" ; - SF Pl Gen => gripp+"лов" ; - SF Pl Dat => gripp+"лам" ; - SF Pl Acc => gripp +"лы"; - SF Pl Inst => gripp+"лами" ; - SF Pl (Prepos _) => gripp+"лах" - } ; - g = Masc ; anim = Inanimate - - } ; - -oper nullEndInAnimateDecl1: Str -> CommNoun = \gripp -> - {s = table - { SF Sg Nom => gripp ; - SF Sg Gen => gripp+"а" ; - SF Sg Dat => gripp+"у" ; - SF Sg Acc => gripp ; - SF Sg Inst => gripp+"ом" ; - SF Sg (Prepos _) => gripp+"е" ; - SF Pl Nom => gripp+"ы" ; - SF Pl Gen => gripp+"ов" ; - SF Pl Dat => gripp+"ам" ; - SF Pl Acc => gripp +"ы"; - SF Pl Inst => gripp+"ами" ; - SF Pl (Prepos _) => gripp+"ах" - } ; - g = Masc ; anim = Inanimate - - } ; oper nullEndInAnimateDeclStul: Str -> CommNoun = \brat -> {s = table @@ -517,46 +345,6 @@ oper nullEndAnimateDeclBrat: Str -> CommNoun = \brat -> g = Masc ; anim = Animate } ; ---oper adres: CommNoun = nullEndInAnimateDecl2 "адрес" ; ---oper dom : CommNoun = nullEndInAnimateDecl2 "дом" ; ---oper svet : CommNoun = nullEndInAnimateDecl2 "свет" ; - -oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp -> - {s = table - { SF Sg Nom => gripp ; - SF Sg Gen => gripp+"а" ; - SF Sg Dat => gripp+"у" ; - SF Sg Acc => gripp ; - SF Sg Inst => gripp+"ом" ; - SF Sg (Prepos _) => gripp+"е" ; - SF Pl Nom => gripp+"а" ; - SF Pl Gen => gripp+"ов" ; - SF Pl Dat => gripp+"ам" ; - SF Pl Acc => gripp +"а"; - SF Pl Inst => gripp+"ами" ; - SF Pl (Prepos _) => gripp+"ах" - } ; - g = Masc ; anim = Inanimate - } ; - ---oper nullEndInAnimateDecl3: Str -> CommNoun = \antibiotik -> --- {s = table --- { SF Sg Nom => antibiotik ; --- SF Sg Gen => antibiotik+"а" ; --- SF Sg Dat => antibiotik+"у" ; --- SF Sg Acc => antibiotik ; --- SF Sg Inst => antibiotik+"ом" ; --- SF Sg (Prepos _) => antibiotik+"е" ; --- SF Pl Nom => antibiotik+"и" ; --- SF Pl Gen => antibiotik+"ов" ; --- SF Pl Dat => antibiotik+"ам" ; --- SF Pl Acc => antibiotik +"и"; --- SF Pl Inst => antibiotik+"ами" ; --- SF Pl (Prepos _) => antibiotik+"ах"; --- } ; --- g = Masc ; anim = Inanimate --- } ; --- --oper obezbolivauchee : CommNoun = eeEndInAnimateDecl "обезболивающ" ; oper eeEndInAnimateDecl: Str -> CommNoun = \obezbolivauch -> @@ -613,180 +401,6 @@ oper oeEndAnimateDecl: Str -> CommNoun = \snotvorn -> g = Neut ; anim = Animate } ; ---oper voskresenje : CommNoun = soft_eEndInAnimateDecl "воскресен" ; ---oper soft_eEndInAnimateDecl: Str -> CommNoun = \proizvedeni -> --- { s = table --- { SF Sg Nom => proizvedeni +"ье"; --- SF Sg Gen => proizvedeni+"ья" ; --- SF Sg Dat => proizvedeni+"ью" ; --- SF Sg Acc => proizvedeni +"ье"; --- SF Sg Inst => proizvedeni+"ьем" ; --- SF Sg (Prepos _) => proizvedeni+"ье" ; --- SF Pl Nom => proizvedeni+"ья" ; --- SF Pl Gen => proizvedeni+"ий" ; --- SF Pl Dat => proizvedeni+"ьям" ; --- SF Pl Acc => proizvedeni+"ья" ; --- SF Pl Inst => proizvedeni+"ьями" ; --- SF Pl (Prepos _) => proizvedeni+"ьях" --- } ; --- g = Neut ; anim = Inanimate --- } ; ---oper proizvedenie : CommNoun = eEndInAnimateDecl "произведени" ; - -oper eEndInAnimateDecl: Str -> CommNoun = \proizvedeni -> - { s = table - { SF Sg Nom => proizvedeni +"е"; - SF Sg Gen => proizvedeni+"я" ; - SF Sg Dat => proizvedeni+"ю" ; - SF Sg Acc => proizvedeni +"е"; - SF Sg Inst => proizvedeni+"ем" ; - SF Sg (Prepos _) => proizvedeni+"и" ; - SF Pl Nom => proizvedeni+"я" ; - SF Pl Gen => proizvedeni+"й" ; - SF Pl Dat => proizvedeni+"ям" ; - SF Pl Acc => proizvedeni+"я" ; - SF Pl Inst => proizvedeni+"ями" ; - SF Pl (Prepos _) => proizvedeni+"ях" - } ; - g = Neut ; anim = Inanimate - } ; - ---oper chislo : CommNoun = l_oEndInAnimateDecl "числ" ; ---oper vino : CommNoun = l_oEndInAnimateDecl "вин" ; ---oper l_oEndInAnimateDecl: Str -> CommNoun = \chisl -> --- let { chis = Predef.tk 1 chisl ; ending = Predef.dp 3 chisl } in --- oEndInAnimateDecl3 chisl (chis+"e"+ending) ; - --- +++ MG_UR: now expects two arguments +++ -oper oEndInAnimateDecl3: Str -> Str -> CommNoun = \chisl, chisel -> - { s = table - { SF Sg Nom => chisl +"о"; - SF Sg Gen => chisl+"а" ; - SF Sg Dat => chisl+"у" ; - SF Sg Acc => chisl +"о"; - SF Sg Inst => chisl+"ом" ; - SF Sg (Prepos _) => chisl+"е" ; - SF Pl Nom => chisl+"а" ; - SF Pl Gen => chisel; - SF Pl Dat => chisl+"ам" ; - SF Pl Acc => chisl+"а" ; - SF Pl Inst => chisl+"ами" ; - SF Pl (Prepos _) => chisl+"ах" - } ; - g = Neut ; anim = Inanimate - } ; - -oper oEndInAnimateDecl: Str -> CommNoun = \plech -> - { s = table - { SF Sg Nom => plech+"о" ; - SF Sg Gen => plech+"а" ; - SF Sg Dat => plech+"у" ; - SF Sg Acc => plech+"о" ; - SF Sg Inst => plech+"ом" ; - SF Sg (Prepos _) => plech+"е" ; - SF Pl Nom => plech+"и" ; - SF Pl Gen => plech; - SF Pl Dat => plech+"ам" ; - SF Pl Acc => plech+"и" ; - SF Pl Inst => plech+"ами" ; - SF Pl (Prepos _) => plech+"ях" - } ; - g = Neut ; anim = Inanimate - } ; - ---oper oEnd_KH_InAnimateDecl: Str -> CommNoun = \u -> --- { s = table --- { SF Sg Nom => u+"хо" ; --- SF Sg Gen => u+"ха" ; --- SF Sg Dat => u+"ху" ; --- SF Sg Acc => u+"хо" ; --- SF Sg Inst => u+"хом" ; --- SF Sg (Prepos _) => u+"хе" ; --- SF Pl Nom => u+"ши" ; --- SF Pl Gen => u +"шей"; --- SF Pl Dat => u+"шам" ; --- SF Pl Acc => u+"ши" ; --- SF Pl Inst => u+"шами" ; --- SF Pl (Prepos _) => u+"шах" --- } ; --- g = Neut ; anim = Inanimate --- } ; --- - --- further neuter classes added by Magda Gerritsen and Ulrich Real -oper hardCons_ZHInAnimateDecl: Str -> CommNoun = \slov -> - { s = table - { SF Sg Nom => slov+"о"; - SF Sg Gen => slov+"а" ; - SF Sg Dat => slov+"у" ; - SF Sg Acc => slov +"о"; - SF Sg Inst => slov+"ом" ; - SF Sg (Prepos PrepOther) => slov+"е" ; - SF Sg (Prepos PrepVNa) => slov+"у" ; - SF Pl Nom => slov+"а" ; - SF Pl Gen => slov+"" ; - SF Pl Dat => slov+"ам" ; - SF Pl Acc => slov+"а" ; - SF Pl Inst => slov+"ами" ; - SF Pl (Prepos _) => slov+"ах" - } ; - g = Neut ; anim = Inanimate - } ; - -oper weakConsInAnimateDecl: Str -> CommNoun = \mor -> - {s = table - { SF Sg Nom => mor+"е" ; - SF Sg Gen => mor+"я" ; - SF Sg Dat => mor+"ю" ; - SF Sg Acc => mor+"е" ; - SF Sg Inst => mor+"ем" ; - SF Sg (Prepos _) => mor+"е" ; - SF Pl Nom => mor+"я" ; - SF Pl Gen => mor+"ей" ; - SF Pl Dat => mor+"ям" ; - SF Pl Acc => mor+"я" ; - SF Pl Inst => mor+"ями" ; - SF Pl (Prepos _) => mor+"ях" - } ; - g = Masc ; anim = Inanimate - } ; - -oper hardCons_ZHInAnimateDeclE: Str -> CommNoun = \uchilish -> - { s = table - { SF Sg Nom => uchilish+"е"; - SF Sg Gen => uchilish+"а" ; - SF Sg Dat => uchilish+"у" ; - SF Sg Acc => uchilish +"е"; - SF Sg Inst => uchilish+"ем" ; - SF Sg (Prepos _) => uchilish+"е" ; - SF Pl Nom => uchilish+"а" ; - SF Pl Gen => uchilish+""; - SF Pl Dat => uchilish+"ам" ; - SF Pl Acc => uchilish+"а" ; - SF Pl Inst => uchilish+"ами" ; - SF Pl (Prepos _) => uchilish+"ах" - } ; - g = Neut ; anim = Inanimate - } ; - -oper irregPlInAnimateDecl: Str -> CommNoun = \neb -> - { s = table - { SF Sg Nom => neb+"о"; - SF Sg Gen => neb+"а" ; - SF Sg Dat => neb+"у" ; - SF Sg Acc => neb +"о"; - SF Sg Inst => neb+"ом" ; - SF Sg (Prepos _) => neb+"е" ; - SF Pl Nom => neb+"еса" ; - SF Pl Gen => neb+"ес"; - SF Pl Dat => neb+"есам" ; - SF Pl Acc => neb+"еса" ; - SF Pl Inst => neb+"есами" ; - SF Pl (Prepos _) => neb+"есах" - } ; - g = Neut ; anim = Inanimate - } ; - oper irregPl_StemInAnimateDecl: Str -> CommNoun = \derev -> { s = table { SF Sg Nom => derev+"о" ; @@ -805,260 +419,7 @@ oper irregPl_StemInAnimateDecl: Str -> CommNoun = \derev -> g = Masc ; anim = Inanimate } ; -oper irregTotalInAnimateDecl: Str -> CommNoun = \vre -> - {s = table - { SF Sg Nom => vre+"мя" ; - SF Sg Gen => vre+"мени" ; - SF Sg Dat => vre+"мени" ; - SF Sg Acc => vre+"мя" ; - SF Sg Inst => vre+"менем" ; - SF Sg (Prepos _) => vre+"мени" ; - SF Pl Nom => vre+"мена" ; - SF Pl Gen => vre+"мён" ; - SF Pl Dat => vre+"менам" ; - SF Pl Acc => vre+"мена" ; - SF Pl Inst => vre+"менами" ; - SF Pl (Prepos _) => vre+"менах" - } ; - g = Masc ; anim = Inanimate - } ; --- +++ MG_UR: end of our neuter patterns +++ ---oper malaria : CommNoun = i_yaEndDecl "маляри" ; --- ---oper daniya : ProperName = mkCNProperName(i_yaEndDecl "Дани" ); ---oper angliya : ProperName = mkCNProperName(i_yaEndDecl "Англи") ; ---oper finlyandiya : ProperName = mkCNProperName(i_yaEndDecl "Финлянди") ; ---oper franciya : ProperName = mkCNProperName(i_yaEndDecl "Франци" ); ---oper germaniya : ProperName = mkCNProperName(i_yaEndDecl "Германи") ; ---oper italiya : ProperName = mkCNProperName(i_yaEndDecl "Итали" ); ---oper norvegiya : ProperName = mkCNProperName(i_yaEndDecl "Норвеги") ; ---oper rossiya : ProperName = mkCNProperName(i_yaEndDecl "Росси") ; ---oper ispaniya : ProperName = mkCNProperName(i_yaEndDecl "Испани") ; ---oper shveciya : ProperName = mkCNProperName(i_yaEndDecl "Швеци") ; - -oper i_yaEndDecl: Str -> CommNoun = \malar -> - { s = table - { SF Sg Nom => malar+"я" ; - SF Sg Gen => malar+"и" ; - SF Sg Dat => malar+"и" ; - SF Sg Acc => malar+"ю" ; - SF Sg Inst => malar+"ей" ; - SF Sg (Prepos _) => malar+"и" ; - SF Sg Inst => malar+"ей" ; - SF Pl Nom => malar+"и" ; - SF Pl Gen => malar+"й" ; - SF Pl Dat => malar+"ям" ; - SF Pl Acc => malar+"и" ; - SF Pl Inst => malar+"ями" ; - SF Pl (Prepos _) => malar+"ях" - } ; - g = Fem ; anim = Inanimate - } ; - ---oper bol : CommNoun = softSignEndDeclFem "бол" ; ---oper nol : CommNoun = softSignEndDeclMasc "нол" ; ---oper uroven : CommNoun = EN_softSignEndDeclMasc "уровен" ; - -oper softSignEndDeclFem: Str -> CommNoun = \bol -> - {s = table - { SF Sg Nom => bol+"ь" ; - SF Sg Gen => bol+"и" ; - SF Sg Dat => bol+"и" ; - SF Sg Acc => bol+"ь" ; - SF Sg Inst => bol+"ью" ; - SF Sg (Prepos _) => bol+"и" ; - SF Pl Nom => bol+"и" ; - SF Pl Gen => bol+"ей" ; - SF Pl Dat => bol+"ям" ; - SF Pl Acc => bol+"и" ; - SF Pl Inst => bol+"ями" ; - SF Pl (Prepos _) => bol+"ях" - } ; - g = Fem ; anim = Inanimate - } ; - -oper softSignEndDeclMasc: Str -> CommNoun = \nol -> - {s = table - { SF Sg Nom => nol+"ь" ; - SF Sg Gen => nol+"я" ; - SF Sg Dat => nol+"ю" ; - SF Sg Acc => nol+"ь" ; - SF Sg Inst => nol+"ем" ; - SF Sg (Prepos _) => nol+"е" ; - SF Pl Nom => nol+"и" ; - SF Pl Gen => nol+"ей" ; - SF Pl Dat => nol+"ям" ; - SF Pl Acc => nol+"и" ; - SF Pl Inst => nol+"ями" ; - SF Pl (Prepos _) => nol+"ях" - } ; - g = Masc ; anim = Inanimate - } ; - --- +++ MG_UR: added +++ -oper softSignEndDeclMascAnimate: Str -> CommNoun = \uchitel -> - {s = table - { SF Sg Nom => uchitel+"ь" ; - SF Sg Gen => uchitel+"я" ; - SF Sg Dat => uchitel+"ю" ; - SF Sg Acc => uchitel+"я" ; - SF Sg Inst => uchitel+"ем" ; - SF Sg (Prepos _) => uchitel+"е" ; - SF Pl Nom => uchitel+"я" ; - SF Pl Gen => uchitel+"ей" ; - SF Pl Dat => uchitel+"ям" ; - SF Pl Acc => uchitel+"ей" ; - SF Pl Inst => uchitel+"ями" ; - SF Pl (Prepos _) => uchitel+"ях" - } ; - g = Masc ; anim = Animate - } ; - --- further masculine classes added by Magda Gerritsen and Ulrich Real -oper nullEndDecl: Str -> CommNoun = \stol -> - { s = table - { SF Sg Nom => stol+""; - SF Sg Gen => stol+"а" ; - SF Sg Dat => stol+"у" ; - SF Sg Acc => stol+""; - SF Sg Inst => stol+"ом" ; - SF Sg (Prepos _) => stol+"е" ; - SF Pl Nom => stol+"ы" ; - SF Pl Gen => stol+"ов"; - SF Pl Dat => stol+"ам" ; - SF Pl Acc => stol+"ы" ; - SF Pl Inst => stol+"ами" ; - SF Pl (Prepos _) => stol+"ах" - } ; - g = Neut ; anim = Inanimate - } ; - -oper softSignEndDeclMascInAnimateInstrJO: Str -> CommNoun = \slovar -> - {s = table - { SF Sg Nom => slovar+"ь" ; - SF Sg Gen => slovar+"я" ; - SF Sg Dat => slovar+"ю" ; - SF Sg Acc => slovar+"ь" ; - SF Sg Inst => slovar+"ём" ; - SF Sg (Prepos _) => slovar+"е" ; - SF Pl Nom => slovar+"и" ; - SF Pl Gen => slovar+"ей" ; - SF Pl Dat => slovar+"ям" ; - SF Pl Acc => slovar+"и" ; - SF Pl Inst => slovar+"ями" ; - SF Pl (Prepos _) => slovar+"ях" - } ; - g = Masc ; anim = Inanimate - } ; - -oper nullEndInAnimateDeclSoft: Str -> CommNoun = \musej -> - {s = table - { SF Sg Nom => musej+"й" ; - SF Sg Gen => musej+"я" ; - SF Sg Dat => musej+"ю" ; - SF Sg Acc => musej+"й" ; - SF Sg Inst => musej+"ем" ; - SF Sg (Prepos _) => musej+"е" ; - SF Pl Nom => musej+"и" ; - SF Pl Gen => musej+"ей" ; - SF Pl Dat => musej+"ям" ; - SF Pl Acc => musej+"и" ; - SF Pl Inst => musej+"ями" ; - SF Pl (Prepos _) => musej+"ях" - } ; - g = Masc ; anim = Inanimate - } ; - -oper ZH_EndInAnimateDeclSoftGenOWithout: Str -> CommNoun = \dvor -> - {s = table - { SF Sg Nom => dvor+"eц" ; - SF Sg Gen => dvor+"ца" ; - SF Sg Dat => dvor+"цу" ; - SF Sg Acc => dvor+"eц" ; - SF Sg Inst => dvor+"цом" ; - SF Sg (Prepos _) => dvor+"це" ; - SF Pl Nom => dvor+"ци" ; - SF Pl Gen => dvor+"цей" ; - SF Pl Dat => dvor+"цам" ; - SF Pl Acc => dvor+"ци" ; - SF Pl Inst => dvor+"цами" ; - SF Pl (Prepos _) => dvor+"цах" - } ; - g = Masc ; anim = Inanimate - } ; - -oper ZH_EndAnimateDeclSoftInstrE: Str -> CommNoun = \tovarish -> - {s = table - { SF Sg Nom => tovarish+"" ; - SF Sg Gen => tovarish+"а" ; - SF Sg Dat => tovarish+"у" ; - SF Sg Acc => tovarish+"a" ; - SF Sg Inst => tovarish+"ем" ; - SF Sg (Prepos _) => tovarish+"е" ; - SF Pl Nom => tovarish+"и" ; - SF Pl Gen => tovarish+"ей" ; - SF Pl Dat => tovarish+"ам" ; - SF Pl Acc => tovarish+"и" ; - SF Pl Inst => tovarish+"ами" ; - SF Pl (Prepos _) => tovarish+"ах" - } ; - g = Masc ; anim = Animate - } ; - -oper ZH_EndInAnimateDeclSoftGenE: Str -> CommNoun = \mesjac -> - {s = table - { SF Sg Nom => mesjac+"" ; - SF Sg Gen => mesjac+"а" ; - SF Sg Dat => mesjac+"у" ; - SF Sg Acc => mesjac+"" ; - SF Sg Inst => mesjac+"ом" ; - SF Sg (Prepos _) => mesjac+"е" ; - SF Pl Nom => mesjac+"и" ; - SF Pl Gen => mesjac+"ев" ; - SF Pl Dat => mesjac+"ам" ; - SF Pl Acc => mesjac+"и" ; - SF Pl Inst => mesjac+"ами" ; - SF Pl (Prepos _) => mesjac+"ах" - } ; - g = Masc ; anim = Inanimate - } ; - -oper PlStemChangeAnimateDecl: Str -> CommNoun = \grazhdan -> - {s = table - { SF Sg Nom => grazhdan+"ин" ; - SF Sg Gen => grazhdan+"ина" ; - SF Sg Dat => grazhdan+"ину" ; - SF Sg Acc => grazhdan+"ина" ; - SF Sg Inst => grazhdan+"ином" ; - SF Sg (Prepos _) => grazhdan+"ине" ; - SF Pl Nom => grazhdan+"е" ; - SF Pl Gen => grazhdan+"" ; - SF Pl Dat => grazhdan+"ам" ; - SF Pl Acc => grazhdan+"" ; - SF Pl Inst => grazhdan+"ами" ; - SF Pl (Prepos _) => grazhdan+"ах" - } ; - g = Masc ; anim = Inanimate - } ; - -oper A_PlStemChangeAnimateDecl: Str -> CommNoun = \gospod -> - {s = table - { SF Sg Nom => gospod+"ин" ; - SF Sg Gen => gospod+"ина" ; - SF Sg Dat => gospod+"ину" ; - SF Sg Acc => gospod+"ина" ; - SF Sg Inst => gospod+"ином" ; - SF Sg (Prepos _) => gospod+"ине" ; - SF Pl Nom => gospod+"а" ; - SF Pl Gen => gospod+"" ; - SF Pl Dat => gospod+"ам" ; - SF Pl Acc => gospod+"" ; - SF Pl Inst => gospod+"ами" ; - SF Pl (Prepos _) => gospod+"ах" - } ; - g = Masc ; anim = Animate - } ; oper LittleAnimalDecl: Str -> CommNoun = \reb -> {s = table @@ -1078,137 +439,6 @@ oper LittleAnimalDecl: Str -> CommNoun = \reb -> g = Masc ; anim = Animate } ; -oper UniqueIrregularDecl: Str -> CommNoun = \put -> - {s = table - { SF Sg Nom => put+"ь" ; - SF Sg Gen => put+"и" ; - SF Sg Dat => put+"и" ; - SF Sg Acc => put+"ь" ; - SF Sg Inst => put+"ём" ; - SF Sg (Prepos _) => put+"и" ; - SF Pl Nom => put+"и" ; - SF Pl Gen => put+"ей" ; - SF Pl Dat => put+"ям" ; - SF Pl Acc => put+"и" ; - SF Pl Inst => put+"ями" ; - SF Pl (Prepos _) => put+"ях" - } ; - g = Masc ; anim = Inanimate - } ; - -oper softSignEndDeclMascInAnimateGenEWithout: Str -> CommNoun = \d -> - {s = table - { SF Sg Nom => d+"ень" ; - SF Sg Gen => d+"ня" ; - SF Sg Dat => d+"ню" ; - SF Sg Acc => d+"ень" ; - SF Sg Inst => d+"нём" ; - SF Sg (Prepos _) => d+"не" ; - SF Pl Nom => d+"ни" ; - SF Pl Gen => d+"ней" ; - SF Pl Dat => d+"ням" ; - SF Pl Acc => d+"ни" ; - SF Pl Inst => d+"нями" ; - SF Pl (Prepos _) => d+"нях" - } ; - g = Masc ; anim = Inanimate - } ; - -oper nullEndAnimateDeclDrug: Str -> CommNoun = \dru -> - {s = table - { SF Sg Nom => dru+"г" ; - SF Sg Gen => dru+"га" ; - SF Sg Dat => dru+"гу" ; - SF Sg Acc => dru+"га"; - SF Sg Inst => dru+"гом" ; - SF Sg (Prepos _) => dru+"ге" ; - SF Pl Nom => dru+"зья" ; - SF Pl Gen => dru+"зей" ; - SF Pl Dat => dru+"зьям" ; - SF Pl Acc => dru +"зей" ; - SF Pl Inst => dru+"зьями" ; - SF Pl (Prepos _) => dru+"зьяах" - } ; - g = Masc ; anim = Animate - } ; - -oper nullEndAnimateDeclSyn: Str -> CommNoun = \syn -> - {s = table - { SF Sg Nom => syn ; - SF Sg Gen => syn+"а" ; - SF Sg Dat => syn+"у" ; - SF Sg Acc => syn +"а"; - SF Sg Inst => syn+"ом" ; - SF Sg (Prepos _) => syn+"е" ; - SF Pl Nom => syn+"ья" ; - SF Pl Gen => syn+"ьев" ; - SF Pl Dat => syn+"ьям" ; - SF Pl Acc => syn +"ьев"; - SF Pl Inst => syn+"ьями" ; - SF Pl (Prepos _) => syn+"ьяах" - } ; - g = Masc ; anim = Animate - } ; --- +++ MG_UR: end of our masculine patterns +++ - -oper okEndDeclMasc: Str -> CommNoun = \potol -> - {s = table - { SF Sg Nom => potol+"ок" ; - SF Sg Gen => potol+"ка" ; - SF Sg Dat => potol+"ку" ; - SF Sg Acc => potol+"ок" ; - SF Sg Inst => potol+"ком" ; - SF Sg (Prepos _) => potol+"ке" ; - SF Pl Nom => potol+"ки" ; - SF Pl Gen => potol+"ков" ; - SF Pl Dat => potol+"кам" ; - SF Pl Acc => potol+"ки" ; - SF Pl Inst => potol+"ками" ; - SF Pl (Prepos _) => potol+"ках" - } ; - g = Masc ; anim = Inanimate - } ; - -oper shEndDeclMasc: Str -> CommNoun = \malush -> - {s = table - { SF Sg Nom => malush ; - SF Sg Gen => malush+"а" ; - SF Sg Dat => malush+"у" ; - SF Sg Acc => malush+"а" ; - SF Sg Inst => malush+"ом" ; - SF Sg (Prepos _) => malush+"е" ; - SF Pl Nom => malush+"и" ; - SF Pl Gen => malush+"ей" ; - SF Pl Dat => malush+"ам" ; - SF Pl Acc => malush+"ей" ; - SF Pl Inst => malush+"ами" ; - SF Pl (Prepos _) => malush+"ах" - } ; - g = Masc ; anim = Inanimate - } ; - -oper EN_softSignEndDeclMasc: Str -> CommNoun = \rem -> - {s = table - { SF Sg Nom => rem+"ень" ; - SF Sg Gen => rem+"ня" ; - SF Sg Dat => rem+"ню" ; - SF Sg Acc => rem+"ень" ; - SF Sg Inst => rem+"нем" ; - SF Sg (Prepos _) => rem+"не" ; - SF Pl Nom => rem+"ни" ; - SF Pl Gen => rem+"ней" ; - SF Pl Dat => rem+"ням" ; - SF Pl Acc => rem+"ни" ; - SF Pl Inst => rem+"нями" ; - SF Pl (Prepos _) => rem+"нях" - } ; - g = Masc ; anim = Inanimate - } ; - ---oper noga : CommNoun = aEndG_K_KH_Decl "ног" ; ---oper doroga : CommNoun = aEndG_K_KH_Decl "дорог" ; ---oper dvojka : CommNoun = aEndG_K_KH_Decl "двойк" ; ---oper butyulka : CommNoun = aEndG_K_KH_Decl "бутылк" ; oper aEndG_K_KH_Decl: Str -> CommNoun = \nog -> { s = table { @@ -1228,208 +458,6 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog -> g = Fem ; anim = Inanimate } ; ---oper golova : CommNoun = aEndInAnimateDecl "голов" ; ---oper mashina : CommNoun = aEndInAnimateDecl "машин" ; ---oper temperatura : CommNoun = aEndInAnimateDecl "температур" ; ---oper edinica : CommNoun = ej_aEndInAnimateDecl "единиц" ; - -oper aEndInAnimateDecl: Str -> CommNoun = \golov -> - { s = table - { SF Sg Nom => golov+"а" ; - SF Sg Gen => golov+"ы" ; - SF Sg Dat => golov+"е" ; - SF Sg Acc => golov+"у" ; - SF Sg Inst => golov+"ой" ; - SF Sg (Prepos _) => golov+"е" ; - SF Pl Nom => golov+"ы" ; - SF Pl Gen => golov ; - SF Pl Dat => golov+"ам" ; - SF Pl Acc => golov+ "ы" ; - SF Pl Inst => golov+"ами" ; - SF Pl (Prepos _) => golov+"ах" - } ; - g = Fem ; anim = Inanimate - } ; - -oper ej_aEndInAnimateDecl: Str -> CommNoun = \ediniz -> - { s = table - { SF Sg Nom => ediniz+"а" ; - SF Sg Gen => ediniz+"ы" ; - SF Sg Dat => ediniz+"е" ; - SF Sg Acc => ediniz+"у" ; - SF Sg Inst => ediniz+"ей" ; - SF Sg (Prepos _) => ediniz+"е" ; - SF Pl Nom => ediniz+"ы" ; - SF Pl Gen => ediniz ; - SF Pl Dat => ediniz+"ам" ; - SF Pl Acc => ediniz+ "ы" ; - SF Pl Inst => ediniz+"ами" ; - SF Pl (Prepos _) => ediniz+"ах" - } ; - g = Fem ; anim = Inanimate - } ; - ---oper dyadya : CommNoun = (yaEndAnimateDecl "дяд") ** {g = Masc; anim = Animate} ; -oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan -> - {s = table { - SF Sg Nom => nyan + "я" ; SF Sg Gen => nyan + "и" ; - SF Sg Dat => nyan + "е" ; - SF Sg Acc => nyan + "ю" ; - SF Sg Inst => nyan + "ей" ; - SF Sg (Prepos _) => nyan + "е" ; - SF Pl Nom => nyan + "и" ; - SF Pl Gen => nyan + "ей" ; - SF Pl Inst => nyan + "ями" ; - SF Pl (Prepos _) => nyan + "ях" ; - SF Pl Dat => nyan + "ям" ; SF Pl Acc => nyan + "ей" - } - } ; - ---oper l_yaEndInAnimateDecl: Str -> SubstFormDecl = \kap -> ---{s = table { --- SF Sg Nom => kap + "ля" ;-- SF Sg Gen => kap + "ли" ; --- SF Sg Dat => kap + "ле" ; --- SF Sg Acc => kap + "лю" ; --- SF Sg Inst => kap + "лей" ; --- SF Sg (Prepos _) => kap + "ле" ; --- SF Pl Nom => kap + "ли" ; --- SF Pl Gen => kap + "ель" ; --- SF Pl Inst => kap + "лями" ; --- SF Pl (Prepos _) => kap + "лях" ; --- SF Pl Dat => kap + "лям" ;-- SF Pl Acc => kap + "ли" --- } --- } ; --- - --- further feminine classes added by Magda Gerritsen and Ulrich Real -oper oj_aEndInAnimateDecl: Str -> CommNoun = \svech -> - { s = table - { SF Sg Nom => svech+"а" ; - SF Sg Gen => svech+"ы" ; - SF Sg Dat => svech+"е" ; - SF Sg Acc => svech+"у" ; - SF Sg Inst => svech+"ой" ; - SF Sg (Prepos _) => svech+"е" ; - SF Pl Nom => svech+"ы" ; - SF Pl Gen => svech ; - SF Pl Dat => svech+"ам" ; - SF Pl Acc => svech+"ы" ; - SF Pl Inst => svech+"ами" ; - SF Pl (Prepos _) => svech+"ах" - } ; - g = Fem ; anim = Inanimate - } ; - -oper softSignEndDeclFemInanimate_ZH: Str -> SubstFormDecl = \noch -> - { s = table { - SF Sg Nom => noch+ "ь" ; - SF Sg Gen => noch+ "и" ; - SF Sg Dat => noch+ "и" ; - SF Sg Acc => noch+ "ь" ; - SF Sg Inst => noch+ "ью" ; - SF Sg (Prepos _) => noch+ "и" ; - SF Pl Nom => noch+ "и" ; - SF Pl Gen => noch+ "ей" ; - SF Pl Dat => noch+ "ам" ; - SF Pl Acc => noch+ "и" ; - SF Pl Inst => noch+ "ами" ; - SF Pl (Prepos _) => noch+ "ах" - } ; - g = Fem ; anim = Inanimate - } ; - -oper irregStemAnimateDecl: Str -> SubstFormDecl = \mat -> - { s = table { - SF Sg Nom => mat+ "ь" ; - SF Sg Gen => mat+ "ери" ; - SF Sg Dat => mat+ "ери" ; - SF Sg Acc => mat+ "ь" ; - SF Sg Inst => mat+ "ерью" ; - SF Sg (Prepos _) => mat+ "ери" ; - SF Pl Nom => mat+ "ери" ; - SF Pl Gen => mat+ "ерей" ; - SF Pl Dat => mat+ "ерям" ; - SF Pl Acc => mat+ "ерей" ; - SF Pl Inst => mat+ "ерями" ; - SF Pl (Prepos _) => mat+ "ерях" - } ; - g = Fem ; anim = Animate - } ; - -oper irregStemAnimateDeclInstr_MI: Str -> SubstFormDecl = \doch -> - {s = table { - SF Sg Nom => doch+ "ь" ; - SF Sg Gen => doch+ "ери" ; - SF Sg Dat => doch+ "ери" ; - SF Sg Acc => doch+ "ь" ; - SF Sg Inst => doch+ "ерью" ; - SF Sg (Prepos _) => doch+ "ери" ; - SF Pl Nom => doch+ "ери" ; - SF Pl Gen => doch+ "ерей" ; - SF Pl Dat => doch+ "ерям" ; - SF Pl Acc => doch+ "ерей" ; - SF Pl Inst => doch+ "ерьми" ; - SF Pl (Prepos _) => doch+ "ерях" - } ; - g = Fem ; anim = Animate - } ; - -oper softSignEndDeclFemInstr_MI: Str -> SubstFormDecl = \loshad -> - { s = table { - SF Sg Nom => loshad+ "ь" ; - SF Sg Gen => loshad+ "и" ; - SF Sg Dat => loshad+ "и" ; - SF Sg Acc => loshad+ "ь" ; - SF Sg Inst => loshad+ "ью" ; - SF Sg (Prepos _) => loshad+ "и" ; - SF Pl Nom => loshad+ "и" ; - SF Pl Gen => loshad+ "ей" ; - SF Pl Dat => loshad+ "ям" ; - SF Pl Acc => loshad+ "ей" ; - SF Pl Inst => loshad+ "ьми" ; - SF Pl (Prepos _) => loshad+ "ях" - } ; - g = Fem ; anim = Animate - } ; --- +++ MG_UR: end of our feminine patterns +++ - - -oper preposVNaEndUMasc: Str -> CommNoun = \les -> - { s = table - { SF Sg Nom => les+""; - SF Sg Gen => les+"а" ; - SF Sg Dat => les+"у" ; - SF Sg Acc => les+""; - SF Sg Inst => les+"ом" ; - SF Sg (Prepos PrepOther) => les+"е" ; - SF Sg (Prepos PrepVNa) => les+"у" ; - SF Pl Nom => les+"ы" ; - SF Pl Gen => les+"ов"; - SF Pl Dat => les+"ам" ; - SF Pl Acc => les+"ы" ; - SF Pl Inst => les+"ами" ; - SF Pl (Prepos _) => les+"ах" - } ; - g = Neut ; anim = Inanimate - } ; - ---oper oEnd_Decl: Str -> CommNoun = \bolshinstv -> ---{ s = table { --- SF Sg Nom => bolshinstv+"о" ; --- SF Sg Gen => bolshinstv+"а" ; --- SF Sg Dat => bolshinstv+"у" ; --- SF Sg Acc => bolshinstv+"о" ; --- SF Sg Inst => bolshinstv+"ом" ; --- SF Sg (Prepos _) => bolshinstv+"е" ; --- SF Pl Nom => bolshinstv+"а" ; --- SF Pl Gen => bolshinstv ; --- SF Pl Dat => bolshinstv+"ам" ; --- SF Pl Acc => bolshinstv+ "а" ; --- SF Pl Inst => bolshinstv+"ами" ; --- SF Pl (Prepos _) => bolshinstv+"ах"; --- } ; --- g = Neut ; anim = Inanimate ---} ; oper kg_oEnd_SgDecl: Str -> CommNoun = \mnog -> { s = table {