Russian parches by MG_UR

This commit is contained in:
aarne
2007-12-05 07:13:53 +00:00
parent 01e50c45e4
commit 61d745d928
5 changed files with 4604 additions and 3408 deletions

View File

@@ -8,402 +8,391 @@ flags
optimize=values ;
coding=utf8 ;
lin
add_V3 = mkV3 (regV imperfective first "складыва" "ю" "складывал" "складывай" "складывать" ) "" "в" accusative accusative;
airplane_N = nTelefon "самолет" ;
answer_V2S = dirV2 (regV imperfective first "отвеча" "ю" "отвечал" "отвечай" "отвечать" );
already_Adv = mkAdv "уже" ;
animal_N = nZhivotnoe "животн" ;
answer_V2S = dirV2 (regV imperfective first "отвеча" "ю" "отвечал" "отвечай" "отвечать" );
apartment_N = nMashina "квартир" ;
apple_N = nChislo "яблок" ;
art_N = nChislo "искусств" ;
ask_V2Q = dirV2 (regV imperfective first "спрашива" "ю" "спрашивал" "спрашивай" "спрашивать") ;
-- apple_N = nChislo "яблок" ; -- +++ MG_UR: wrong! +++
-- art_N = nChislo "искусств" ; -- +++ MG_UR: wrong! +++
art_N = nSlovo "искусств" ; -- +++ MG_UR: added +++
ashes_N = nPepel "пеп" ;
ask_V2Q = dirV2 (regV imperfective first "спрашива" "ю" "спрашивал" "спрашивай" "спрашивать") ;
baby_N = nMalush "малыш";
bad_A = AKakoj_Nibud "плох" "" "хуже";
back_N = nMashina "спин" ;
bad_A = AKakoj_Nibud "плох" "" "хуже";
bank_N = nBank "банк" ;
beautiful_A = AStaruyj "красив" "красивее";
bark_N = mkN "лай" "лая" "лаю" "лай" "лаем" "лае" "лае" "лаи" "лаев" "лаям" "лаи" "лаями" "лаях" "лаях" masculine inanimate ;
beautiful_A = AStaruyj "красив" "красивее";
become_VA = regV perfective second "станов" "лю" "стал" "стань" "стать" ;
beer_N = nChislo "пив" ;
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
big_A = AKakoj_Nibud "больш" "" "больше" ;
-- beer_N = nChislo "пив" ; -- +++ MG_UR: wrong! +++
beer_N = nSlovo "пив" ; -- +++ MG_UR: added +++
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
belly_N = nTelefon "живот" ;
big_A = AKakoj_Nibud "больш" "" "больше" ;
bike_N = nTelefon "велосипед" ;
bird_N = nEdinica "птиц" ;
black_A = AStaruyj "чёрн" "чернее";
blue_A = AMolodoj "голуб" "голубее";
bite_V2 = dirV2 (regV imperfective first "куса" "ю" "кусал" "кусай" "кусать");
black_A = AStaruyj "чёрн" "чернее";
blood_N = nBol "кров" ;
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 "хлеб" ;
break_V2 = dirV2 (regV imperfective first "прерыва" "ю" "прерывал" "прерывай" "прерывать" );
broad_A = AMalenkij "широк" "шире";
brother_N2 = mkN2 (nBrat "брат") ;
brown_A = AStaruyj "коричнев" "коричневее";
breast_N = nBol "грудь" ;
breathe_V = regV imperfective second "дыш" "у" "дышал" "дыши" "дышать" ;
--- bridge_N = nMost "мост" ;
broad_A = AMalenkij "широк" "шире";
brother_N2 = mkN2 (nBrat "брат") ;
brown_A = AStaruyj "коричнев" "коричневее";
burn_V = regV imperfective second "гор" "ю" "горел" "гори" "гореть" ;
-- butter_N = nChislo "масл"; -- +++ MG_UR: wrong! +++
butter_N = nSlovo "масл"; -- +++ MG_UR: added +++
buy_V2 = dirV2 (regV imperfective first "покупа" "ю" "покупал" "покупай" "покупать" );
camera_N = nMashina "kamer" ;
--- candle_N = nSvecha "свеч" ; -- +++ MG_UR: added +++
cap_N = nNoga "чашк" ; -- чаш-ек Pl-Gen
car_N = nMashina "машин" ;
car_N = nMashina "машин" ;
carpet_N = mkN "ковёр" "ковра" "ковру" "ковёр" "ковром" "ковре" "ковре" "ковры" "ковров" "коврам" "ковры" "коврами" "коврах" "коврах" masculine inanimate ;
cat_N = nMashina "кошк" ;
cat_N = nMashina "кошк" ;
ceiling_N = nPotolok "потол" ;
chair_N = nStul "стул" ;
cheese_N = nTelefon "сыр" ;
child_N = mkN "ребёнок" "ребёнка" "ребёнку" "ребёнка" "ребёнком" "ребёнке" "дети" "детей" "детям" "детей" "детьми" "детях" masculine animate ;
ceiling_N = nPotolok "потол" ;
chair_N = nStul "стул" ;
cheese_N = nTelefon "сыр" ;
--- 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 = nAdres "город" ;
clean_A = AStaruyj "чист" "чище";
clever_A = AStaruyj "умн" "умнее";
close_V2= dirV2 (regV imperfective first "закрыва" "ю" "закрывал" "закрывай" "закрывать" );
-- cloud_N = nChislo "облак" ; -- +++ MG_UR: wrong! +++
cloud_N = nChislo "облак" "облаков" ; -- +++ MG_UR: added +++
coat_N = mkIndeclinableNoun "пальто" masculine inanimate ;
close_V2= dirV2 (regV imperfective first "закрыва" "ю" "закрывал" "закрывай" "закрывать" );
cold_A = AStaruyj "холодн" "холоднее";
come_V = regV imperfective first "прихо" "жу" "приходил" "приходи" "приходить" ;
cold_A = AStaruyj "холодн" "холоднее";
computer_N = nTelefon "компьютер" ;
correct_A = AStaruyj "правильн" "правильнее";
count_V2 = dirV2 (regV imperfective first "счита" "ю" "считал" "считай" "считать" ) ;
country_N = nMashina "стран" ;
computer_N = nTelefon омпьютер" ;
country_N = nMashina "стран" ;
cousin_N = nTelefon "кузен" ;
cow_N = nMashina "коров" ;
die_V = regV imperfective first "умира" "ю" "умирал" "умирай" "умирать" ;
dirty_A = AStaruyj "грязн" "грязнее" ;
doctor_N = nAdres "доктор" ;
dog_N = nNoga "собак" ;
door_N = nBol "двер" ;
drink_V2 = dirV2 (regV imperfective firstE "пь" "ю" "пил" "пей" "пить" );
eat_V2 = dirV2 (regV imperfective first "куша" "ю" "кушал" "кушай" "кушать" );
enemy_N = nStomatolog "враг" ;
factory_N = nNoga "фабрик" ;
father_N2 = mkN2 (mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate);
fear_VS= regV imperfective second "бо" "ю" "боял" "бой" "боять" ;
find_V2 = dirV2 (mkV imperfective "нахожу" "находишь" "находит" "находим" "находите" "находят" "находил" "находи" "находить" );
fish_N = nMashina "рыб" ;
floor_N = nTelefon "пол" ;
forget_V2= dirV2 (regV imperfective first "забыва" "ю" "забывал" "забывай" "забывать" );
fridge_N = nBank "холодильник" ;
friend_N = mkN "друг" "друга" "другу" "друга" "другом" "друге" "друзья" "друзей" "друзьям" "друзей" "дузьями" "друзьях" masculine animate;
fruit_N = nTelefon "фрукт" ;
garden_N = nTelefon "сад" ;
girl_N = nNoga "девочк" ;
glove_N = nNoga "перчатк" ;
gold_N = nChislo "золот" ;
good_A = AKhoroshij "хорош" "лучше" ;
go_V= regV imperfective second "хо" "жу" "ходил" "ходи" "ходить" ;
green_A = AStaruyj "зелен" "зеленее" ;
harbour_N = nTelefon "залив" ;
hate_V2= dirV2 (regV imperfective second "ненави" "жу" "ненавидел" "ненавидь" "ненавидеть" );
hat_N = nMashina "шляп" ;
have_V2= dirV2 (regV imperfective first "име" "ю" "имел" "имей" "иметь" );
hear_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
hill_N = nTelefon "холм" ;
hope_VS= regV imperfective first "наде" "ю" "надеял" "надей" "надеять" ;
horse_N = nBol "лошад" ;
hot_A = AKhoroshij "горяч" "горячее" ;
house_N = nAdres "дом" ;
important_A = AStaruyj "важн" "важнее" ;
industry_N = nChislo "производств" ;
iron_N = nChislo "желез" ;
king_N = mkN "король" "короля" "королю" "короля" "королем" "короле" "короли" "королей" "королям" "королей" "королями" "королях" masculine animate;
know_V2= dirV2 (regV imperfective first "зна" "ю" "знал" "знай" "знать" );
lake_N = nChislo "озер" ;
lamp_N = nMashina "ламп" ;
learn_V2= dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
leather_N = nEdinica "кож" ;
leave_V2= dirV2 (regV imperfective second "ухож" "у" "уходил" "уходи" "уходить" );
like_V2= dirV2 (regV imperfective second "нрав" "лю" "нравил" "нравь" "нравить" );
listen_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
live_V= regV imperfective firstE "жив" "у" "жил" "живи" "жить" ;
long_A = AStaruyj "длинн" "длиннее" ;
lose_V2 = dirV2 (regV imperfective first "теря" "ю" "терял" "теряй" "терять" );
love_N = nBol "любов" ;
love_V2= dirV2 (regV imperfective second "люб" "лю" "любил" "люби" "любить" );
man_N = nStomatolog "человек" ;
meat_N =nChislo "мяс" ;
milk_N = nChislo "молок" ;
moon_N = nMashina "лун" ;
mother_N2 = mkN2 ( nMashina "мам") ;
mountain_N = nMashina "гор" ;
music_N = nNoga "музык" ;
narrow_A = AStaruyj "узк" "уже" ;
new_A = AStaruyj "нов" "новее" ;
newspaper_N = nMashina "газет" ;
oil_N = nBol "нефть" ;
old_A = AStaruyj "стар" "старше" ;
open_V2= dirV2 (regV imperfective first "открыва" "ю" "открывал" "открывай" "открывать" );
paper_N = nNoga "бумаг" ;
peace_N = nTelefon "мир" ;
pen_N = nNoga "ручк" ;
planet_N = nMashina "планет" ;
plastic_N = nMashina "пластмасс" ;
play_V2 = mkV2 (regV imperfective first "игра" "ю" "играл" "играй" "играть" ) "c" instructive;
policeman_N = nTelefon "милиционер" ;
priest_N = nStomatolog "священник" ;
queen_N = nMashina "королев" ;
radio_N = mkIndeclinableNoun "радио" neuter inanimate;
read_V2 = dirV2 (regV imperfective first "чита" "ю" "читал" "читай" "читать" );
red_A = AStaruyj "красн" "краснее" ;
religion_N = nMalyariya "религи" ;
restaurant_N = nTelefon "ресторан" ;
river_N = nNoga "рек" ;
rock_N = nUroven "кам" ;
roof_N = nEdinica "крыш" ;
rubber_N = nMashina "резин" ;
run_V = regV imperfective first "бега" "ю" "бегал" "бегай" "бегать" ;
say_VS = regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ;
school_N = nMashina "школ" ;
science_N = nNoga "наук" ;
sea_N = nProizvedenie "мор" ;
seek_V2 = dirV2 (regV imperfective first "ищ" "у" "искал" "ищи" "искать" );
see_V2 = dirV2 (regV imperfective second "виж" "у" "видел" "видь" "видеть" );
sell_V3 = tvDirDir (regV imperfective firstE "прода" "ю" "продавал" "продавай" "продавать" );
send_V3 = tvDirDir (regV imperfective first "посыла" "ю" "посылал" "посылай" "посылать" );
sheep_N = nMashina "овц" ;
ship_N = nNol "корабл" ;
shirt_N = nNoga "рубашк" ;
shoe_N = mkN "туфля" "туфли" "туфле" "туфлю" "туфлей" "туфле" "туфли" "туфель" "туфлям" "туфли" "туфлями" "туфлях" masculine inanimate;
shop_N = nTelefon "магазин" ;
short_A = AMalenkij "коротк" "короче" ;
silver_N = nChislo "серебр" ;
sister_N = nMashina "сестр" ;
sleep_V = regV imperfective second "сп" "лю" "спал" "спи" "спать" ;
small_A = AMalenkij "маленьк" "меньше" ;
snake_N = nTetya"зме" ;
sock_N = nPotolok "нос" ;
speak_V2 = dirV2 (regV imperfective second "говор" "ю" "говорил" "говори" "говорить" );
star_N = nMashina "звезд" ;
steel_N = nBol "стал" ;
stone_N = nNol "камен" ;
stove_N = nBol "печ" ;
student_N = nTelefon "студент" ;
stupid_A = AMolodoj "тупой" "тупее" ;
sun_N = mkN "солнце" "солнца" "солнцу" "солнце" "солнцем" "солнце" "солнца" "солнц" "солнцам" "солнца" "солнцами" "солнцах" neuter inanimate;
switch8off_V2 = dirV2 (regV imperfective first "выключа" "ю" "выключал" "выключай" "выключать") ;
switch8on_V2 = dirV2 (regV imperfective first "включа" "ю" "включал" "включай" "включать") ;
table_N = nTelefon "стол" ;
teacher_N = nNol "учител" ;
teach_V2 = dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
television_N = nProizvedenie "телевидени" ;
thick_A = AStaruyj "толст" "толще" ;
thin_A = AMalenkij "тонк" "тоньше" ;
train_N = nAdres "поезд" ;
travel_V = regV imperfective first "путешеству" "ю" "путешествовал" "путешествуй" "путешествовать" ;
tree_N = nChislo "дерев" ;
--trousers_N = mkN "" "" "" "" "" "" "штаны" "штанов" "штанам" "штаны" "штанами" "штанах" masculine inanimate;
ugly_A = AStaruyj "некрасив" "некрасивее" ;
understand_V2 = dirV2 (regV imperfective first "понима" "ю" "понимал" "понимай" "понимать" );
university_N = nTelefon "университет" ;
village_N = nMalyariya "деревн" ;
wait_V2 = dirV2 (regV imperfective firstE "жд" "у" "ждал" "жди" "ждать" );
walk_V = regV imperfective first "гуля" "ю" "гулял" "гуляй" "гулять" ;
warm_A = AStaruyj "тёпл" "теплее" ;
war_N = nMashina "войн" ;
watch_V2 = dirV2 (regV imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" );
water_N = nMashina "вод" ;
white_A = AStaruyj "бел" "белее" ;
window_N = nChislo "окн" ;
wine_N = nChislo "вин" ;
win_V2 = dirV2 (regV imperfective first "выигрыва" "ю" "выигрывал" "выигрывай" "выигрывать" );
cousin_N = nTelefon "кузен" ;
cow_N = nMashina "коров" ;
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 "словар" ;
die_V = regV imperfective first "умира" "ю" "умирал" "умирай" "умирать" ;
dig_V = regV imperfective first "копа" "ю" "копал" "копай" "копать" ;
dirty_A = AStaruyj "грязн" "грязнее" ;
distance_N3 = mkN3 (nProizvedenie "расстояни") from_Prep to_Prep ;
do_V2 = dirV2 (regV imperfective first "дела" "ю" "делал" "делай" "делать" );
wood_N = nChislo "дерев" ;
write_V2 = dirV2 (regV imperfective first "пиш" "у" "писал" "пиши" "писать" );
yellow_A = AStaruyj "жёлт" "желтее" ;
young_A = AMolodoj "молод" "моложе";
do_V2 = dirV2 (regV imperfective first "дела" "ю" "делал" "делай" "делать" );
now_Adv = mkAdv "сейчас" ;
doctor_N = nAdres "доктор" ;
dog_N = nNoga "собак" ;
door_N = nBol "двер" ;
drink_V2 = dirV2 (regV imperfective firstE "пь" "ю" "пил" "пей" "пить" );
dry_A = AMolodoj "сух" "суше";
dull_A = AStaruyj "скучн" "скучнее";
dust_N = nBol "пыл" ;
-- ear_N = nChislo "ухо" ; -- +++ MG_UR: wrong! +++
earth_N = nTetya "земл" ;
easy_A2V = mkA2 (AMalenkij "лёгк" "легче") "для" genitive ;
eat_V2 = dirV2 (regV imperfective first "куша" "ю" "кушал" "кушай" "кушать" );
-- egg_N = nChislo "яйц" ; -- +++ MG_UR: wrong! +++
egg_N = nChislo "яйц" "яиц" ; -- +++ MG_UR: added +++
empty_A = AMolodoj "пуст" "пустее";
enemy_N = nStomatolog "враг" ;
eye_N = nAdres "глаз" ;
factory_N = nNoga "фабрик" ;
fall_V = regV imperfective first "пада" "ю" "падал" "падай" "падать" ;
far_Adv = mkAdv "далеко";
fat_N = nBank "жир" ;
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 "зна" ;
float_V = regV imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ;
floor_N = nTelefon "пол" ;
flow_V = regV imperfective firstE "тек" "у" "тёк" "теки" "течь" ;
flower_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" "отцах" masculine animate ;
fly_V = regV imperfective second "лета" "ю" "летал" "летай" "летать" ;
fog_N = nTelefon "туман" ;
foot_N = nTetya "ступн" ;
forest_N = nLes "лес" ;
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 "фрукт" ;
full_A = AStaruyj "полн" "полнее";
fun_AV = AStaruyj "весёл" "веселее";
garden_N = nTelefon "сад" ;
girl_N = nNoga "девочк" ;
give_V3 = tvDirDir (regV imperfective firstE "да" "ю" "давал" "давай" "давать" ) ;
glove_N = nNoga "перчатк" ;
go_V= regV imperfective second "хо" "жу" "ходил" "ходи" "ходить" ;
-- gold_N = nChislo "золот" ; -- +++ MG_UR: wrong! +++
gold_N = nSlovo "золот" ; -- +++ MG_UR: added +++
good_A = AKhoroshij "хорош" "лучше" ;
grammar_N = nNoga "грамматик";
grass_N = nMashina "трав" ;
green_A = AStaruyj "зелен" "зеленее" ;
guts_N = nBol "внутренност" ;
hair_N = nTelefon "волос" ;
hand_N = nNoga "рук" ;
harbour_N = nTelefon "залив" ;
hat_N = nMashina "шляп" ;
hate_V2= dirV2 (regV imperfective second "ненави" "жу" "ненавидел" "ненавидь" "ненавидеть" );
have_V2= dirV2 (regV imperfective first "име" "ю" "имел" "имей" "иметь" );
head_N = nMashina "голов" ;
hear_V2= dirV2 (regV imperfective first "слуша" "ю" "слушал" "слушай" "слушать" );
heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" "сердцах" neuter inanimate ;
--- heaven_N = nNebo "неб" ; -- +++ MG_UR: added +++
heavy_A = AStaruyj "тяжел" "тяжелее";
hill_N = nTelefon "холм" ;
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 +++
hot_A = AKhoroshij "горяч" "горячее" ;
house_N = nAdres "дом" ;
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 +++
jump_V = regV imperfective first "прыга" "ю" "прыгал" "прыгай" "прыгать" ;
song_N = nTetya "песн" ;
add_V3 = mkV3 (regV imperfective first "складыва" "ю" "складывал" "складывай" "складывать" ) "" "в" accusative accusative;
number_N = nChislo "числ" ;
put_V2 = dirV2 (regV imperfective firstE "клад" "у" "клал" "клади" "класть" );
stop_V = regV imperfective first "останавлива" "ю" "останавливал" "останавливай" "останавливать";
jump_V = regV imperfective first "прыга" "ю" "прыгал" "прыгай" "прыгать" ;
distance_N3 = mkN3 (nProizvedenie "расстояни") from_Prep to_Prep ;
-- in Russian combinations with verbs are expressed with adverbs:
-- "легко понять" ("easy to understand"), which is different from
-- adjective expression "легкий для понимания" ("easy for understanding")
-- So the next to words are adjectives, since there are such adjectives
-- in Russian, but to use them with verb would be wrong in Russian:
fun_AV = AStaruyj "весёл" "веселее";
easy_A2V = mkA2 (AMalenkij "лёгк" "легче") "для" genitive ;
empty_A = AMolodoj "пуст" "пустее";
married_A2 = mkA2 (adjInvar "замужем") "за" instructive ;
paint_V2A = dirV2 (regV imperfective first "рису" "ю" "рисовал" "рисуй" "рисовать" ) ;
probable_AS = AStaruyj "возможн" "возможнее";
rain_V0 = idetDozhd verbIdti; -- No such verb in Russian!
talk_V3 = mkV3 (regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ) "с" "о" instructive prepositional;
wonder_VQ = regV imperfective first "интересу" "ю" "интересовал" "интересуй" "интересовать";
-- Nouns
animal_N = nZhivotnoe "животн" ;
ashes_N = nPepel "пеп" ;
back_N = nMashina "спин" ;
bark_N = mkN "лай" "лая" "лаю" "лай" "лаем" "лае" "лаи" "лаев" "лаям" "лаи" "лаями" "лаях" masculine inanimate;
belly_N = nTelefon "живот" ;
bird_N = nEdinica "птиц" ;
blood_N = nBol "кров" ;
bone_N = nBol "кост" ;
breast_N = nBol "грудь" ;
cloud_N = nChislo "облак" ;
day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ;
dust_N = nBol "пыл" ;
ear_N = nChislo "ухо" ;
earth_N = nTetya "земл" ;
egg_N = nChislo "яйц" ;
eye_N = nAdres "глаз" ;
fat_N = nBank "жир" ;
-- father_N = UseN2 father_N2 ;
feather_N = mkN "перо" "пера" "перу" "пера" "пером" "пере" "перья" "перьев" "перьям" "перьев" "перьями" "перьях" neuter inanimate ;
fingernail_N = mkN "ноготь" "ногтя" "ногтю" "ногтя" "ногтем" "ногте" "ногти" "ногтей" "ногтям" "ногтей" "ногтями" "ногтях" masculine inanimate ;
fire_N = mkN "огонь" "огня" "огню" "огня" "огнём" "огне" "огни" "огней" "огням" "огней" "огнями" "огнях" masculine inanimate ;
fish_N = nMashina "рыб" ;
flower_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ;
fog_N = nTelefon "туман" ;
foot_N = nTetya "ступн" ;
forest_N = nAdres "лес" ;
fruit_N = nTelefon "фрукт";
grass_N = nMashina "трав" ;
guts_N = nBol "внутренност" ;
hair_N = nTelefon "волос" ;
hand_N = nNoga "рук" ;
head_N = nMashina "голов" ;
heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" neuter inanimate;
horn_N = nAdres "рог" ;
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 "язык" ;
laugh_V = regV imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ;
leaf_N = nStul "лист" ;
learn_V2= dirV2 (regV imperfective second "уч" "у" "учил" "учи" "учить" );
leather_N = nEdinica "кож" ;
leave_V2= dirV2 (regV imperfective second "ухож" "у" "уходил" "уходи" "уходить" );
left_Ord = (uy_j_EndDecl "лев" ) ** {lock_A = <>};
leg_N = nNoga "ног" ;
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 "печен" ;
ice_N = mkN "лёд" "льда" "льду" "льда" "льдом" "льде" "льды" "льдов" "льдам" "льдов" "льдами" "льдах" masculine inanimate ;
knee_N = mkN "колено" "колена" "колену" "колена" "коленом" "колене" "колени" "колен" "коленам" "колен" "коленями" "коленях" neuter inanimate ;
lake_N = nChislo "озер" ;
leaf_N = nStul "лист" ;
leg_N = nNoga "ног" ;
liver_N = nBol "печен" ;
louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" feminine animate ;
meat_N = nChislo "мяс" ;
moon_N = nMashina "лун" ;
long_A = AStaruyj "длинн" "длиннее" ;
lose_V2 = dirV2 (regV imperfective first "теря" "ю" "терял" "теряй" "терять" );
louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" "вшах" feminine animate ;
love_N = nBol "любов" ;
love_V2= dirV2 (regV imperfective second "люб" "лю" "любил" "люби" "любить" );
man_N = nStomatolog "человек" ;
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 "гор" ;
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 +++
narrow_A = AStaruyj "узк" "уже" ;
near_A = AMalenkij "близк" "ближе";
neck_N = nTetya "ше" ;
new_A = AStaruyj "нов" "новее" ;
newspaper_N = nMashina "газет" ;
-- night_N = nBol "ноч" ; -- +++ MG_UR: wrong! +++
night_N = nNoch "ноч" ; -- +++ MG_UR: added +++
nose_N = nTelefon "нос" ;
now_Adv = mkAdv "сейчас" ;
number_N = nChislo "числ" "чисел" ;
--- ocean_N = nMorje "мор" ; -- +++ MG_UR: added +++
oil_N = nBol "нефть" ;
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 "бумаг" ;
paris_PN = mkPN "Париж" Masc Inanimate ;
peace_N = nTelefon "мир" ;
pen_N = nNoga "ручк" ;
person_N = nBol "личность" ;
planet_N = nMashina "планет" ;
plastic_N = nMashina "пластмасс" ;
play_V = regV imperfective first "игра" "ю" "играл" "играй" "играть" ;
play_V2 = mkV2 (regV imperfective first "игра" "ю" "играл" "играй" "играть" ) "c" instructive;
policeman_N = nTelefon "милиционер" ;
priest_N = nStomatolog "священник" ;
probable_AS = AStaruyj "возможн" "возможнее";
pull_V2 = dirV2 (regV imperfective first "тян" "у" "тянул" "тяни" "тянуть" ) ;
push_V2 = dirV2 (regV imperfective first "толка" "ю" "толкал" "толкай" "толкать" );
put_V2 = dirV2 (regV imperfective firstE "клад" "у" "клал" "клади" "класть" );
queen_N = nMashina "королев" ;
radio_N = mkIndeclinableNoun "радио" neuter inanimate;
rain_N = nNol "дожд" ;
name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate;
rain_V0 = idetDozhd verbIdti; -- No such verb in Russian!
read_V2 = dirV2 (regV imperfective first "чита" "ю" "читал" "читай" "читать" );
red_A = AStaruyj "красн" "краснее" ;
religion_N = nMalyariya "религи" ;
restaurant_N = nTelefon "ресторан" ;
right_Ord = (uy_j_EndDecl "прав") ** {lock_A = <>} ;
river_N = nNoga "рек" ;
road_N = nNoga "дорог" ;
night_N = nBol "ноч" ;
nose_N = nTelefon "нос" ;
person_N = nBol "личность" ;
rain_N = nNol "дожд" ;
road_N = nNoga "дорог" ;
root_N = nUroven "кор" ;
rope_N = nNoga "веревк" ;
salt_N = nBol "сол" ;
sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" masculine inanimate ;
sea_N = nProizvedenie "мор" ;
seed_N = mkN "семя" "семени" "семении" "семя" "семенем" "семени" "семена" "семян" "семенам" "семена" "семенами" "семенах" neuter inanimate ;
skin_N = nEdinica "кож" ;
sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" neuter inanimate ;
smoke_N = nTelefon "дым" ;
snake_N = nTetya "зме" ;
snow_N = nAdres "снег" ;
star_N = nMashina "звезд" ;
stick_N = nNoga "палк" ;
tail_N = nTelefon "хвост" ;
tongue_N = nBank "язык" ;
tooth_N = nTelefon "зуб" ;
tree_N = nChislo "дерев" ;
water_N = nMashina "вод" ;
wife_N = nMashina "жен" ;
wind_N = mkN "ветер" "ветра" "ветру" "ветер" "ветром" "ветра" "ветров" "ветра" "ветрам" "ветров" "ветрами" "ветрах" masculine inanimate ;
wing_N = mkN "крыло" "крыла" "крылу" "крыло" "крылом" "крыле" "крылья" "крыльев" "крыльям" "крылья" "крыльями" "крыльях" neuter inanimate ;
worm_N = nNol "черв" ;
year_N = nAdres "год" ;
-- Verbs
bite_V2 = dirV2 (regV imperfective first "куса" "ю" "кусал" "кусай" "кусать");
blow_V = regV imperfective first "ду" "ю" "дул" "дуй" "дуть" ;
breathe_V = regV imperfective second "дыш" "у" "дышал" "дыши" "дышать" ;
burn_V = regV imperfective second "гор" "ю" "горел" "гори" "гореть" ;
count_V2 = dirV2 (regV imperfective first "счита" "ю" "считал" "считай" "считать" ) ;
cut_V2 = dirV2 (regV imperfective first "реж" "у" "резал" "режь" "резать" ) ;
dig_V = regV imperfective first "копа" "ю" "копал" "копай" "копать" ;
fall_V = regV imperfective first "пада" "ю" "падал" "падай" "падать" ;
fight_V2 = dirV2 (regV imperfective firstE "дер" "у" "драл" "дери" "драть" ) ;
float_V = regV imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ;
flow_V = regV imperfective firstE "тек" "у" "тёк" "теки" "течь" ;
fly_V = regV imperfective second "лета" "ю" "летал" "летай" "летать" ;
freeze_V = regV imperfective first "замерза" "ю" "замерзал" "замерзай" "замерзать" ;
give_V3 = tvDirDir (regV imperfective firstE "да" "ю" "давал" "давай" "давать" ) ;
hit_V2 = dirV2 (regV imperfective first "ударя" "ю" "ударял" "ударяй" "ударять" );
hold_V2 = dirV2 (regV imperfective second "держ" "у" "держал" "держи" "держать" );
hunt_V2 = dirV2 (regV imperfective second "охоч" "у" "охотил" "охоть" "охотить" ) ;
kill_V2 = dirV2 (regV imperfective first "убива" "ю" "убивал" "убивай" "убивать" ) ;
laugh_V = regV imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ;
lie_V = regV imperfective firstE "лг" "у" "лгал" "лги" "лгать" ;
play_V = regV imperfective first "игра" "ю" "играл" "играй" "играть" ;
pull_V2 = dirV2 (regV imperfective first "тян" "у" "тянул" "тяни" "тянуть" ) ;
push_V2 = dirV2 (regV imperfective first "толка" "ю" "толкал" "толкай" "толкать" );
rub_V2 = dirV2 (regV imperfective firstE "тр" "у" "тёр" "три" "тереть" );
scratch_V2 = dirV2 (regV imperfective first "чеш" "у" "чесал" "чеши" "чесать" ) ;
sew_V = regV imperfective firstE "шь" "ю" "шил" "шей" "шить" ;
sing_V = regV imperfective firstE "по" "ю" "пел" "пой" "петь" ;
sit_V = mkV imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ;
smell_V = regV imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ;
spit_V = regV imperfective firstE "плю" "ю" "плевал" "плюй" "плевать" ;
split_V2 = dirV2 (regV imperfective first "разбива" "ю" "разбивал" "разбей" "разбивать" ) ;
squeeze_V2 = dirV2 (regV imperfective first "сжима" "ю" "сжимал" "сжимай" "сжимать" ) ;
stab_V2 = dirV2 (regV imperfective first "кол" "ю" "колол" "коли" "колоть" ) ;
stand_V = regV imperfective second "сто" "ю" "стоял" "стой" "стоять" ;
suck_V2 = dirV2 (regV imperfective firstE "сос" "у" "сосал" "соси" "сосать") ;
swell_V = regV imperfective first "опуха" "ю" "опухал" "опухай" "опухать" ;
swim_V = regV imperfective first "плава" "ю" "плавал" "плавай" "плавать" ;
think_V = regV imperfective first "дума" "ю" "думал" "думай" "думать" ;
throw_V2 = dirV2 (regV imperfective first "броса" "ю" "бросал" "бросай" "бросать" ) ;
tie_V2 = dirV2 (regV imperfective first "вяж" "у" "вязал" "вяжи" "вязать") ;
turn_V = regV imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ;
vomit_V = regV imperfective firstE "рв" "у" "рвал" "рви" "рвать" ;
wash_V2 = dirV2 (regV imperfective first "мо" "ю" "мыл" "мой" "мыть" ) ;
wipe_V2 = dirV2 (regV imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" );
correct_A = AStaruyj "правильн" "правильнее";
dry_A = AMolodoj "сух" "суше";
dull_A = AStaruyj "скучн" "скучнее";
far_Adv = mkAdv "далеко";
full_A = AStaruyj "полн" "полнее";
heavy_A = AStaruyj "тяжел" "тяжелее";
left_Ord = (uy_j_EndDecl "лев" ) ** {lock_A = <>};
near_A = AMalenkij "близк" "ближе";
right_Ord = (uy_j_EndDecl "прав") ** {lock_A = <>} ;
rotten_A = AMolodoj "гнил" "гнилее";
round_A = AStaruyj "кругл" "круглее";
sharp_A = AStaruyj "остр" "острее";
smooth_A = AMalenkij "гладк" "глаже";
straight_A = AMolodoj "прям" "прямее";
wet_A = AStaruyj "мокр" "мокрее";
wide_A = AMalenkij "широк" "шире";
fear_V2 =dirV2 (regV imperfective first "бо" "ю" "боял" "бой" "боять" );
paris_PN = mkPN "Париж" Masc Inanimate ;
rock_N = nUroven "кам" ;
roof_N = nEdinica "крыш" ;
root_N = nUroven "кор" ;
rope_N = nNoga "веревк" ;
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 +++
run_V = regV imperfective first "бега" "ю" "бегал" "бегай" "бегать" ;
salt_N = nBol "сол" ;
sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" "песках" masculine inanimate ;
say_VS = regV imperfective second "говор" "ю" "говорил" "говори" "говорить" ;
school_N = nMashina "школ" ;
science_N = nNoga "наук" ;
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 +++
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 "рубашк" ;
shoe_N = mkN "туфля" "туфли" "туфле" "туфлю" "туфлей" "туфле" "туфле" "туфли" "туфель" "туфлям" "туфли" "туфлями" "туфлях" "туфлях" masculine inanimate ;
shop_N = nTelefon "магазин" ;
short_A = AMalenkij "коротк" "короче" ;
-- silver_N = nChislo "серебр" ; -- +++ MG_UR: wrong! +++
silver_N = nSlovo "серебр" ; -- +++ MG_UR: added +++
sing_V = regV imperfective firstE "по" "ю" "пел" "пой" "петь" ;
sister_N = nMashina "сестр" ;
sit_V = mkV imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ;
skin_N = nEdinica "кож" ;
sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" "небесах" neuter inanimate ;
sleep_V = regV imperfective second "сп" "лю" "спал" "спи" "спать" ;
small_A = AMalenkij "маленьк" "меньше" ;
smell_V = regV imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ;
smoke_N = nTelefon "дым" ;
smooth_A = AMalenkij "гладк" "глаже";
snake_N = nTetya "зме" ;
snake_N = nTetya"зме" ;
snow_N = nAdres "снег" ;
sock_N = nPotolok "нос" ;
--- son_N = nSyn "сын" ; -- +++ MG_UR: added +++
song_N = nTetya "песн" ;
speak_V2 = dirV2 (regV imperfective second "говор" "ю" "говорил" "говори" "говорить" );
spit_V = regV imperfective firstE "плю" "ю" "плевал" "плюй" "плевать" ;
split_V2 = dirV2 (regV imperfective first "разбива" "ю" "разбивал" "разбей" "разбивать" ) ;
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 "камен" ;
stop_V = regV imperfective first "останавлива" "ю" "останавливал" "останавливай" "останавливать";
stove_N = nBol "печ" ;
straight_A = AMolodoj "прям" "прямее";
student_N = nTelefon "студент" ;
stupid_A = AMolodoj "тупой" "тупее" ;
suck_V2 = dirV2 (regV imperfective firstE "сос" "у" "сосал" "соси" "сосать") ;
sun_N = mkN "солнце" "солнца" "солнцу" "солнце" "солнцем" "солнце" "солнце" "солнца" "солнц" "солнцам" "солнца" "солнцами" "солнцах" "солнцах" neuter inanimate ;
swell_V = regV imperfective first "опуха" "ю" "опухал" "опухай" "опухать" ;
swim_V = regV imperfective first "плава" "ю" "плавал" "плавай" "плавать" ;
switch8off_V2 = dirV2 (regV imperfective first "выключа" "ю" "выключал" "выключай" "выключать") ;
switch8on_V2 = dirV2 (regV imperfective first "включа" "ю" "включал" "включай" "включать") ;
table_N = nTelefon "стол" ;
tail_N = nTelefon "хвост" ;
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 "телевидени" ;
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 "поезд" ;
travel_V = regV imperfective first "путешеству" "ю" "путешествовал" "путешествуй" "путешествовать" ;
tree_N = nDerevo "дерев" ; -- +++ MG_UR: added +++
turn_V = regV imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ;
ugly_A = AStaruyj "некрасив" "некрасивее" ;
understand_V2 = dirV2 (regV imperfective first "понима" "ю" "понимал" "понимай" "понимать" );
university_N = nTelefon "университет" ;
village_N = nMalyariya "деревн" ;
--- vocationalschool_N = nUchilishe "училищ" ; -- +++ MG_UR: added +++
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 "войн" ;
warm_A = AStaruyj "тёпл" "теплее" ;
wash_V2 = dirV2 (regV imperfective first "мо" "ю" "мыл" "мой" "мыть" ) ;
watch_V2 = dirV2 (regV imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" );
water_N = nMashina "вод" ;
--- way_N = nPut "пут" ; -- +++ MG_UR: added +++
wet_A = AStaruyj "мокр" "мокрее";
white_A = AStaruyj "бел" "белее" ;
wide_A = AMalenkij "широк" "шире";
wife_N = nMashina "жен" ;
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 +++
wipe_V2 = dirV2 (regV imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" );
woman_N = nZhenchina "женщин" ;
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 "черв" ;
write_V2 = dirV2 (regV imperfective first "пиш" "у" "писал" "пиши" "писать" );
year_N = nAdres "год" ;
yellow_A = AStaruyj "жёлт" "желтее" ;
young_A = AMolodoj "молод" "моложе";
}

File diff suppressed because it is too large Load Diff

View File

@@ -63,27 +63,15 @@ oper
singular : Number ;
plural : Number ;
--2 Nouns
-- Best case: indeclinabe nouns: "кофе", "пальто", "ВУЗ".
Animacy: Type ;
animate: Animacy;
inanimate: Animacy;
--2 Nouns
-- Best case: indeclinabe nouns: "кофе", "пальто", "ВУЗ".
mkN : overload {
-- The regular function captures the variants for some popular nouns
-- endings below:
mkN : Str -> N ;
-- This function is for indeclinable nouns.
mkN : Str -> Gender -> Animacy -> N ;
mkIndeclinableNoun: Str -> Gender -> Animacy -> N ;
-- Worst case - give six singular forms:
-- Nominative, Genetive, Dative, Accusative, Instructive and Prepositional;
@@ -94,13 +82,17 @@ 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.
mkN : (nomSg,_,_,_,_,_,_,_,_,_,_,prepPl : Str) -> Gender -> Animacy -> N ;
-- +++ MG_UR: new case Prepos2 introduced! +++
mkN : (nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
nomPl, genPl, datPl, accPl, instPl, preposPl, prepos2Pl: Str) -> Gender -> Animacy -> N ;
-- мужчина, мужчины, мужчине, мужчину, мужчиной, мужчине
-- мужчины, мужчин, мужчинам, мужчин, мужчинами, мужчинах
-- мужчина, мужчины, мужчине, мужчину, мужчиной, мужчине
-- мужчины, мужчин, мужчинам, мужчин, мужчинами, мужчинах
-- The regular function captures the variants for some popular nouns
-- endings below:
} ;
regN : Str -> N ;
-- Here are some common patterns. The list is far from complete.
@@ -115,32 +107,71 @@ oper
nTetya : Str -> N ; -- feminine, animate, ending with "-я"
nBol : Str -> N ; -- feminine, inanimate, ending with "-ь"(soft sign)
-- further classes added by Magda Gerritsen and Ulrich Real
nSvecha: Str -> N ; -- like nEdinica, but instrumental case with -oj
nMat: Str -> N ; -- irregular, changing stem, other example 'daughter'
nDoch: Str -> N ; -- like nMat but different instrumental case
nLoshad: Str -> N ; -- i-declination but instrumental plural -mi
nNoch: Str -> N ; -- like nBol but after ZH no "soft behaviour"
-- Neuter patterns.
nObezbolivauchee : Str -> N ; -- neutral, inanimate, ending with "-ee"
nProizvedenie : Str -> N ; -- neutral, inanimate, ending with "-e"
nChislo : Str -> N ; -- neutral, inanimate, ending with "-o"
nChislo : Str -> Str -> N ; -- neutral, inanimate, ending with "-o" +++ MG_UR: nChislo now expects two arguments +++
nZhivotnoe : Str -> N ; -- masculine, inanimate, ending with "-ень"
-- further classes added by Magda Gerritsen and Ulrich Real
nSlovo: Str -> N ; -- hard consonants and zh, ending with -o
nMorje: Str -> N ; -- weak consonants, ending with -e
nUchilishe: Str -> N ; -- like nSlovo but because not stressed (betont) of with -e
-- nOkno: Str -> N ; -- like nSlovo but without -o- and genetive plural with -o- in between; no longer needed because of nChislo with two arguments +++
-- nKreslo: Str -> N ; -- like nSlovo but without -o- and genetive plural with -o- in between; no longer needed because of nChislo with two arguments +++
nNebo: Str -> N ; -- irregular, other example 'chudo' (wonder)
nDerevo: Str -> N ; -- irregular, change of stem, other example 'krylo' (wing)
nVremja: Str -> N ; -- irregular total, the most important ones: 'imja' (name), 'plamja' (flame), 'znamja' (flag), 'semja' (seed)
-- Masculine patterns.
-- Ending with consonant:
nPepel : Str -> N ; -- masculine, inanimate, ending with "-ел"- "пеп-ла"
nBrat: Str -> N ; -- animate, брат-ья
nStul: Str -> N ; -- same as above, but inanimate
nMalush : Str -> N ; -- малышей
nPotolok : Str -> N ; -- потол-ок - потол-ка
-- the next four differ in plural nominative and/or accusative form(s) :
-- the next four differ in plural nominative and/or accusative form(s) :
nBank: Str -> N ; -- банк-и (Nom=Acc)
nStomatolog : Str -> N ; -- same as above, but animate
nAdres : Str -> N ; -- адрес-а (Nom=Acc)
nAdres : Str -> N ; -- адрес-а (Nom=Acc), +++ MG_UR: other examples: 'bereg, vecher, gorod, dom, lec, glaz, poezd' +++
nTelefon : Str -> N ; -- телефон-ы (Nom=Acc)
nNol : Str -> N ; -- masculine, inanimate, ending with "-ь" (soft sign)
nUchitel : Str -> N ; -- masculine, animate, ending with "-ь" (soft sign) -- +++ MG_UR: added +++
nUroven : Str -> N ; -- masculine, inanimate, ending with "-ень"
-- further classes added by Magda Gerritsen and Ulrich Real
nStol: Str -> N ; -- masculine "standard" declination (most simple case), hard consonants
nSlovar : Str -> N ; -- masculine, inanimate, ending soft ending, instrumental case with -jo-
nMusej : Str -> N ; -- masculine, inanimate, without ending
nDvorec : Str -> N ; -- masculine, inanimate, ending like nEtazh but genetive with -o- and with missing vowel
nTovarish : Str -> N ; -- masculine, animate, ending like nEtazh but instrumental case with -e-
nMesjac : Str -> N ; -- masculine, inanimate, ending like nDvorec but genitive wiht -e-
nGrazhdanin : Str -> N ; -- masculine, animate, ending with "-anin" and change of stem
nRebenok : Str -> N ; -- masculine, little beings, change of stem
nPut : Str -> N ; -- unique irregular Form, frequent use of the word
nGospodin : Str -> N ; -- like nGrazhdanin, but nominative plural ending with -a
nDen : Str -> N ; -- masculine, animate, ending with "-ь" (soft sign) but without vowel
nDrug : Str -> N ; -- like nBrat, but change of stemm
nSyn : Str -> N ; -- like nDrug, but another stem
-- further classes added by Magda Gerritsen and Ulrich Real
-- attention: these are not declension classes but classes in which
-- one case differs depending on the preposition used with it!
nLes : Str -> N ; -- preposition 'v' requires the case Prepos2
nMost : Str -> N ; -- preposition 'na' requires the case Prepos2
-- Nouns used as functions need a preposition. The most common is with Genitive.
mkFun : N -> Prep -> N2 ;
@@ -149,12 +180,14 @@ oper
-- Proper names.
mkPN : overload {
mkPN : Str -> PN ;
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
mkPN : N -> PN ;
} ;
mkPN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
nounPN : N -> PN ;
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
-- $NP$ rather than $PN$.
mkCN : N -> CN ;
mkNP : Str -> Gender -> Animacy -> NP ;
--2 Adjectives
@@ -173,15 +206,18 @@ oper
-- in the current description, otherwise there would be 32 forms for
-- positive degree.
-- mkA : ( : Str) -> A ;
-- The regular function captures the variants for some popular adjective
-- endings below. The first string agrument is the masculine singular form,
-- the second is comparative:
-- Invariable adjective is a special case, with only on string needed.
mkA : overload {
mkA : Str -> A ; -- khaki, mini, hindi, netto
mkA : Str -> Str -> A ;
} ;
regA : Str -> Str -> A ;
-- Invariable adjective is a special case.
adjInvar : Str -> A ; -- khaki, mini, hindi, netto
-- Some regular patterns depending on the ending.
@@ -206,6 +242,12 @@ oper
-- Syntactic forms are based on the positive forms.
-- mkADeg : A -> Str -> ADeg ;
-- On top level, there are adjectival phrases. The most common case is
-- just to use a one-place adjective.
-- ap : A -> IsPostfixAdj -> AP ;
--2 Adverbs
-- Adverbs are not inflected.
@@ -233,6 +275,8 @@ firstE: Conjugation; -- Verbs with vowel "ё": "даёшь" (give), "пьёшь
second: Conjugation; -- "вид-Ишь, вид-Им"
mixed: Conjugation; -- "хоч-Ешь - хот-Им"
dolzhen: Conjugation; -- irregular
foreign: Conjugation; -- foreign words which are used in Russian, +++ MG_UR: added +++
true: Bool;
false: Bool;
@@ -243,6 +287,17 @@ imperfective: Aspect;
perfective: Aspect ;
-- The worst case need 6 forms of the present tense in indicative mood
-- ("я бегу", "ты бежишь", "он бежит", "мы бежим", "вы бежите", "они бегут"),
-- a past form (singular, masculine: "я бежал"), an imperative form
-- (singular, second person: "беги"), an infinitive ("бежать").
-- Inherent aspect should also be specified.
-- mkVerbum : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
mkV : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
presentPlP1,presentPlP2,presentPlP3,
pastSgMasculine,imperative,infinitive: Str) -> V ;
-- Common conjugation patterns are two conjugations:
-- first - verbs ending with "-ать/-ять" and second - "-ить/-еть".
-- Instead of 6 present forms of the worst case, we only need
@@ -253,38 +308,19 @@ perfective: Aspect ;
-- "я люб-лю", "ты люб-ишь". Stems shoud be the same.
-- So the definition for verb "любить" looks like:
-- regV Imperfective Second "люб" "лю" "любил" "люби" "любить";
--
-- There is no one-argument case.
mkV : overload {
mkV : Aspect -> Conjugation -> (stemPrsSgP1,endPrsSgP1,pastSgP1,imp,inf : Str) -> V ;
-- The worst case need 6 forms of the present tense in indicative mood
-- ("я бегу", "ты бежишь", "он бежит", "мы бежим", "вы бежите", "они бегут"),
-- a past form (singular, masculine: "я бежал"), an imperative form
-- (singular, second person: "беги"), an infinitive ("бежать").
-- Inherent aspect should also be specified.
regV :Aspect -> Conjugation -> (stemPresentSgP1,endingPresentSgP1,
pastSgP1,imperative,infinitive : Str) -> V ;
mkV : Aspect -> (presSgP1,presSgP2,presSgP3,presPlP1,presPlP2,presPlP3,pastSgMasc,imp,inf: Str) -> V ;
} ;
--3 Two-place verbs
-- Two-place verbs, and the special case with direct object. Notice that
-- a particle can be included in a $V$.
mkV2 : overload {
mkV2 : V -> V2 ; -- "видеть", "любить"
mkV2 : V -> Str -> Case -> V2 ; -- "войти в дом"; "в", accusative
} ;
--3 Three-place verbs
mkV2 : V -> Str -> Case -> V2 ; -- "войти в дом"; "в", accusative
mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -- "сложить письмо в конверт"
dirV2 : V -> V2 ; -- "видеть", "любить"
tvDirDir : V -> V3 ;
mkV3 : V -> Str -> Str -> Case -> Case -> V3 ; -- "сложить письмо в конверт"
-- The definitions should not bother the user of the API. So they are
-- hidden from the document.
--.
@@ -302,6 +338,7 @@ firstE = FirstE ;
second = Second ;
mixed = Mixed ;
dolzhen = Dolzhen;
foreign = Foreign; -- +++ MG_UR: added +++
true = True;
false = False ;
@@ -338,9 +375,9 @@ dolzhen = Dolzhen;
anim = anim
} ** {lock_N = <>};
mk12N = \nomSg, genSg, datSg, accSg, instSg, preposSg,
nomPl, genPl, datPl, accPl, instPl, preposPl, g, anim ->
-- +++ MG_UR: new case Prepos2 introduced! +++
mkN = \nomSg, genSg, datSg, accSg, instSg, preposSg, prepos2Sg,
nomPl, genPl, datPl, accPl, instPl, preposPl, prepos2Pl, g, anim ->
{
s = table {
SF Sg Nom => nomSg ;
@@ -349,16 +386,18 @@ dolzhen = Dolzhen;
SF Sg Acc => accSg ;
SF Sg Inst => instSg ;
SF Sg Prepos => preposSg ;
SF Sg Prepos2 => prepos2Sg ;
SF Pl Nom => nomPl ;
SF Pl Gen => genPl ;
SF Pl Dat => datPl ;
SF Pl Acc => accPl ;
SF Pl Inst => instPl ;
SF Pl Prepos => preposPl
SF Pl Prepos => preposPl ;
SF Pl Prepos2 => prepos2Pl
} ;
g = g ;
anim = anim
} ** {lock_N = <>} ;
} ** {lock_N = <>} ;
regN = \ray ->
@@ -378,28 +417,42 @@ regN = \ray ->
"ее" => nObezbolivauchee ray ;
"ое" => nZhivotnoe ray ;
_ => nProizvedenie ray };
"о" => nChislo ray;
-- "о" => nChislo ray ; +++ MG_UR: commented out +++
_=> nStomatolog ray
}
in
rays ;
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 = <>};
nMalyariya = \s -> i_yaEndDecl s ** {lock_N = <>};
nTetya = \s -> (yaEndAnimateDecl s) ** {g = Fem; anim = Animate; lock_N = <>} ;
nBol = \s -> softSignEndDeclFem s ** {lock_N = <>};
-- Neuter patterns.
-- 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 = <>};
-- Neuter patterns.
nObezbolivauchee = \s -> eeEndInAnimateDecl s ** {lock_N = <>};
nZhivotnoe = \s -> oeEndAnimateDecl s ** {lock_N = <>};
nProizvedenie = \s -> eEndInAnimateDecl s ** {lock_N = <>};
nChislo = \s -> oEndInAnimateDecl s ** {lock_N = <>};
nChislo = \s, o -> oEndInAnimateDecl3 s o ** {lock_N = <>}; -- +++ MG_UR: nChislo now expects two arguments +++
-- 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 = <>};
-- Masculine patterns.
@@ -416,8 +469,28 @@ regN = \ray ->
nPepel = \s -> nullEndInAnimateDeclPepel s ** {lock_N = <>};
nNol = \s -> softSignEndDeclMasc s ** {lock_N = <>};
nUchitel = \s -> softSignEndDeclMascAnimate s ** {lock_N = <>}; -- +++ MG_UR: added +++
nUroven = \s -> EN_softSignEndDeclMasc s ** {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 = <>};
-- preposition types added by Magda Gerritsen and Ulrich Real
nLes = \s -> preposition_V s ** {lock_N = <>};
nMost = \s -> preposition_Na s ** {lock_N = <>};
-- An individual-valued function is a common noun together with the
-- preposition prefixed to its argument ("клZ+ о' дома").
@@ -437,22 +510,16 @@ regN = \ray ->
mkN3 f p r = (UseN f) ** {s2 = p.s ; c=p.c; s3=r.s ; c2=r.c; lock_N3 = <>} ;
mk3PN = \ivan, g, anim ->
mkPN = \ivan, g, anim ->
case g of {
Masc => mkProperNameMasc ivan anim ;
_ => mkProperNameFem ivan anim
} ** {lock_PN =<>};
nounPN n = {s=\\c => n.s! SF Sg c; anim=n.anim; g=n.g; lock_PN=<>};
-- On the top level, it is maybe $CN$ that is used rather than $N$, and
-- $NP$ rather than $PN$.
mkCN = UseN;
makeCN : N -> CN ;
makeNP : Str -> Gender -> Animacy -> NP ;
makeCN = UseN;
makeNP = \x,y,z -> UsePN (mk3PN x y z) ;
mkNP = \x,y,z -> UsePN (mkPN x y z) ;
-- Adjective definitions
regA = \ray, comp ->
@@ -486,7 +553,7 @@ regN = \ray ->
-- Verb definitions
-- mkVerbum = \asp, sgP1, sgP2, sgP3, plP1, plP2, plP3,
mk9V = \asp, sgP1, sgP2, sgP3, plP1, plP2, plP3,
mkV = \asp, sgP1, sgP2, sgP3, plP1, plP2, plP3,
sgMascPast, imperSgP2, inf -> case asp of {
Perfective =>
mkVerb (perfectiveActivePattern inf imperSgP2
@@ -522,8 +589,8 @@ regN = \ray ->
VSubj gn => aller.s ! VFORM vox (VSUB gn)
}; t = Present ; a = aller.asp ; w = vox ; lock_V = <>} ;
-}
mk2V2 v p cas = v ** {s2 = p ; c = cas; lock_V2 = <>};
dirV2 v = mk2V2 v [] Acc;
mkV2 v p cas = v ** {s2 = p ; c = cas; lock_V2 = <>};
dirV2 v = mkV2 v [] Acc;
tvDirDir v = mkV3 v "" "" Acc Dat;
@@ -535,69 +602,438 @@ regN = \ray ->
mkV3 v s1 s2 c1 c2 = v ** {s2 = s1; c = c1; s4 = s2; c2=c2; lock_V3 = <>};
---------------------------
-- overloaded API started by AR 6/7/2007
mkN = overload {
mkN : Str -> N = regN ;
mkN : Str -> Gender -> Animacy -> N = mkIndeclinableNoun ;
mkN : (nomSg,_,_,_,_,_,_,_,_,_,_,prepPl : Str) -> Gender -> Animacy -> N = mk12N ;
} ;
regN : Str -> N ;
mkIndeclinableNoun: Str -> Gender -> Animacy -> N ;
mk12N : (nomSg, genSg, datSg, accSg, instSg, preposSg,
nomPl, genPl, datPl, accPl, instPl, preposPl: Str) -> Gender -> Animacy -> N ;
mkPN = overload {
mkPN : Str -> PN = regPN ;
mkPN : Str -> Gender -> Animacy -> PN = mk3PN ; -- "Иван", "Маша"
mkPN : N -> PN = nounPN ;
} ;
regPN : Str -> PN = \s -> nounPN (regN s) ;
mk3PN : Str -> Gender -> Animacy -> PN ; -- "Иван", "Маша"
nounPN : N -> PN ;
-- mkADeg : A -> Str -> ADeg ;
-- On top level, there are adjectival phrases. The most common case is
-- just to use a one-place adjective.
-- ap : A -> IsPostfixAdj -> AP ;
mkA = overload {
mkA : Str -> A = adjInvar ; -- khaki, mini, hindi, netto
mkA : Str -> Str -> A = regA ;
} ;
regA : Str -> Str -> A ;
adjInvar : Str -> A ; -- khaki, mini, hindi, netto
-- mkVerbum : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
mkV = overload {
mkV : Aspect -> Conjugation -> (stemPrsSgP1,endPrsSgP1,pastSgP1,imp,inf : Str) -> V = regV ;
mkV : Aspect -> (presSgP1,presSgP2,presSgP3,presPlP1,presPlP2,presPlP3,pastSgMasc,imp,inf: Str) -> V = mk9V ;
} ;
regV :Aspect -> Conjugation -> (stemPresentSgP1,endingPresentSgP1,
pastSgP1,imperative,infinitive : Str) -> V ;
mk9V : Aspect -> (presentSgP1,presentSgP2,presentSgP3,
presentPlP1,presentPlP2,presentPlP3,
pastSgMasculine,imperative,infinitive: Str) -> V ;
mkV2 = overload {
mkV2 : V -> V2 = dirV2 ; -- "видеть", "любить"
mkV2 : V -> Str -> Case -> V2 = mk2V2 ; -- "войти в дом"; "в", accusative
} ;
mk2V2 : V -> Str -> Case -> V2 ; -- "войти в дом"; "в", accusative
dirV2 : V -> V2 ; -- "видеть", "любить"
----2 Parameters
----
---- To abstract over gender names, we define the following identifiers.
--
--oper
-- Gender : Type ;
--
-- human : Gender ;
-- nonhuman : Gender ;
-- masculine : Gender ;
--
---- To abstract over number names, we define the following.
--
-- Number : Type ;
--
-- singular : Number ;
-- plural : Number ;
--
---- To abstract over case names, we define the following.
--
-- Case : Type ;
--
-- nominative : Case ;
-- genitive : Case ;
--
---- Prepositions are used in many-argument functions for rection.
--
-- Preposition : Type ;
--
--
----2 Nouns
--
---- Worst case: give all four forms and the semantic gender.
--
-- mkN : (man,men,man's,men's : Str) -> N ;
--
---- The regular function captures the variants for nouns ending with
---- "s","sh","x","z" or "y": "kiss - kisses", "flash - flashes";
---- "fly - flies" (but "toy - toys"),
--
-- regN : Str -> N ;
--
---- In practice the worst case is just: give singular and plural nominative.
--
-- mk2N : (man,men : Str) -> N ;
--
---- All nouns created by the previous functions are marked as
---- $nonhuman$. If you want a $human$ noun, wrap it with the following
---- function:
--
-- genderN : Gender -> N -> N ;
--
----3 Compound nouns
----
---- A compound noun ia an uninflected string attached to an inflected noun,
---- such as "baby boom", "chief executive officer".
--
-- compoundN : Str -> N -> N ;
--
--
----3 Relational nouns
----
---- Relational nouns ("daughter of x") need a preposition.
--
-- mkN2 : N -> Preposition -> N2 ;
--
---- The most common preposition is "of", and the following is a
---- shortcut for regular relational nouns with "of".
--
-- regN2 : Str -> N2 ;
--
---- Use the function $mkPreposition$ or see the section on prepositions below to
---- form other prepositions.
----
---- Three-place relational nouns ("the connection from x to y") need two prepositions.
--
-- mkN3 : N -> Preposition -> Preposition -> N3 ;
--
--
----3 Relational common noun phrases
----
---- In some cases, you may want to make a complex $CN$ into a
---- relational noun (e.g. "the old town hall of").
--
-- cnN2 : CN -> Preposition -> N2 ;
-- cnN3 : CN -> Preposition -> Preposition -> N3 ;
--
----
----3 Proper names and noun phrases
----
---- Proper names, with a regular genitive, are formed as follows
--
-- regPN : Str -> Gender -> PN ; -- John, John's
--
---- Sometimes you can reuse a common noun as a proper name, e.g. "Bank".
--
-- nounPN : N -> PN ;
--
---- To form a noun phrase that can also be plural and have an irregular
---- genitive, you can use the worst-case function.
--
-- mkNP : Str -> Str -> Number -> Gender -> NP ;
--
----2 Adjectives
--
---- Non-comparison one-place adjectives need two forms: one for
---- the adjectival and one for the adverbial form ("free - freely")
--
-- mkA : (free,freely : Str) -> A ;
--
---- For regular adjectives, the adverbial form is derived. This holds
---- even for cases with the variation "happy - happily".
--
-- regA : Str -> A ;
--
----3 Two-place adjectives
----
---- Two-place adjectives need a preposition for their second argument.
--
-- mkA2 : A -> Preposition -> A2 ;
--
---- Comparison adjectives may two more forms.
--
-- ADeg : Type ;
--
-- mkADeg : (good,better,best,well : Str) -> ADeg ;
--
---- The regular pattern recognizes two common variations:
---- "-e" ("rude" - "ruder" - "rudest") and
---- "-y" ("happy - happier - happiest - happily")
--
-- regADeg : Str -> ADeg ; -- long, longer, longest
--
---- However, the duplication of the final consonant is nor predicted,
---- but a separate pattern is used:
--
-- duplADeg : Str -> ADeg ; -- fat, fatter, fattest
--
---- If comparison is formed by "more, "most", as in general for
---- long adjective, the following pattern is used:
--
-- compoundADeg : A -> ADeg ; -- -/more/most ridiculous
--
---- From a given $ADeg$, it is possible to get back to $A$.
--
-- adegA : ADeg -> A ;
--
--
----2 Adverbs
--
---- Adverbs are not inflected. Most lexical ones have position
---- after the verb. Some can be preverbal (e.g. "always").
--
-- mkAdv : Str -> Adv ;
-- mkAdV : Str -> AdV ;
--
---- Adverbs modifying adjectives and sentences can also be formed.
--
-- mkAdA : Str -> AdA ;
--
----2 Prepositions
----
---- A preposition as used for rection in the lexicon, as well as to
---- build $PP$s in the resource API, just requires a string.
--
-- mkPreposition : Str -> Preposition ;
-- mkPrep : Str -> Prep ;
--
---- (These two functions are synonyms.)
--
----2 Verbs
----
---- Except for "be", the worst case needs five forms: the infinitive and
---- the third person singular present, the past indicative, and the
---- past and present participles.
--
-- mkV : (go, goes, went, gone, going : Str) -> V ;
--
---- The regular verb function recognizes the special cases where the last
---- character is "y" ("cry - cries" but "buy - buys") or "s", "sh", "x", "z"
---- ("fix - fixes", etc).
--
-- regV : Str -> V ;
--
---- The following variant duplicates the last letter in the forms like
---- "rip - ripped - ripping".
--
-- regDuplV : Str -> V ;
--
---- There is an extensive list of irregular verbs in the module $IrregularEng$.
---- In practice, it is enough to give three forms,
---- e.g. "drink - drank - drunk", with a variant indicating consonant
---- duplication in the present participle.
--
-- irregV : (drink, drank, drunk : Str) -> V ;
-- irregDuplV : (get, got, gotten : Str) -> V ;
--
--
----3 Verbs with a particle.
----
---- The particle, such as in "switch on", is given as a string.
--
-- partV : V -> Str -> V ;
--
----3 Reflexive verbs
----
---- By default, verbs are not reflexive; this function makes them that.
--
-- reflV : V -> V ;
--
----3 Two-place verbs
----
---- Two-place verbs need a preposition, except the special case with direct object.
---- (transitive verbs). Notice that a particle comes from the $V$.
--
-- mkV2 : V -> Preposition -> V2 ;
--
-- dirV2 : V -> V2 ;
--
----3 Three-place verbs
----
---- Three-place (ditransitive) verbs need two prepositions, of which
---- the first one or both can be absent.
--
-- mkV3 : V -> Preposition -> Preposition -> V3 ; -- speak, with, about
-- dirV3 : V -> Preposition -> V3 ; -- give,_,to
-- dirdirV3 : V -> V3 ; -- give,_,_
--
----3 Other complement patterns
----
---- Verbs and adjectives can take complements such as sentences,
---- questions, verb phrases, and adjectives.
--
-- mkV0 : V -> V0 ;
-- mkVS : V -> VS ;
-- mkV2S : V -> Str -> V2S ;
-- mkVV : V -> VV ;
-- mkV2V : V -> Str -> Str -> V2V ;
-- mkVA : V -> VA ;
-- mkV2A : V -> Str -> V2A ;
-- mkVQ : V -> VQ ;
-- mkV2Q : V -> Str -> V2Q ;
--
-- mkAS : A -> AS ;
-- mkA2S : A -> Str -> A2S ;
-- mkAV : A -> AV ;
-- mkA2V : A -> Str -> A2V ;
--
---- Notice: categories $V2S, V2V, V2A, V2Q$ are in v 1.0 treated
---- just as synonyms of $V2$, and the second argument is given
---- as an adverb. Likewise $AS, A2S, AV, A2V$ are just $A$.
---- $V0$ is just $V$.
--
-- V0, V2S, V2V, V2A, V2Q : Type ;
-- AS, A2S, AV, A2V : Type ;
--
--
----2 Definitions of paradigms
----
---- The definitions should not bother the user of the API. So they are
---- hidden from the document.
----.
--
-- Gender = MorphoEng.Gender ;
-- Number = MorphoEng.Number ;
-- Case = MorphoEng.Case ;
-- human = Masc ;
-- nonhuman = Neutr ;
-- masculine = Masc ;
-- feminine = Fem ;
-- singular = Sg ;
-- plural = Pl ;
-- nominative = Nom ;
-- genitive = Gen ;
--
-- Preposition = Str ;
--
-- 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 {
-- "y" => y2ie ray "s" ;
-- "s" => ray + "es" ;
-- "z" => ray + "es" ;
-- "x" => ray + "es" ;
-- _ => case ay of {
-- "sh" => ray + "es" ;
-- "ch" => ray + "es" ;
-- _ => ray + "s"
-- }
-- }
-- in
-- mk2N ray rays ;
--
-- mk2N = \man,men ->
-- let mens = case last men of {
-- "s" => men + "'" ;
-- _ => men + "'s"
-- }
-- in
-- mkN man men (man + "'s") mens ;
--
-- mkN = \man,men,man's,men's ->
-- mkNoun man man's men men's ** {g = Neutr ; lock_N = <>} ;
--
-- genderN g man = {s = man.s ; g = g ; lock_N = <>} ;
--
-- compoundN s n = {s = \\x,y => s ++ n.s ! x ! y ; g=n.g ; lock_N = <>} ;
--
-- mkN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
-- regN2 n = mkN2 (regN n) (mkPreposition "of") ;
-- mkN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
-- cnN2 = \n,p -> n ** {lock_N2 = <> ; c2 = p} ;
-- cnN3 = \n,p,q -> n ** {lock_N3 = <> ; c2 = p ; c3 = q} ;
--
-- regPN n g = nameReg n g ** {lock_PN = <>} ;
-- nounPN n = {s = n.s ! singular ; g = n.g ; lock_PN = <>} ;
-- mkNP x y n g = {s = table {Gen => x ; _ => y} ; a = agrP3 n ;
-- lock_NP = <>} ;
--
-- mkA a b = mkAdjective a a a b ** {lock_A = <>} ;
-- regA a = regAdjective a ** {lock_A = <>} ;
--
-- mkA2 a p = a ** {c2 = p ; lock_A2 = <>} ;
--
-- ADeg = A ; ----
--
-- mkADeg a b c d = mkAdjective a b c d ** {lock_A = <>} ;
--
-- regADeg happy =
-- let
-- happ = init happy ;
-- y = last happy ;
-- happie = case y of {
-- "y" => happ + "ie" ;
-- "e" => happy ;
-- _ => happy + "e"
-- } ;
-- happily = case y of {
-- "y" => happ + "ily" ;
-- _ => happy + "ly"
-- } ;
-- in mkADeg happy (happie + "r") (happie + "st") happily ;
--
-- duplADeg fat =
-- mkADeg fat
-- (fat + last fat + "er") (fat + last fat + "est") (fat + "ly") ;
--
-- compoundADeg a =
-- let ad = (a.s ! AAdj Posit)
-- in mkADeg ad ("more" ++ ad) ("most" ++ ad) (a.s ! AAdv) ;
--
-- adegA a = a ;
--
-- mkAdv x = ss x ** {lock_Adv = <>} ;
-- mkAdV x = ss x ** {lock_AdV = <>} ;
-- mkAdA x = ss x ** {lock_AdA = <>} ;
--
-- mkPreposition p = p ;
-- mkPrep p = ss p ** {lock_Prep = <>} ;
--
-- mkV a b c d e = mkVerb a b c d e ** {s1 = [] ; lock_V = <>} ;
--
-- regV cry =
-- let
-- cr = init cry ;
-- y = last cry ;
-- cries = (regN cry).s ! Pl ! Nom ; -- !
-- crie = init cries ;
-- cried = case last crie of {
-- "e" => crie + "d" ;
-- _ => crie + "ed"
-- } ;
-- crying = case y of {
-- "e" => case last cr of {
-- "e" => cry + "ing" ;
-- _ => cr + "ing"
-- } ;
-- _ => cry + "ing"
-- }
-- in mkV cry cries cried cried crying ;
--
-- regDuplV fit =
-- let fitt = fit + last fit in
-- mkV fit (fit + "s") (fitt + "ed") (fitt + "ed") (fitt + "ing") ;
--
-- irregV x y z = let reg = (regV x).s in
-- mkV x (reg ! VPres) y z (reg ! VPresPart) ** {s1 = [] ; lock_V = <>} ;
--
-- irregDuplV fit y z =
-- let
-- fitting = (regDuplV fit).s ! VPresPart
-- in
-- mkV fit (fit + "s") y z fitting ;
--
-- partV v p = verbPart v p ** {lock_V = <>} ;
-- reflV v = {s = v.s ; part = v.part ; lock_V = v.lock_V ; isRefl = True} ;
--
-- mkV2 v p = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; lock_V2 = <>} ;
-- dirV2 v = mkV2 v [] ;
--
-- mkV3 v p q = v ** {s = v.s ; s1 = v.s1 ; c2 = p ; c3 = q ; lock_V3 = <>} ;
-- dirV3 v p = mkV3 v [] p ;
-- dirdirV3 v = dirV3 v [] ;
--
-- mkVS v = v ** {lock_VS = <>} ;
-- mkVV v = {
-- s = table {VVF vf => v.s ! vf ; _ => variants {}} ;
-- isAux = False ; lock_VV = <>
-- } ;
-- mkVQ v = v ** {lock_VQ = <>} ;
--
-- V0 : Type = V ;
-- V2S, V2V, V2Q, V2A : Type = V2 ;
-- AS, A2S, AV : Type = A ;
-- A2V : Type = A2 ;
--
-- mkV0 v = v ** {lock_V = <>} ;
-- mkV2S v p = mkV2 v p ** {lock_V2 = <>} ;
-- mkV2V v p t = mkV2 v p ** {s4 = t ; lock_V2 = <>} ;
-- mkVA v = v ** {lock_VA = <>} ;
-- mkV2A v p = mkV2 v p ** {lock_V2A = <>} ;
-- mkV2Q v p = mkV2 v p ** {lock_V2 = <>} ;
--
-- mkAS v = v ** {lock_A = <>} ;
-- mkA2S v p = mkA2 v p ** {lock_A = <>} ;
-- mkAV v = v ** {lock_A = <>} ;
-- mkA2V v p = mkA2 v p ** {lock_A2 = <>} ;
--
} ;

