mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
russian: new noun paradigms, including smart paradigm. Some things are still unhandled, notably vowel changes, -a plurals -u prepositions. I have changed the lexicon to use the new ones even though they are not finished, since it was in a pretty sorry state to begin with.
This commit is contained in:
24
lib/resource-1.4/russian/ExtraLexRus.gf
Normal file
24
lib/resource-1.4/russian/ExtraLexRus.gf
Normal file
@@ -0,0 +1,24 @@
|
||||
--# -path=.:abstract:common
|
||||
concrete ExtraLexRus of ExtraLexRusAbs = CatRus **
|
||||
open ParadigmsRus in {
|
||||
flags
|
||||
coding=utf8 ;
|
||||
lin
|
||||
--- bridge_N = mkN "мост" ;
|
||||
--- candle_N = nSvecha "свеч" ; -- +++ MG_UR: added +++
|
||||
--- citizen_N = nGrazhdanin "господ" ; -- +++ MG_UR: added +++
|
||||
--- daughter_N = nDoch "доч" ; -- +++ MG_UR: added +++
|
||||
--- desk_N = nStol "стол" ;
|
||||
--- dictionary_N = nSlovar "словар" ;
|
||||
--- fellow_N = nTovarish "товарищ" ; -- +++ MG_UR: added +++
|
||||
--- flag_N = nVremja "зна" ;
|
||||
--- heaven_N = nNebo "неб" ; -- +++ MG_UR: added +++
|
||||
--- museum_N = nMusej "музе" ; -- +++ MG_UR: added +++
|
||||
-- name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate ;
|
||||
--- ocean_N = nMorje "мор" ; -- +++ MG_UR: added +++
|
||||
--- son_N = nSyn "сын" ; -- +++ MG_UR: added +++
|
||||
--- time_N = nVremja "вре" ; -- +++ MG_UR: added +++
|
||||
--- vocationalschool_N = nUchilishe "училищ" ; -- +++ MG_UR: added +++
|
||||
--- way_N = nPut "пут" ; -- +++ MG_UR: added +++
|
||||
--- word_N = nSlovo "слов" ; -- +++ MG_UR: added +++
|
||||
}
|
||||
@@ -1,321 +1,287 @@
|
||||
--# -path=.:../abstract:../common:../../prelude
|
||||
|
||||
--
|
||||
--# -path=.:abstract:common
|
||||
concrete LexiconRus of Lexicon = CatRus **
|
||||
open ParadigmsRus, Prelude, StructuralRus, MorphoRus in {
|
||||
--, IrregRus
|
||||
flags
|
||||
optimize=values ;
|
||||
coding=utf8 ;
|
||||
lin
|
||||
add_V3 = mkV3 (regV imperfective first "складыва" "ю" "складывал" "складывай" "складывать" ) "" "в" accusative accusative;
|
||||
airplane_N = nTelefon "самолет" ;
|
||||
airplane_N = mkN "самолёт" ;
|
||||
already_Adv = mkAdv "уже" ;
|
||||
animal_N = nZhivotnoe "животн" ;
|
||||
animal_N = mkN "животное" animate;
|
||||
answer_V2S = dirV2 (regV imperfective first "отвеча" "ю" "отвечал" "отвечай" "отвечать" );
|
||||
apartment_N = nMashina "квартир" ;
|
||||
-- apple_N = nChislo "яблок" ; -- +++ MG_UR: wrong! +++
|
||||
-- art_N = nChislo "искусств" ; -- +++ MG_UR: wrong! +++
|
||||
art_N = nSlovo "искусств" ; -- +++ MG_UR: added +++
|
||||
ashes_N = nPepel "пеп" ;
|
||||
apartment_N = mkN "квартира" ;
|
||||
apple_N = mkN "яблоко" ;
|
||||
art_N = mkN "искусство" ;
|
||||
ashes_N = mkN "пепел" ;
|
||||
ask_V2Q = dirV2 (regV imperfective first "спрашива" "ю" "спрашивал" "спрашивай" "спрашивать") ;
|
||||
baby_N = nMalush "малыш";
|
||||
back_N = nMashina "спин" ;
|
||||
baby_N = mkN "малыш" animate;
|
||||
back_N = mkN "спина" ;
|
||||
bad_A = AKakoj_Nibud "плох" "" "хуже";
|
||||
bank_N = nBank "банк" ;
|
||||
bark_N = mkN "лай" "лая" "лаю" "лай" "лаем" "лае" "лае" "лаи" "лаев" "лаям" "лаи" "лаями" "лаях" masculine inanimate ;
|
||||
bank_N = mkN "банк" ;
|
||||
bark_N = mkN "кора";
|
||||
beautiful_A = AStaruyj "красив" "красивее";
|
||||
become_VA = regV perfective second "станов" "лю" "стал" "стань" "стать" ;
|
||||
-- beer_N = nChislo "пив" ; -- +++ MG_UR: wrong! +++
|
||||
beer_N = nSlovo "пив" ; -- +++ MG_UR: added +++
|
||||
beer_N = mkN "пиво" ;
|
||||
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
|
||||
belly_N = nTelefon "живот" ;
|
||||
belly_N = mkN "живот" ;
|
||||
big_A = AKakoj_Nibud "больш" "" "больше" ;
|
||||
bike_N = nTelefon "велосипед" ;
|
||||
bird_N = nEdinica "птиц" ;
|
||||
bike_N = mkN "велосипед" ;
|
||||
bird_N = mkN "птица" animate;
|
||||
bite_V2 = dirV2 (regV imperfective first "куса" "ю" "кусал" "кусай" "кусать");
|
||||
black_A = AStaruyj "чёрн" "чернее";
|
||||
blood_N = nBol "кров" ;
|
||||
blood_N = mkN "кровь" ;
|
||||
blow_V = regV imperfective first "ду" "ю" "дул" "дуй" "дуть" ;
|
||||
blue_A = AMolodoj "голуб" "голубее";
|
||||
boat_N = nMashina "лодк" ;
|
||||
bone_N = nBol "кост" ;
|
||||
book_N = nNoga "книг" ;
|
||||
boot_N = nBank "сапог" ;
|
||||
boss_N = nStomatolog "начальник" ;
|
||||
boy_N = nStomatolog "мальчик" ;
|
||||
bread_N = nAdres "хлеб" ;
|
||||
boat_N = mkN "лодка" ;
|
||||
bone_N = mkN "кость" ;
|
||||
book_N = mkN "книга" ;
|
||||
boot_N = mkN "сапог" ;
|
||||
boss_N = mkN "начальник" animate;
|
||||
boy_N = mkN "мальчик" animate;
|
||||
bread_N = mkN "хлеб" ;
|
||||
break_V2 = dirV2 (regV imperfective first "прерыва" "ю" "прерывал" "прерывай" "прерывать" );
|
||||
breast_N = nBol "грудь" ;
|
||||
breast_N = mkN "грудь" ;
|
||||
breathe_V = regV imperfective second "дыш" "у" "дышал" "дыши" "дышать" ;
|
||||
--- bridge_N = nMost "мост" ;
|
||||
broad_A = AMalenkij "широк" "шире";
|
||||
brother_N2 = mkN2 (nBrat "брат") ;
|
||||
brother_N2 = mkN2 (mkN "брат" animate) ; -- FIXME: special case
|
||||
brown_A = AStaruyj "коричнев" "коричневее";
|
||||
burn_V = regV imperfective second "гор" "ю" "горел" "гори" "гореть" ;
|
||||
-- butter_N = nChislo "масл"; -- +++ MG_UR: wrong! +++
|
||||
butter_N = nSlovo "масл"; -- +++ MG_UR: added +++
|
||||
butter_N = mkN "масло";
|
||||
buy_V2 = dirV2 (regV imperfective first "покупа" "ю" "покупал" "покупай" "покупать" );
|
||||
camera_N = nMashina "kamer" ;
|
||||
--- candle_N = nSvecha "свеч" ; -- +++ MG_UR: added +++
|
||||
cap_N = nNoga "чашк" ; -- чаш-ек Pl-Gen
|
||||
car_N = nMashina "машин" ;
|
||||
carpet_N = mkN "ковёр" "ковра" "ковру" "ковёр" "ковром" "ковре" "ковре" "ковры" "ковров" "коврам" "ковры" "коврами" "коврах" masculine inanimate ;
|
||||
cat_N = nMashina "кошк" ;
|
||||
ceiling_N = nPotolok "потол" ;
|
||||
chair_N = nStul "стул" ;
|
||||
cheese_N = nTelefon "сыр" ;
|
||||
camera_N = mkN "фотоаппарат" ;
|
||||
cap_N = mkN "чашка" ; -- vowel change
|
||||
car_N = mkN "машина" ;
|
||||
carpet_N = mkN "ковёр"; -- vowel change
|
||||
cat_N = mkN "кошка" animate ; -- vowel change
|
||||
ceiling_N = mkN "потолок" ; -- vowel change
|
||||
chair_N = mkN "стул" ;
|
||||
cheese_N = mkN "сыр" ;
|
||||
--- child2_N = nRebenok "реб" ; -- Achtung: Hier 'child' im Sinne von "junge Lebewesen" (dann keine Suppletivformen(?))!
|
||||
child_N = mkN "ребёнок" "ребёнка" "ребёнку" "ребёнка" "ребёнком" "ребёнке" "ребёнке" "дети" "детей" "детям" "детей" "детьми" "детях" masculine animate ;
|
||||
church_N = mkN "церковь" "церкви" "церкви" "церковь" "церковью" "церкви" "церкви" "церкви" "церквей" "церквям" "церкви" "церквями" "церквях" masculine inanimate ;
|
||||
--- citizen_N = nGrazhdanin "господ" ; -- +++ MG_UR: added +++
|
||||
city_N = nAdres "город" ;
|
||||
city_N = mkN "город" ;
|
||||
clean_A = AStaruyj "чист" "чище";
|
||||
clever_A = AStaruyj "умн" "умнее";
|
||||
close_V2= dirV2 (regV imperfective first "закрыва" "ю" "закрывал" "закрывай" "закрывать" );
|
||||
-- cloud_N = nChislo "облак" ; -- +++ MG_UR: wrong! +++
|
||||
cloud_N = nChislo "облак" "облаков" ; -- +++ MG_UR: added +++
|
||||
cloud_N = mkN "облако" ; -- irregular
|
||||
coat_N = mkIndeclinableNoun "пальто" masculine inanimate ;
|
||||
cold_A = AStaruyj "холодн" "холоднее";
|
||||
come_V = regV imperfective first "прихо" "жу" "приходил" "приходи" "приходить" ;
|
||||
computer_N = nTelefon "компьютер" ;
|
||||
computer_N = mkN "компьютер" ;
|
||||
correct_A = AStaruyj "правильн" "правильнее";
|
||||
count_V2 = dirV2 (regV imperfective first "счита" "ю" "считал" "считай" "считать" ) ;
|
||||
country_N = nMashina "стран" ;
|
||||
cousin_N = nTelefon "кузен" ;
|
||||
cow_N = nMashina "коров" ;
|
||||
country_N = mkN "страна" ;
|
||||
cousin_N = mkN "кузен" ; -- FIXME: is this really correct? can't find it in the dictionary
|
||||
cow_N = mkN "корова" animate ;
|
||||
cut_V2 = dirV2 (regV imperfective first "реж" "у" "резал" "режь" "резать" ) ;
|
||||
--- daughter_N = nDoch "доч" ; -- +++ MG_UR: added +++
|
||||
-- day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ;
|
||||
day_N = nDen "д" ; -- +++ MG_UR: class better than mkN +++
|
||||
--- desk_N = nStol "стол" ;
|
||||
--- dictionary_N = nSlovar "словар" ;
|
||||
day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ;
|
||||
die_V = regV imperfective first "умира" "ю" "умирал" "умирай" "умирать" ;
|
||||
dig_V = regV imperfective first "копа" "ю" "копал" "копай" "копать" ;
|
||||
dirty_A = AStaruyj "грязн" "грязнее" ;
|
||||
distance_N3 = mkN3 (nProizvedenie "расстояни") from_Prep to_Prep ;
|
||||
distance_N3 = mkN3 (mkN "расстояние") from_Prep to_Prep ;
|
||||
do_V2 = dirV2 (regV imperfective first "дела" "ю" "делал" "делай" "делать" );
|
||||
doctor_N = nAdres "доктор" ;
|
||||
dog_N = nNoga "собак" ;
|
||||
door_N = nBol "двер" ;
|
||||
doctor_N = mkN "доктор" animate ;
|
||||
dog_N = mkN "собака" animate;
|
||||
door_N = mkN "дверь" ;
|
||||
drink_V2 = dirV2 (regV imperfective firstE "пь" "ю" "пил" "пей" "пить" );
|
||||
dry_A = AMolodoj "сух" "суше";
|
||||
dull_A = AStaruyj "скучн" "скучнее";
|
||||
dust_N = nBol "пыл" ;
|
||||
-- ear_N = nChislo "ухо" ; -- +++ MG_UR: wrong! +++
|
||||
earth_N = nTetya "земл" ;
|
||||
dust_N = mkN "пыль" ;
|
||||
ear_N = mkN "ухо" ;
|
||||
earth_N = mkN "земля" ;
|
||||
easy_A2V = mkA2 (AMalenkij "лёгк" "легче") "для" genitive ;
|
||||
eat_V2 = dirV2 (regV imperfective first "куша" "ю" "кушал" "кушай" "кушать" );
|
||||
-- egg_N = nChislo "яйц" ; -- +++ MG_UR: wrong! +++
|
||||
egg_N = nChislo "яйц" "яиц" ; -- +++ MG_UR: added +++
|
||||
egg_N = mkN "яйцо" ;
|
||||
empty_A = AMolodoj "пуст" "пустее";
|
||||
enemy_N = nStomatolog "враг" ;
|
||||
eye_N = nAdres "глаз" ;
|
||||
factory_N = nNoga "фабрик" ;
|
||||
enemy_N = mkN "враг" animate ;
|
||||
eye_N = mkN "глаз" ; -- FIXME: Pl -a
|
||||
factory_N = mkN "фабрика" ;
|
||||
fall_V = regV imperfective first "пада" "ю" "падал" "падай" "падать" ;
|
||||
far_Adv = mkAdv "далеко";
|
||||
fat_N = nBank "жир" ;
|
||||
fat_N = mkN "жир" ;
|
||||
father_N2 = mkN2 (mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate);
|
||||
fear_V2 =dirV2 (regV imperfective first "бо" "ю" "боял" "бой" "боять" );
|
||||
fear_VS = regV imperfective second "бо" "ю" "боял" "бой" "боять" ;
|
||||
feather_N = mkN "перо" "пера" "перу" "пера" "пером" "пере" "пере" "перья" "перьев" "перьям" "перьев" "перьями" "перьях" neuter inanimate ;
|
||||
--- fellow_N = nTovarish "товарищ" ; -- +++ MG_UR: added +++
|
||||
fight_V2 = dirV2 (regV imperfective firstE "дер" "у" "драл" "дери" "драть" ) ;
|
||||
find_V2 = dirV2 (mkV imperfective "нахожу" "находишь" "находит" "находим" "находите" "находят" "находил" "находи" "находить" );
|
||||
fingernail_N = mkN "ноготь" "ногтя" "ногтю" "ногтя" "ногтем" "ногте" "ногте" "ногти" "ногтей" "ногтям" "ногтей" "ногтями" "ногтях" masculine inanimate ;
|
||||
fire_N = mkN "огонь" "огня" "огню" "огня" "огнём" "огне" "огне" "огни" "огней" "огням" "огней" "огнями" "огнях" masculine inanimate ;
|
||||
fish_N = nMashina "рыб" ;
|
||||
--- flag_N = nVremja "зна" ;
|
||||
fish_N = mkN "рыба" animate;
|
||||
float_V = regV imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ;
|
||||
floor_N = nTelefon "пол" ;
|
||||
floor_N = mkN "пол" ;
|
||||
flow_V = regV imperfective firstE "тек" "у" "тёк" "теки" "течь" ;
|
||||
flower_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ;
|
||||
flower_N = mkN "цветок";
|
||||
fly_V = regV imperfective second "лета" "ю" "летал" "летай" "летать" ;
|
||||
fog_N = nTelefon "туман" ;
|
||||
foot_N = nTetya "ступн" ;
|
||||
forest_N = nLes "лес" ;
|
||||
fog_N = mkN "туман" ;
|
||||
foot_N = mkN "ступня" ;
|
||||
forest_N = mkN "лес" ; -- prepos -u
|
||||
forget_V2= dirV2 (regV imperfective first "забыва" "ю" "забывал" "забывай" "забывать" );
|
||||
freeze_V = regV imperfective first "замерза" "ю" "замерзал" "замерзай" "замерзать" ;
|
||||
fridge_N = nBank "холодильник" ;
|
||||
-- friend_N = mkN "друг" "друга" "другу" "друга" "другом" "друге" "друге" "друзья" "друзей" "друзьям" "друзей" "дузьями" "друзьях" masculine animate ;
|
||||
friend_N = nDrug "дру" ; -- +++ MG_UR: class better than mkN +++
|
||||
fruit_N = nTelefon "фрукт" ;
|
||||
fridge_N = mkN "холодильник" ;
|
||||
friend_N = mkN "друг" "друга" "другу" "друга" "другом" "друге" "друге" "друзья" "друзей" "друзьям" "друзей" "дузьями" "друзьях" masculine animate ;
|
||||
fruit_N = mkN "фрукт" ;
|
||||
full_A = AStaruyj "полн" "полнее";
|
||||
fun_AV = AStaruyj "весёл" "веселее";
|
||||
garden_N = nTelefon "сад" ;
|
||||
girl_N = nNoga "девочк" ;
|
||||
garden_N = mkN "сад" ;
|
||||
girl_N = mkN "девочка" animate; -- vowel change
|
||||
give_V3 = tvDirDir (regV imperfective firstE "да" "ю" "давал" "давай" "давать" ) ;
|
||||
glove_N = nNoga "перчатк" ;
|
||||
glove_N = mkN "перчатка" ; -- vowel change
|
||||
go_V= regV imperfective second "хо" "жу" "ходил" "ходи" "ходить" ;
|
||||
-- gold_N = nChislo "золот" ; -- +++ MG_UR: wrong! +++
|
||||
gold_N = nSlovo "золот" ; -- +++ MG_UR: added +++
|
||||
gold_N = mkN "золото" ;
|
||||
good_A = AKhoroshij "хорош" "лучше" ;
|
||||
grammar_N = nNoga "грамматик";
|
||||
grass_N = nMashina "трав" ;
|
||||
grammar_N = mkN "грамматикa";
|
||||
grass_N = mkN "трава";
|
||||
green_A = AStaruyj "зелен" "зеленее" ;
|
||||
guts_N = nBol "внутренност" ;
|
||||
hair_N = nTelefon "волос" ;
|
||||
hand_N = nNoga "рук" ;
|
||||
harbour_N = nTelefon "залив" ;
|
||||
hat_N = nMashina "шляп" ;
|
||||
guts_N = mkN "внутренность" ;
|
||||
hair_N = mkN "волос" ; -- FIXME: always plural?
|
||||
hand_N = mkN "рука" ;
|
||||
harbour_N = mkN "порт" ; -- prepos -u
|
||||
hat_N = mkN "шляпа" ;
|
||||
hate_V2= dirV2 (regV imperfective second "ненави" "жу" "ненавидел" "ненавидь" "ненавидеть" );
|
||||
have_V2= dirV2 (regV imperfective first "име" "ю" "имел" "имей" "иметь" );
|
||||
head_N = nMashina "голов" ;
|
||||
head_N = mkN "голова" ;
|
||||
hear_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
|
||||
heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" neuter inanimate ;
|
||||
--- heaven_N = nNebo "неб" ; -- +++ MG_UR: added +++
|
||||
heavy_A = AStaruyj "тяжел" "тяжелее";
|
||||
hill_N = nTelefon "холм" ;
|
||||
hill_N = mkN "холм" ;
|
||||
hit_V2 = dirV2 (regV imperfective first "ударя" "ю" "ударял" "ударяй" "ударять" );
|
||||
hold_V2 = dirV2 (regV imperfective second "держ" "у" "держал" "держи" "держать" );
|
||||
hope_VS= regV imperfective first "наде" "ю" "надеял" "надей" "надеять" ;
|
||||
horn_N = nAdres "рог" ;
|
||||
-- horse_N = nBol "лошад" ; -- +++ MG_UR: wrong! +++
|
||||
horse_N = nLoshad "лошад" ; -- +++ MG_UR: added +++
|
||||
horn_N = mkN "рог" ;
|
||||
horse_N = mkN "лошадь" animate;
|
||||
hot_A = AKhoroshij "горяч" "горячее" ;
|
||||
house_N = nAdres "дом" ;
|
||||
house_N = mkN "дом" ;
|
||||
hunt_V2 = dirV2 (regV imperfective second "охоч" "у" "охотил" "охоть" "охотить" ) ;
|
||||
husband_N = mkN "муж" "мужа" "мужу" "мужа" "мужем" "муже" "муже" "мужья" "мужей" "мужьям" "мужей" "мужьями" "мужьях" masculine animate ;
|
||||
ice_N = mkN "лёд" "льда" "льду" "льда" "льдом" "льде" "льде" "льды" "льдов" "льдам" "льдов" "льдами" "льдах" masculine inanimate ;
|
||||
important_A = AStaruyj "важн" "важнее" ;
|
||||
-- industry_N = nChislo "производств" ; -- +++ MG_UR: wrong! +++
|
||||
industry_N = nSlovo "производств" ; -- +++ MG_UR: added +++
|
||||
-- iron_N = nChislo "желез" ; -- +++ MG_UR: wrong! +++
|
||||
iron_N = nSlovo "желез" ; -- +++ MG_UR: added +++
|
||||
industry_N = mkN "промышленность" ;
|
||||
iron_N = mkN "железо" ;
|
||||
jump_V = regV imperfective first "прыга" "ю" "прыгал" "прыгай" "прыгать" ;
|
||||
kill_V2 = dirV2 (regV imperfective first "убива" "ю" "убивал" "убивай" "убивать" ) ;
|
||||
king_N = mkN "король" "короля" "королю" "короля" "королем" "короле" "короле" "короли" "королей" "королям" "королей" "королями" "королях" masculine animate ;
|
||||
knee_N = mkN "колено" "колена" "колену" "колена" "коленом" "колене" "колене" "колени" "колен" "коленам" "колен" "коленями" "коленях" neuter inanimate ;
|
||||
know_V2= dirV2 (regV imperfective first "зна" "ю" "знал" "знай" "знать" );
|
||||
-- lake_N = nChislo "озер" ; -- +++ MG_UR: wrong! +++
|
||||
lake_N = nChislo "озер" "озёр"; -- +++ MG_UR: added +++
|
||||
lamp_N = nMashina "ламп" ;
|
||||
language_N = nBank "язык" ;
|
||||
lake_N = mkN "озеро" ; -- gen pl "озёр"
|
||||
lamp_N = mkN "лампа" ;
|
||||
language_N = mkN "язык" ;
|
||||
laugh_V = regV imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ;
|
||||
leaf_N = nStul "лист" ;
|
||||
leaf_N = mkN "лист" ; -- irregular pl
|
||||
learn_V2= dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
|
||||
leather_N = nEdinica "кож" ;
|
||||
leather_N = mkN "кожа" ;
|
||||
leave_V2= dirV2 (regV imperfective second "ухож" "у" "уходил" "уходи" "уходить" );
|
||||
left_Ord = (uy_j_EndDecl "лев" ) ** {lock_A = <>};
|
||||
leg_N = nNoga "ног" ;
|
||||
leg_N = mkN "нога" ;
|
||||
lie_V = regV imperfective firstE "лг" "у" "лгал" "лги" "лгать" ;
|
||||
like_V2= dirV2 (regV imperfective second "нрав" "лю" "нравил" "нравь" "нравить" );
|
||||
listen_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
|
||||
live_V= regV imperfective firstE "жив" "у" "жил" "живи" "жить" ;
|
||||
liver_N = nBol "печен" ;
|
||||
liver_N = mkN "печень" ;
|
||||
long_A = AStaruyj "длинн" "длиннее" ;
|
||||
lose_V2 = dirV2 (regV imperfective first "теря" "ю" "терял" "теряй" "терять" );
|
||||
louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" feminine animate ;
|
||||
love_N = nBol "любов" ;
|
||||
love_N = mkN "любовь" ; -- vowel change
|
||||
love_V2= dirV2 (regV imperfective second "люб" "лю" "любил" "люби" "любить" );
|
||||
man_N = nStomatolog "человек" ;
|
||||
man_N = mkN "человек" ; -- null gen pl
|
||||
married_A2 = mkA2 (adjInvar "замужем") "за" instructive ;
|
||||
-- meat_N = nChislo "мяс" ; -- +++ MG_UR: wrong! +++
|
||||
-- milk_N = nChislo "молок" ; -- +++ MG_UR: wrong! +++
|
||||
--- mister_N = nGospodin "господ" ; -- +++ MG_UR: added +++
|
||||
--- mom_N = nMat "мат" ; -- +++ MG_UR: added +++
|
||||
--- month_N = nMesjac "месяц" ; -- +++ MG_UR: added +++
|
||||
moon_N = nMashina "лун" ;
|
||||
mother_N2 = mkN2 ( nMashina "мам") ;
|
||||
mountain_N = nMashina "гор" ;
|
||||
meat_N = mkN "мясо" ;
|
||||
milk_N = mkN "молоко" ;
|
||||
moon_N = mkN "луна" ;
|
||||
mother_N2 = mkN2 (mkN "мама") ;
|
||||
mountain_N = mkN "гора" ;
|
||||
mouth_N = mkN "рот" "рта" "рту" "рот" "ртом" "рте" "рте" "рты" "ртов" "ртам" "рты" "ртами" "ртах" masculine inanimate ;
|
||||
--- museum_N = nMusej "музе" ; -- +++ MG_UR: added +++
|
||||
music_N = nNoga "музык" ;
|
||||
-- name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate ;
|
||||
name_N = nVremja "и" ; -- +++ MG_UR: class better than mkN +++
|
||||
music_N = mkN "музыка" ;
|
||||
name_N = mkN "имя" ;
|
||||
narrow_A = AStaruyj "узк" "уже" ;
|
||||
near_A = AMalenkij "близк" "ближе";
|
||||
neck_N = nTetya "ше" ;
|
||||
neck_N = mkN "шея" ;
|
||||
new_A = AStaruyj "нов" "новее" ;
|
||||
newspaper_N = nMashina "газет" ;
|
||||
-- night_N = nBol "ноч" ; -- +++ MG_UR: wrong! +++
|
||||
night_N = nNoch "ноч" ; -- +++ MG_UR: added +++
|
||||
nose_N = nTelefon "нос" ;
|
||||
newspaper_N = mkN "газета" ;
|
||||
night_N = mkN "ночь" ;
|
||||
nose_N = mkN "нос" ;
|
||||
now_Adv = mkAdv "сейчас" ;
|
||||
number_N = nChislo "числ" "чисел" ;
|
||||
--- ocean_N = nMorje "мор" ; -- +++ MG_UR: added +++
|
||||
oil_N = nBol "нефть" ;
|
||||
number_N = mkN "число" ; -- gen pl "чисел"
|
||||
oil_N = mkN "нефть" ;
|
||||
old_A = AStaruyj "стар" "старше" ;
|
||||
open_V2= dirV2 (regV imperfective first "открыва" "ю" "открывал" "открывай" "открывать" );
|
||||
--- organise_V2 = dirV2 (regV imperfective foreign "организу" "ю" "организовал" "организуй" "организовать" ); -- +++ MG_UR: added +++
|
||||
paint_V2A = dirV2 (regV imperfective first "рису" "ю" "рисовал" "рисуй" "рисовать" ) ;
|
||||
--- palace_N = nDvorec "двор" ; -- +++ MG_UR: added +++
|
||||
paper_N = nNoga "бумаг" ;
|
||||
paper_N = mkN "бумага" ;
|
||||
paris_PN = mkPN "Париж" Masc Inanimate ;
|
||||
peace_N = nTelefon "мир" ;
|
||||
pen_N = nNoga "ручк" ;
|
||||
person_N = nBol "личность" ;
|
||||
planet_N = nMashina "планет" ;
|
||||
plastic_N = nMashina "пластмасс" ;
|
||||
peace_N = mkN "мир" ;
|
||||
pen_N = mkN "ручка" ;
|
||||
person_N = mkN "лицo" animate ; -- irregular
|
||||
planet_N = mkN "планета" ;
|
||||
plastic_N = mkN "пластмасса" ;
|
||||
play_V = regV imperfective first "игра" "ю" "играл" "играй" "играть" ;
|
||||
play_V2 = mkV2 (regV imperfective first "игра" "ю" "играл" "играй" "играть" ) "c" instructive;
|
||||
policeman_N = nTelefon "милиционер" ;
|
||||
priest_N = nStomatolog "священник" ;
|
||||
policeman_N = mkN "милиционер" animate ;
|
||||
priest_N = mkN "священник" animate;
|
||||
probable_AS = AStaruyj "возможн" "возможнее";
|
||||
pull_V2 = dirV2 (regV imperfective first "тян" "у" "тянул" "тяни" "тянуть" ) ;
|
||||
push_V2 = dirV2 (regV imperfective first "толка" "ю" "толкал" "толкай" "толкать" );
|
||||
put_V2 = dirV2 (regV imperfective firstE "клад" "у" "клал" "клади" "класть" );
|
||||
queen_N = nMashina "королев" ;
|
||||
queen_N = mkN "королева" animate ;
|
||||
question_N = mkN "вопрос" ;
|
||||
radio_N = mkIndeclinableNoun "радио" neuter inanimate;
|
||||
rain_N = nNol "дожд" ;
|
||||
rain_N = mkN "дождь" ;
|
||||
rain_V0 = idetDozhd verbIdti; -- No such verb in Russian!
|
||||
read_V2 = dirV2 (regV imperfective first "чита" "ю" "читал" "читай" "читать" );
|
||||
-- ready_A = ;
|
||||
reason_N = mkN "причина";
|
||||
red_A = AStaruyj "красн" "краснее" ;
|
||||
religion_N = nMalyariya "религи" ;
|
||||
restaurant_N = nTelefon "ресторан" ;
|
||||
religion_N = mkN "религия" ;
|
||||
restaurant_N = mkN "ресторан" ;
|
||||
right_Ord = (uy_j_EndDecl "прав") ** {lock_A = <>} ;
|
||||
river_N = nNoga "рек" ;
|
||||
road_N = nNoga "дорог" ;
|
||||
rock_N = nUroven "кам" ;
|
||||
roof_N = nEdinica "крыш" ;
|
||||
root_N = nUroven "кор" ;
|
||||
rope_N = nNoga "веревк" ;
|
||||
river_N = mkN "рекa" ;
|
||||
road_N = mkN "дорогa" ;
|
||||
rock_N = mkN "камень" ;
|
||||
roof_N = mkN "крыша" ;
|
||||
root_N = mkN "корень" ;
|
||||
rope_N = mkN "верёвка" ;
|
||||
rotten_A = AMolodoj "гнил" "гнилее";
|
||||
round_A = AStaruyj "кругл" "круглее";
|
||||
rub_V2 = dirV2 (regV imperfective firstE "тр" "у" "тёр" "три" "тереть" );
|
||||
rubber_N = nMashina "резин" ;
|
||||
-- rule_N = nChislo "правил" ; -- +++ MG_UR: wrong! +++
|
||||
rule_N = nSlovo "правил" ; -- +++ MG_UR: added +++
|
||||
rubber_N = mkN "резина" ;
|
||||
rule_N = mkN "правило" ;
|
||||
run_V = regV imperfective first "бега" "ю" "бегал" "бегай" "бегать" ;
|
||||
salt_N = nBol "сол" ;
|
||||
salt_N = mkN "соль" ;
|
||||
sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" masculine inanimate ;
|
||||
say_VS = regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ;
|
||||
school_N = nMashina "школ" ;
|
||||
science_N = nNoga "наук" ;
|
||||
school_N = mkN "школа" ;
|
||||
science_N = mkN "наука" ;
|
||||
scratch_V2 = dirV2 (regV imperfective first "чеш" "у" "чесал" "чеши" "чесать" ) ;
|
||||
sea_N = nProizvedenie "мор" ;
|
||||
-- see_V2 = dirV2 (regV imperfective second "виж" "у" "видел" "видь" "видеть" );
|
||||
see_V2 = dirV2 (regV imperfective second "ви" "жу" "видел" "видь" "видеть" ); -- changed !!
|
||||
-- seed_N = mkN "семя" "семени" "семении" "семя" "семенем" "семени" "семени" "семена" "семян" "семенам" "семена" "семенами" "семенах" "семенах" neuter inanimate ;
|
||||
seed_N = nVremja "се" ; -- +++ MG_UR: class better than mkN +++
|
||||
sea_N = mkN "море" ;
|
||||
see_V2 = dirV2 (regV imperfective second "ви" "жу" "видел" "видь" "видеть" );
|
||||
seed_N = mkN "семя";
|
||||
seek_V2 = dirV2 (regV imperfective first "ищ" "у" "искал" "ищи" "искать" );
|
||||
sell_V3 = tvDirDir (regV imperfective firstE "прода" "ю" "продавал" "продавай" "продавать" );
|
||||
send_V3 = tvDirDir (regV imperfective first "посыла" "ю" "посылал" "посылай" "посылать" );
|
||||
sew_V = regV imperfective firstE "шь" "ю" "шил" "шей" "шить" ;
|
||||
sharp_A = AStaruyj "остр" "острее";
|
||||
sheep_N = nMashina "овц" ;
|
||||
ship_N = nNol "корабл" ;
|
||||
shirt_N = nNoga "рубашк" ;
|
||||
sheep_N = mkN "овца" animate ;
|
||||
ship_N = mkN "корабль" ;
|
||||
shirt_N = mkN "рубашка" ;
|
||||
shoe_N = mkN "туфля" "туфли" "туфле" "туфлю" "туфлей" "туфле" "туфле" "туфли" "туфель" "туфлям" "туфли" "туфлями" "туфлях" masculine inanimate ;
|
||||
shop_N = nTelefon "магазин" ;
|
||||
shop_N = mkN "магазин" ;
|
||||
short_A = AMalenkij "коротк" "короче" ;
|
||||
-- silver_N = nChislo "серебр" ; -- +++ MG_UR: wrong! +++
|
||||
silver_N = nSlovo "серебр" ; -- +++ MG_UR: added +++
|
||||
silver_N = mkN "серебро" ;
|
||||
sing_V = regV imperfective firstE "по" "ю" "пел" "пой" "петь" ;
|
||||
sister_N = nMashina "сестр" ;
|
||||
sister_N = mkN "сестра" animate ;
|
||||
sit_V = mkV imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ;
|
||||
skin_N = nEdinica "кож" ;
|
||||
skin_N = mkN "кожа" ;
|
||||
sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" neuter inanimate ;
|
||||
sleep_V = regV imperfective second "сп" "лю" "спал" "спи" "спать" ;
|
||||
small_A = AMalenkij "маленьк" "меньше" ;
|
||||
smell_V = regV imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ;
|
||||
smoke_N = nTelefon "дым" ;
|
||||
smoke_N = mkN "дым" ;
|
||||
smooth_A = AMalenkij "гладк" "глаже";
|
||||
snake_N = nTetya "зме" ;
|
||||
snake_N = nTetya"зме" ;
|
||||
snow_N = nAdres "снег" ;
|
||||
sock_N = nPotolok "нос" ;
|
||||
--- son_N = nSyn "сын" ; -- +++ MG_UR: added +++
|
||||
snake_N = mkN "змея" animate ;
|
||||
snow_N = mkN "снег" ;
|
||||
sock_N = mkN "носок" ;
|
||||
song_N = nTetya "песн" ;
|
||||
speak_V2 = mkV2 (regV imperfective secondA "говор" "ю" "говорил" "говори" "говорить")
|
||||
"на" prepositional ;
|
||||
@@ -324,14 +290,14 @@ lin
|
||||
squeeze_V2 = dirV2 (regV imperfective first "сжима" "ю" "сжимал" "сжимай" "сжимать" ) ;
|
||||
stab_V2 = dirV2 (regV imperfective first "кол" "ю" "колол" "коли" "колоть" ) ;
|
||||
stand_V = regV imperfective second "сто" "ю" "стоял" "стой" "стоять" ;
|
||||
star_N = nMashina "звезд" ;
|
||||
steel_N = nBol "стал" ;
|
||||
stick_N = nNoga "палк" ;
|
||||
stone_N = nNol "камен" ;
|
||||
star_N = mkN "звезда" ;
|
||||
steel_N = mkN "сталь" ;
|
||||
stick_N = mkN "палка" ;
|
||||
stone_N = mkN "камень" ;
|
||||
stop_V = regV imperfective first "останавлива" "ю" "останавливал" "останавливай" "останавливать";
|
||||
stove_N = nBol "печ" ;
|
||||
stove_N = mkN "печь" ;
|
||||
straight_A = AMolodoj "прям" "прямее";
|
||||
student_N = nTelefon "студент" ;
|
||||
student_N = mkN "студент" animate ;
|
||||
stupid_A = AMolodoj "тупой" "тупее" ;
|
||||
suck_V2 = dirV2 (regV imperfective firstE "сос" "у" "сосал" "соси" "сосать") ;
|
||||
sun_N = mkN "солнце" "солнца" "солнцу" "солнце" "солнцем" "солнце" "солнце" "солнца" "солнц" "солнцам" "солнца" "солнцами" "солнцах" neuter inanimate ;
|
||||
@@ -339,61 +305,54 @@ lin
|
||||
swim_V = regV imperfective first "плава" "ю" "плавал" "плавай" "плавать" ;
|
||||
switch8off_V2 = dirV2 (regV imperfective first "выключа" "ю" "выключал" "выключай" "выключать") ;
|
||||
switch8on_V2 = dirV2 (regV imperfective first "включа" "ю" "включал" "включай" "включать") ;
|
||||
table_N = nTelefon "стол" ;
|
||||
tail_N = nTelefon "хвост" ;
|
||||
table_N = mkN "стол" ;
|
||||
tail_N = mkN "хвост" ;
|
||||
talk_V3 = mkV3 (regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ) "с" "о" instructive prepositional;
|
||||
teach_V2 = dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
|
||||
-- teacher_N = nNol "учител" ; -- +++ MG_UR: wrong! +++
|
||||
teacher_N = nUchitel "учител" ; -- +++ MG_UR: added +++
|
||||
television_N = nProizvedenie "телевидени" ;
|
||||
teacher_N = mkN "учитель" animate ;
|
||||
television_N = mkN "телевидение" ; -- FIXME: televizor?
|
||||
thick_A = AStaruyj "толст" "толще" ;
|
||||
thin_A = AMalenkij "тонк" "тоньше" ;
|
||||
think_V = regV imperfective first "дума" "ю" "думал" "думай" "думать" ;
|
||||
throw_V2 = dirV2 (regV imperfective first "броса" "ю" "бросал" "бросай" "бросать" ) ;
|
||||
tie_V2 = dirV2 (regV imperfective first "вяж" "у" "вязал" "вяжи" "вязать") ;
|
||||
--- time_N = nVremja "вре" ; -- +++ MG_UR: added +++
|
||||
tongue_N = nBank "язык" ;
|
||||
tooth_N = nTelefon "зуб" ;
|
||||
train_N = nAdres "поезд" ;
|
||||
-- today_Adv = ;
|
||||
tongue_N = mkN "язык" ;
|
||||
tooth_N = mkN "зуб" ;
|
||||
train_N = mkN "поезд" ;
|
||||
travel_V = regV imperfective first "путешеству" "ю" "путешествовал" "путешествуй" "путешествовать" ;
|
||||
tree_N = nDerevo "дерев" ; -- +++ MG_UR: added +++
|
||||
tree_N = mkN "дерево" ; -- irregular
|
||||
turn_V = regV imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ;
|
||||
ugly_A = AStaruyj "некрасив" "некрасивее" ;
|
||||
-- uncertain_A = ;
|
||||
understand_V2 = dirV2 (regV imperfective first "понима" "ю" "понимал" "понимай" "понимать" );
|
||||
university_N = nTelefon "университет" ;
|
||||
village_N = nMalyariya "деревн" ;
|
||||
--- vocationalschool_N = nUchilishe "училищ" ; -- +++ MG_UR: added +++
|
||||
university_N = mkN "университет" ;
|
||||
village_N = mkN "деревня" ;
|
||||
vomit_V = regV imperfective firstE "рв" "у" "рвал" "рви" "рвать" ;
|
||||
wait_V2 = dirV2 (regV imperfective firstE "жд" "у" "ждал" "жди" "ждать" );
|
||||
walk_V = regV imperfective first "гуля" "ю" "гулял" "гуляй" "гулять" ;
|
||||
--- want_V2 = dirV2 (regV imperfective mixed "хо" "чу" "хотел" "хоти" "хотеть" );
|
||||
war_N = nMashina "войн" ;
|
||||
war_N = mkN "война" ;
|
||||
warm_A = AStaruyj "тёпл" "теплее" ;
|
||||
wash_V2 = dirV2 (regV imperfective first "мо" "ю" "мыл" "мой" "мыть" ) ;
|
||||
watch_V2 = dirV2 (regV imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" );
|
||||
water_N = nMashina "вод" ;
|
||||
--- way_N = nPut "пут" ; -- +++ MG_UR: added +++
|
||||
water_N = mkN "вода" ;
|
||||
wet_A = AStaruyj "мокр" "мокрее";
|
||||
white_A = AStaruyj "бел" "белее" ;
|
||||
wide_A = AMalenkij "широк" "шире";
|
||||
wife_N = nMashina "жен" ;
|
||||
wife_N = mkN "жена" animate ;
|
||||
win_V2 = dirV2 (regV imperfective first "выигрыва" "ю" "выигрывал" "выигрывай" "выигрывать" );
|
||||
wind_N = mkN "ветер" "ветра" "ветру" "ветер" "ветром" "ветра" "ветра" "ветров" "ветра" "ветрам" "ветров" "ветрами" "ветрах" masculine inanimate ;
|
||||
-- window_N = nChislo "окн" ; -- +++ MG_UR: wrong! +++
|
||||
window_N = nChislo "окн" "окон" ; -- +++ MG_UR: added +++
|
||||
-- wine_N = nChislo "вин" ; -- +++ MG_UR: wrong! +++
|
||||
wine_N = nSlovo "вин" ; -- +++ MG_UR: added +++
|
||||
-- wing_N = mkN "крыло" "крыла" "крылу" "крыло" "крылом" "крыле" "крыле" "крылья" "крыльев" "крыльям" "крылья" "крыльями" "крыльях" neuter inanimate ;
|
||||
wing_N = nDerevo "крыл" ; -- +++ MG_UR: class better than mkN +++
|
||||
window_N = mkN "окно" ; -- "окон"
|
||||
wine_N = mkN "вино" ;
|
||||
wing_N = mkN "крыло" ; -- pl крылья крыльев etc
|
||||
wipe_V2 = dirV2 (regV imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" );
|
||||
woman_N = nZhenchina "женщин" ;
|
||||
woman_N = mkN "женщина" ;
|
||||
wonder_VQ = regV imperfective first "интересу" "ю" "интересовал" "интересуй" "интересовать";
|
||||
-- wood_N = nChislo "дерев" ; -- +++ MG_UR: wrong! +++
|
||||
wood_N = nDerevo "дерев" ; -- +++ MG_UR: added +++
|
||||
--- word_N = nSlovo "слов" ; -- +++ MG_UR: added +++
|
||||
worm_N = nNol "черв" ;
|
||||
wood_N = mkN "дерево" ;
|
||||
worm_N = mkN "черв" ;
|
||||
write_V2 = dirV2 (regV imperfective first "пиш" "у" "писал" "пиши" "писать" );
|
||||
year_N = nAdres "год" ;
|
||||
year_N = mkN "годь" ;
|
||||
yellow_A = AStaruyj "жёлт" "желтее" ;
|
||||
young_A = AMolodoj "молод" "моложе";
|
||||
}
|
||||
|
||||
@@ -82,13 +82,9 @@ oper
|
||||
-- to the Nominative or the Genetive one) is actually of no help,
|
||||
-- since there are a lot of exceptions and the gain is just one form less.
|
||||
|
||||
-- +++ MG_UR: new case Prepos2 introduced! +++
|
||||
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
mkWorstN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N ;
|
||||
|
||||
-- мужчина, мужчины, мужчине, мужчину, мужчиной, мужчине
|
||||
-- мужчины, мужчин, мужчинам, мужчин, мужчинами, мужчинах
|
||||
|
||||
-- The regular function captures the variants for some popular nouns
|
||||
-- endings below:
|
||||
|
||||
@@ -363,6 +359,21 @@ foreign = Foreign; -- +++ MG_UR: added +++
|
||||
|
||||
-- Noun definitions
|
||||
|
||||
mkN : overload {
|
||||
mkN : (karta : Str) -> N ;
|
||||
mkN : (tigr : Str) -> Animacy -> N ;
|
||||
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N
|
||||
} ;
|
||||
|
||||
mkN = overload {
|
||||
mkN : (karta : Str) -> N = regN ;
|
||||
mkN : (tigr : Str) -> Animacy -> N = \nom, anim -> case anim of { Animate => animateN (regN nom) ;
|
||||
Inanimate => regN nom } ;
|
||||
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl : Str) -> Gender -> Animacy -> N = mkWorstN
|
||||
} ;
|
||||
|
||||
mkIndeclinableNoun = \s,g, anim ->
|
||||
{
|
||||
s = table { SF _ _ => s } ;
|
||||
@@ -370,8 +381,7 @@ foreign = Foreign; -- +++ MG_UR: added +++
|
||||
anim = anim
|
||||
} ** {lock_N = <>};
|
||||
|
||||
-- +++ MG_UR: new case Prepos2 introduced! +++
|
||||
mkN = \nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
mkWorstN = \nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
|
||||
nomPl, genPl, datPl, accPl, instPl, preposPl, g, anim ->
|
||||
{
|
||||
s = table {
|
||||
@@ -393,95 +403,292 @@ foreign = Foreign; -- +++ MG_UR: added +++
|
||||
anim = anim
|
||||
} ** {lock_N = <>} ;
|
||||
|
||||
-- Makes a noun animate.
|
||||
animateN : N -> N = \n ->
|
||||
{
|
||||
s = table {
|
||||
SF Sg Acc => case n.g of {
|
||||
Masc => n.s!(SF Sg Gen);
|
||||
_ => n.s!(SF Sg Acc)
|
||||
};
|
||||
SF Pl Acc => n.s!(SF Pl Gen);
|
||||
sf => n.s!sf } ;
|
||||
g = n.g ;
|
||||
anim = Animate
|
||||
} ** {lock_N = <>};
|
||||
|
||||
regN = \ray ->
|
||||
let
|
||||
ra = Predef.tk 1 ray ;
|
||||
y = Predef.dp 1 ray ;
|
||||
r = Predef.tk 2 ray ;
|
||||
ay = Predef.dp 2 ray ;
|
||||
rays =
|
||||
case y of {
|
||||
"а" => nMashina ray ;
|
||||
"ь" => nBol ray ;
|
||||
"я" => case ay of {
|
||||
"ия" => nMalyariya ray;
|
||||
_ => nTetya ray };
|
||||
"е" => case ay of {
|
||||
"ее" => nObezbolivauchee ray ;
|
||||
"ое" => nZhivotnoe ray ;
|
||||
_ => nProizvedenie ray };
|
||||
-- "о" => nChislo ray ; +++ MG_UR: commented out +++
|
||||
_=> nStomatolog ray
|
||||
}
|
||||
in
|
||||
rays ;
|
||||
regN = \x ->
|
||||
case x of {
|
||||
-- stem+"oнoк" => nDecl10 stem ;
|
||||
-- stem+"aнин" => nDecl11 stem ;
|
||||
stem@(_+"и")+"й" => nDecl7Masc stem;
|
||||
stem@(_+"и")+"я" => nDecl7Fem stem;
|
||||
stem@(_+"и")+"е" => nDecl7Neut stem;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"й" => nDecl6Masc stem ;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"е" => nDecl6Neut stem ;
|
||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"я" => nDecl6Fem stem ;
|
||||
-- stem+"ее" => nAdjectiveSoftNeut
|
||||
-- stem+"ое" => nAdjectiveHardNeut
|
||||
stem+"мя" => nDecl9 stem ;
|
||||
stem@(_+("ч"|"щ"|"ш"|"ж"|"п"|"эн"|"м"|"ф"))+"ь" => nDecl8 stem ;
|
||||
stem@(_+("д"|"т"|"ст"|"с"|"в"|"б"))+"ь" => nDecl8 stem ;
|
||||
stem@(_+"ш"|"ж"|"ч"|"щ"|"ц")+"е" => regHardNeut stem;
|
||||
stem+"е" => regSoftNeut stem ;
|
||||
stem+"я" => regSoftFem stem ;
|
||||
stem+"ь" => regSoftMasc stem ;
|
||||
stem+"о" => regHardNeut stem ;
|
||||
stem+"а" => regHardFem stem ;
|
||||
stem => regHardMasc stem
|
||||
};
|
||||
|
||||
|
||||
nMashina = \s -> aEndInAnimateDecl s ** {lock_N = <>};
|
||||
nEdinica = \s -> ej_aEndInAnimateDecl s ** {lock_N = <>};
|
||||
nZhenchina = \s -> (aEndAnimateDecl s) ** { g = Fem ; anim = Animate } ** {lock_N = <>};
|
||||
nNoga = \s -> aEndG_K_KH_Decl s ** {lock_N = <>};
|
||||
nMalyariya = \s -> i_yaEndDecl s ** {lock_N = <>};
|
||||
nTetya = \s -> (yaEndAnimateDecl s) ** {g = Fem; anim = Animate; lock_N = <>} ;
|
||||
nBol = \s -> softSignEndDeclFem s ** {lock_N = <>};
|
||||
{-
|
||||
|
||||
-- further classes added by Magda Gerritsen and Ulrich Real
|
||||
nSvecha = \s -> oj_aEndInAnimateDecl s ** {lock_N = <>};
|
||||
nMat = \s -> irregStemAnimateDecl s ** {g = Fem; anim = Animate; lock_N = <>};
|
||||
nDoch = \s -> irregStemAnimateDeclInstr_MI s ** {g = Fem; anim = Animate; lock_N = <>};
|
||||
nLoshad = \s -> softSignEndDeclFemInstr_MI s ** {g = Fem; anim = Animate; lock_N = <>};
|
||||
nNoch = \s -> softSignEndDeclFemInanimate_ZH s ** {g = Fem; anim = Inanimate; lock_N = <>};
|
||||
Paradigms:
|
||||
1. hard regular
|
||||
Masc -Consonant
|
||||
Neut -o
|
||||
Fem -a
|
||||
1*. with vowel changes, Masc in Gen Sg, Fem and Neut in Gen Pl
|
||||
2. soft regular:
|
||||
Masc -ь
|
||||
Neut -е
|
||||
Fem -я
|
||||
2*. with vowel changes, Masc in Gen Sg, Fem in Gen Pl (no Neut)
|
||||
3. stem ending in г, к, х
|
||||
- Masc, Fem same as 1 but use и instead of ы (Nom/Acc Pl, Gen Sg)
|
||||
- Neut -кo has Nom Pl -ки instead of -кa
|
||||
3* with vowel changes, Masc in Gen Sg, Fem and Neut in Gen Pl
|
||||
4. stem ending in ш, ж, ч, щ, hard endings,
|
||||
use и instead of ы, and use е instead of unstressed o
|
||||
5. stem ending in ц, hard endings, use е instead of unstressed o
|
||||
5*. with vowel changes, Masc in Gen Sg, Fem and Neut in Gen Pl
|
||||
6. Masc ending in -й, Fem stem ending in vowel, Neut ending in ь?
|
||||
6* with vowel changes
|
||||
7. stem ending in и
|
||||
8. F2, Fem ending in -ь
|
||||
all -чь, -щь, -шь, -жь
|
||||
all -пь, -энь, -мь, -фь,
|
||||
most -дь, -ть, -сть, -сь, -вь, -бь,
|
||||
8*. with vowel changes in Ins Sg, Gen Sg
|
||||
9. Neut ending in -мя
|
||||
10. Masc in -oнoк
|
||||
11. Masc in -aнин
|
||||
12. Nom Pl in -ья
|
||||
|
||||
-}
|
||||
|
||||
-- Neuter patterns.
|
||||
nObezbolivauchee = \s -> eeEndInAnimateDecl s ** {lock_N = <>};
|
||||
nZhivotnoe = \s -> oeEndAnimateDecl s ** {lock_N = <>};
|
||||
nProizvedenie = \s -> eEndInAnimateDecl s ** {lock_N = <>};
|
||||
nChislo = \s, o -> oEndInAnimateDecl3 s o ** {lock_N = <>}; -- +++ MG_UR: nChislo now expects two arguments +++
|
||||
oper iAfter : Str -> Str = \stem ->
|
||||
case stem of {
|
||||
_ + ("г"|"к"|"х") => "и" ;
|
||||
_ + ("ш"|"ж"|"ч"|"щ") => "и" ;
|
||||
_ => "ы"
|
||||
};
|
||||
|
||||
-- further classes added by Magda Gerritsen and Ulrich Real
|
||||
nSlovo = \s -> hardCons_ZHInAnimateDecl s ** {lock_N = <>};
|
||||
nMorje = \s -> weakConsInAnimateDecl s ** {lock_N = <>};
|
||||
nUchilishe = \s -> hardCons_ZHInAnimateDeclE s ** {lock_N = <>};
|
||||
nNebo = \s -> irregPlInAnimateDecl s ** {lock_N = <>};
|
||||
nDerevo = \s -> irregPl_StemInAnimateDecl s ** {lock_N = <>};
|
||||
nVremja = \s -> irregTotalInAnimateDecl s ** {lock_N = <>};
|
||||
oper oAfter : Str -> Str = \stem ->
|
||||
case stem of {
|
||||
_ + ("ш"|"ж"|"ч"|"щ") => "е" ;
|
||||
_ + "ц" => "е" ;
|
||||
_ => "о"
|
||||
};
|
||||
|
||||
-- 1. Hard regular masculine inanimate, e.g. spor.
|
||||
-- 3. stem ending in г, к, х
|
||||
-- 4. stem ending in ш, ж, ч, щ
|
||||
-- 5. stem ending in ц
|
||||
oper regHardMasc : Str -> N = \stem ->
|
||||
let i = iAfter stem in
|
||||
let o = oAfter stem in
|
||||
{ s = table {
|
||||
SF Sg Nom => stem ;
|
||||
SF Sg Gen => stem+"а" ;
|
||||
SF Sg Dat => stem+"у" ;
|
||||
SF Sg Acc => stem ;
|
||||
SF Sg Inst => stem+o+"м" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+i ;
|
||||
SF Pl Gen => stem+case stem of { _+("ш"|"ж"|"ч"|"щ") => "ей"; _ => "ов" } ;
|
||||
SF Pl Dat => stem+"ам" ;
|
||||
SF Pl Acc => stem+i ;
|
||||
SF Pl Inst => stem+"ами" ;
|
||||
SF Pl (Prepos _) => stem+"ах" };
|
||||
g = Masc; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
-- Masculine patterns.
|
||||
nBank = \s -> nullEndInAnimateDecl s ** {lock_N = <>};
|
||||
nStomatolog = \s -> nullEndAnimateDecl s ** {lock_N = <>};
|
||||
nMalush = \s -> shEndDeclMasc s ** {lock_N = <>};
|
||||
nPotolok = \s ->okEndDeclMasc s ** {lock_N = <>};
|
||||
-- 1. Hard regular neuter inanimate, e.g. pravilo.
|
||||
-- 3. stem ending in г, к, х
|
||||
-- 4. stem ending in ш, ж, ч, щ
|
||||
-- 5. stem ending in ц
|
||||
oper regHardNeut : Str -> N = \stem ->
|
||||
let o = oAfter stem in
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+o ;
|
||||
SF Sg Gen => stem+"а" ;
|
||||
SF Sg Dat => stem+"у" ;
|
||||
SF Sg Acc => stem+o ;
|
||||
SF Sg Inst => stem+o+"м" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+case stem of { _+"к" => "и" ; _ => "а" } ;
|
||||
SF Pl Gen => stem ;
|
||||
SF Pl Dat => stem+"ам" ;
|
||||
SF Pl Acc => stem+"а" ;
|
||||
SF Pl Inst => stem+"ами" ;
|
||||
SF Pl (Prepos _) => stem+"ах" };
|
||||
g = Neut; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
nBrat = \s -> nullEndAnimateDeclBrat s** {lock_N = <>};
|
||||
nStul = \s -> nullEndInAnimateDeclStul s** {lock_N = <>};
|
||||
-- 1. Hard regular feminine inanimate, e.g. karta.
|
||||
-- 3. stem ending in г, к, х
|
||||
-- 4. stem ending in ш, ж, ч, щ
|
||||
-- 5. stem ending in ц
|
||||
oper regHardFem : Str -> N = \stem ->
|
||||
let i = iAfter stem in
|
||||
let o = oAfter stem in
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"а" ;
|
||||
SF Sg Gen => stem+i ;
|
||||
SF Sg Dat => stem+"е" ;
|
||||
SF Sg Acc => stem+"у" ;
|
||||
SF Sg Inst => stem+o+"й" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+i ;
|
||||
SF Pl Gen => stem ;
|
||||
SF Pl Dat => stem+"ам" ;
|
||||
SF Pl Acc => stem+i ;
|
||||
SF Pl Inst => stem+"ами" ;
|
||||
SF Pl (Prepos _) => stem+"ах" };
|
||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
nAdres = \s -> nullEndInAnimateDecl2 s ** {lock_N = <>};
|
||||
nTelefon = \s -> nullEndInAnimateDecl1 s ** {lock_N = <>};
|
||||
nPepel = \s -> nullEndInAnimateDeclPepel s ** {lock_N = <>};
|
||||
-- 2. Soft regular masculine inanimate, e.g. vichr'
|
||||
oper regSoftMasc : Str -> N = \stem ->
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"ь";
|
||||
SF Sg Gen => stem+"я" ;
|
||||
SF Sg Dat => stem+"ю" ;
|
||||
SF Sg Acc => stem+"ь" ;
|
||||
SF Sg Inst => stem+"ем" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+"и" ;
|
||||
SF Pl Gen => stem+"ей" ;
|
||||
SF Pl Dat => stem+"ям" ;
|
||||
SF Pl Acc => stem+"и" ;
|
||||
SF Pl Inst => stem+"ями" ;
|
||||
SF Pl (Prepos _) => stem+"ях" };
|
||||
g = Masc; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
nNol = \s -> softSignEndDeclMasc s ** {lock_N = <>};
|
||||
nUchitel = \s -> softSignEndDeclMascAnimate s ** {lock_N = <>}; -- +++ MG_UR: added +++
|
||||
nUroven = \s -> EN_softSignEndDeclMasc s ** {lock_N = <>};
|
||||
-- 2. Soft regular neuter inanimate, e.g. more
|
||||
oper regSoftNeut : Str -> N = \stem ->
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"е";
|
||||
SF Sg Gen => stem+"я" ;
|
||||
SF Sg Dat => stem+"ю" ;
|
||||
SF Sg Acc => stem+"е" ;
|
||||
SF Sg Inst => stem+"ем" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+"я" ;
|
||||
SF Pl Gen => stem+"ей" ;
|
||||
SF Pl Dat => stem+"ям" ;
|
||||
SF Pl Acc => stem+"я" ;
|
||||
SF Pl Inst => stem+"ями" ;
|
||||
SF Pl (Prepos _) => stem+"ях" };
|
||||
g = Neut; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
-- further classes added by Magda Gerritsen and Ulrich Real
|
||||
nStol = \s -> nullEndDecl s ** {lock_N = <>};
|
||||
nSlovar = \s -> softSignEndDeclMascInAnimateInstrJO s ** {lock_N = <>};
|
||||
nMusej = \s -> nullEndInAnimateDeclSoft s ** {lock_N = <>};
|
||||
nDvorec = \s -> ZH_EndInAnimateDeclSoftGenOWithout s ** {lock_N = <>};
|
||||
nTovarish = \s -> ZH_EndAnimateDeclSoftInstrE s ** {lock_N = <>};
|
||||
nMesjac = \s -> ZH_EndInAnimateDeclSoftGenE s ** {lock_N = <>};
|
||||
nGrazhdanin = \s -> PlStemChangeAnimateDecl s ** {lock_N = <>};
|
||||
nRebenok = \s -> LittleAnimalDecl s ** {lock_N = <>};
|
||||
nPut = \s -> UniqueIrregularDecl s ** {lock_N = <>};
|
||||
nGospodin = \s -> A_PlStemChangeAnimateDecl s ** {lock_N = <>};
|
||||
nDen = \s -> softSignEndDeclMascInAnimateGenEWithout s ** {lock_N = <>};
|
||||
nDrug = \s -> nullEndAnimateDeclDrug s** {lock_N = <>};
|
||||
nSyn = \s -> nullEndAnimateDeclSyn s** {lock_N = <>};
|
||||
nLes = \s -> preposVNaEndUMasc s ** {lock_N = <>};
|
||||
-- 2. Soft regular feminine inanimate, e.g. burya
|
||||
oper regSoftFem : Str -> N = \stem ->
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"я";
|
||||
SF Sg Gen => stem+"и" ;
|
||||
SF Sg Dat => stem+"е" ;
|
||||
SF Sg Acc => stem+"ю" ;
|
||||
SF Sg Inst => stem+"ей" ;
|
||||
SF Sg (Prepos _) => stem+"е" ;
|
||||
SF Pl Nom => stem+"и" ;
|
||||
SF Pl Gen => stem+"ь" ;
|
||||
SF Pl Dat => stem+"ям" ;
|
||||
SF Pl Acc => stem+"и" ;
|
||||
SF Pl Inst => stem+"ями" ;
|
||||
SF Pl (Prepos _) => stem+"ях" };
|
||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
-- 8. Feminine ending in soft consonant
|
||||
oper nDecl8 : Str -> N = \stem ->
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"ь";
|
||||
SF Sg Gen => stem+"и" ;
|
||||
SF Sg Dat => stem+"и" ;
|
||||
SF Sg Acc => stem+"ь" ;
|
||||
SF Sg Inst => stem+"ью" ;
|
||||
SF Sg (Prepos _) => stem+"и" ;
|
||||
SF Pl Nom => stem+"и" ;
|
||||
SF Pl Gen => stem+"ей" ;
|
||||
SF Pl Dat => stem+"ям" ;
|
||||
SF Pl Acc => stem+"и" ;
|
||||
SF Pl Inst => stem+"ями" ;
|
||||
SF Pl (Prepos _) => stem+"ях" };
|
||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
-- 6. Masc ending in -Vй (V = vowel)
|
||||
oper nDecl6Masc : Str -> N = \stem ->
|
||||
let n = regSoftMasc stem in
|
||||
{ s = table {
|
||||
SF Sg (Nom|Acc) => stem+"й";
|
||||
SF Pl Gen => stem+"ев" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 6. Neut ending in -Ve (V = vowel) (not adjectives)
|
||||
oper nDecl6Neut : Str -> N = \stem ->
|
||||
let n = regSoftNeut stem in
|
||||
{ s = table {
|
||||
SF Pl Gen => stem+"й" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 6. Fem ending in -Vя (V = vowel)
|
||||
oper nDecl6Fem : Str -> N = \stem ->
|
||||
let n = regSoftFem stem in
|
||||
{ s = table {
|
||||
SF Pl Gen => stem+"й" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 7. stem ending in и
|
||||
oper nDecl7Masc : Str -> N = \stem ->
|
||||
let n = nDecl6Masc stem in
|
||||
{ s = table {
|
||||
SF Sg (Prepos _) => stem+"и" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 7. stem ending in и
|
||||
oper nDecl7Neut : Str -> N = \stem ->
|
||||
let n = nDecl6Neut stem in
|
||||
{ s = table {
|
||||
SF Sg (Prepos _) => stem+"и" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 7. stem ending in и
|
||||
oper nDecl7Fem : Str -> N = \stem ->
|
||||
let n = nDecl6Fem stem in
|
||||
{ s = table {
|
||||
SF Sg (Dat|Prepos _) => stem+"и" ;
|
||||
sf => n.s!sf };
|
||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||
|
||||
-- 9. Neut ending in -мя
|
||||
oper nDecl9 : Str -> N = \stem ->
|
||||
{ s = table {
|
||||
SF Sg Nom => stem+"мя";
|
||||
SF Sg Gen => stem+"мени" ;
|
||||
SF Sg Dat => stem+"мени" ;
|
||||
SF Sg Acc => stem+"мя" ;
|
||||
SF Sg Inst => stem+"менем" ;
|
||||
SF Sg (Prepos _) => stem+"мени" ;
|
||||
SF Pl Nom => stem+"мена" ;
|
||||
SF Pl Gen => stem+"мён" ;
|
||||
SF Pl Dat => stem+"менам" ;
|
||||
SF Pl Acc => stem+"мена" ;
|
||||
SF Pl Inst => stem+"менами" ;
|
||||
SF Pl (Prepos _) => stem+"менах" };
|
||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||
|
||||
-- An individual-valued function is a common noun together with the
|
||||
-- preposition prefixed to its argument ("клZ+ о' дома").
|
||||
|
||||
Reference in New Issue
Block a user