View File

@@ -19,7 +19,7 @@ flags coding=utf8 ; optimize=all ;
-- Some parameters, such as $Number$, are inherited from $ParamX$.
param
Gender = Masc | Fem | Neut ;
Case = Nom | Gen | Dat | Acc | Inst | Prepos ;
Case = Nom | Gen | Dat | Acc | Inst | Prepos | Prepos2 ; -- +++ MG_UR: new case Prepos2 introduced! +++
Animacy = Animate | Inanimate ;
Voice = Act | Pass ;
Aspect = Imperfective | Perfective ;
@@ -115,7 +115,8 @@ oper
PF Dat _ _ => Dat ;
PF Inst _ _ => Inst ;
PF Acc _ _ => Acc ;
PF Prepos _ _ => Prepos
PF Prepos _ _ => Prepos ;
PF Prepos2 _ _ => Prepos2 -- +++ MG_UR: added +++
} ;
mkPronForm: Case -> AfterPrep -> Possessive -> PronForm =
@@ -293,7 +294,8 @@ oper sam: Refl=
Dat => "себе";
Acc => "себя";
Inst => "собой";
Prepos => "себе"
Prepos => "себе";
Prepos2 => "себе" -- +++ MG_UR: added +++
}
};
@@ -410,7 +412,8 @@ oper
SF _ Dat => Dat ;
SF _ Inst => Inst ;
SF _ Acc => Acc ;
SF _ Prepos => Prepos
SF _ Prepos => Prepos ;
SF _ Prepos2 => Prepos2 -- +++ MG_UR: added +++
} ;
}

View File

@@ -49,7 +49,8 @@ lin
i_Pron = pronYa ;
if_Subj = ss "если" ;
in8front_Prep = { s = "перед" ; c = Inst};
in_Prep = { s = "в" ; c = Prepos };
--in_Prep = { s = "в" ; c = Prepos };
in_Prep = { s = "в" ; c = Prepos2 } ; -- +++ MG_UR: new case Prepos2 introduced! +++
it_Pron = pronOno ;
less_CAdv = ss "менее" ;
many_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
@@ -61,7 +62,8 @@ lin
much_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous
must_VV = verbDolzhen ;
no_Phr = ss ["Нет ."] ;
on_Prep = { s = "на" ; c = Prepos };
--on_Prep = { s = "на" ; c = Prepos };
on_Prep = { s = "на" ; c = Prepos2 }; -- +++ MG_UR: new case Prepos2 introduced! +++
one_Quant = odinDet ** {lock_QuantSg = <>; n= Sg; g = PNoGen; c = Nom };
--AStaruyj :
only_Predet = (uy_j_EndDecl "единственн" ) ** {lock_Predet = <>; n= Sg; g = PNoGen; c = Nom };
@@ -131,4 +133,3 @@ lin
--- NowhereNP = ss "нигде" ;
--- AgentPrep = { s = "" ; c = Nom}; -- missing in Russian
}