diff --git a/lib/resource/russian/BasicRus.gf b/lib/resource/russian/BasicRus.gf index 7a2e87602..72ba2b554 100644 --- a/lib/resource/russian/BasicRus.gf +++ b/lib/resource/russian/BasicRus.gf @@ -16,7 +16,7 @@ lin bad_ADeg = mkADeg ( AKakoj_Nibud "плох" "") "хуже"; bank_N = nBank "банк" ; beautiful_ADeg = mkADeg( AStaruyj "красив") "красивее"; - become_VA = mkRegVerb perfective first "ста" "л" "стал" "стань" "стать" ; + become_VA = mkRegVerb perfective second "станов" "лю" "стал" "стань" "стать" ; beer_N = nChislo "пив" ; beg_V2V = tvDir (mkRegVerb imperfective second "про" "шу" "просил" "проси" "просить" ); big_ADeg = mkADeg( AKakoj_Nibud "больш" "") "больше" ; @@ -52,7 +52,7 @@ child_N = mkN "ребёнок" "ребёнка" "ребёнку" "ребёнка close_V2= tvDir (mkRegVerb imperfective first "закрыва" "ю" "закрывал" "закрывай" "закрывать" ); coat_N = mkIndeclinableNoun "пальто" masculine inanimate ; cold_ADeg = mkADeg( AStaruyj "холодн") "холоднее"; - come_V = mkRegVerb imperfective second "прихо" "жу" "приходил" "приходи" "приходить" ; + come_V = mkRegVerb imperfective first "прихо" "жу" "приходил" "приходи" "приходить" ; computer_N = nTelefon "компьютер" ; country_N = nMashina "стран" ; cousin_N = nTelefon "кузен" ; @@ -62,12 +62,12 @@ dirty_ADeg = mkADeg( AStaruyj "грязн") "грязнее" ; doctor_N = nAdres "доктор" ; dog_N = nNoga "собак" ; door_N = nBol "двер" ; -drink_V2 = tvDir (mkRegVerb imperfective second "пь" "ю" "пил" "пей" "пить" ); +drink_V2 = tvDir (mkRegVerb imperfective firstE "пь" "ю" "пил" "пей" "пить" ); eat_V2 = tvDir (mkRegVerb imperfective first "куша" "ю" "кушал" "кушай" "кушать" ); enemy_N = nStomatolog "враг" ; factory_N = nNoga "фабрик" ; father_N2 = mkN2 (mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate); -fear_VS= mkRegVerb imperfective first "бо" "ю" "боял" "бой" "боять" ; +fear_VS= mkRegVerb imperfective second "бо" "ю" "боял" "бой" "боять" ; find_V2 = tvDir (mkRegVerb imperfective second "нахо" "жу" "находил" "находи" "находить" ); fish_N = nMashina "рыб" ; floor_N = nTelefon "пол" ; @@ -85,10 +85,10 @@ green_ADeg = mkADeg( AStaruyj "зелен") "зеленее" ; harbour_N = nTelefon "залив" ; hate_V2= tvDir (mkRegVerb imperfective second "ненави" "жу" "ненавидел" "ненавидь" "ненавидеть" ); hat_N = nMashina "шляп" ; -have_V2= tvDir (mkRegVerb imperfective second "име" "ю" "имел" "имей" "иметь" ); +have_V2= tvDir (mkRegVerb imperfective first "име" "ю" "имел" "имей" "иметь" ); hear_V2= tvDir (mkRegVerb imperfective first "слуша" "ю" "слушал" "слушай" "слушать" ); hill_N = nTelefon "холм" ; -hope_VS= mkRegVerb imperfective first "слуша" "ю" "слушал" "слушай" "слушать" ; +hope_VS= mkRegVerb imperfective first "наде" "ю" "надеял" "надей" "надеять" ; horse_N = nBol "лошад" ; hot_ADeg = mkADeg(AKhoroshij "горяч") "горячее" ; house_N = nAdres "дом" ; @@ -104,7 +104,7 @@ leather_N = nEdinica "кож" ; leave_V2= tvDir (mkRegVerb imperfective second "ухож" "у" "уходил" "уходи" "уходить" ); like_V2= tvDir (mkRegVerb imperfective second "нрав" "лю" "нравил" "нравь" "нравить" ); listen_V2= tvDir (mkRegVerb imperfective first "слуша" "ю" "слушал" "слушай" "слушать" ); -live_V= mkRegVerb imperfective second "жив" "у" "жил" "живи" "жить" ; +live_V= mkRegVerb imperfective firstE "жив" "у" "жил" "живи" "жить" ; long_ADeg = mkADeg( AStaruyj "длинн") "длиннее" ; lose_V2 = tvDir (mkRegVerb imperfective first "теря" "ю" "терял" "теряй" "терять" ); love_N = nBol "любов" ; @@ -147,7 +147,7 @@ science_N = nEdinica "наук" ; sea_N = nProizvedenie "мор" ; seek_V2 = tvDir (mkRegVerb imperfective first "ищ" "у" "искал" "ищи" "искать" ); see_V2 = tvDir (mkRegVerb imperfective second "виж" "у" "видел" "видь" "видеть" ); -sell_V3 = tvDirDir (mkRegVerb imperfective first "прода" "ю" "продавал" "продавай" "продавать" ); +sell_V3 = tvDirDir (mkRegVerb imperfective firstE "прода" "ю" "продавал" "продавай" "продавать" ); send_V3 = tvDirDir (mkRegVerb imperfective first "посыла" "ю" "посылал" "посылай" "посылать" ); sheep_N = nMashina "овц" ; ship_N = nNol "корабл" ; @@ -157,7 +157,7 @@ shop_N = nTelefon "магазин" ; short_ADeg = mkADeg( AMalenkij "коротк") "короче" ; silver_N = nChislo "серебр" ; sister_N = nMashina "сестр" ; -sleep_V = mkRegVerb imperfective first "сп" "лю" "спал" "спи" "спать" ; +sleep_V = mkRegVerb imperfective second "сп" "лю" "спал" "спи" "спать" ; small_ADeg = mkADeg( AMalenkij "маленьк") "меньше" ; snake_N = nTetya"зме" ; sock_N = nPotolok "нос" ; @@ -185,7 +185,7 @@ ugly_ADeg = mkADeg( AStaruyj "некрасив") "некрасивее" ; understand_V2 = tvDir (mkRegVerb imperfective first "понима" "ю" "понимал" "понимай" "понимать" ); university_N = nTelefon "университет" ; village_N = nMalyariya "деревн" ; -wait_V2 = tvDir (mkRegVerb imperfective first "жд" "у" "ждал" "жди" "ждать" ); +wait_V2 = tvDir (mkRegVerb imperfective firstE "жд" "у" "ждал" "жди" "ждать" ); walk_V = mkRegVerb imperfective first "гуля" "ю" "гулял" "гуляй" "гулять" ; warm_ADeg = mkADeg( AStaruyj "тёпл") "теплее" ; war_N = nMashina "войн" ; @@ -207,7 +207,7 @@ young_ADeg = mkADeg( AMolodoj "молод") "моложе"; song_N = nTetya "песн" ; add_V3 = mkV3 (mkRegVerb imperfective first "складыва" "ю" "складывал" "складывай" "складывать" ) "" "в" accusative accusative; number_N = nChislo "числ" ; - put_V2 = tvDir (mkRegVerb imperfective second "лож" "у" "ложил" "ложи" "ложить" ); + put_V2 = tvDir (mkRegVerb imperfective firstE "клад" "у" "клал" "клади" "класть" ); stop_V = mkRegVerb imperfective first "останавлива" "ю" "останавливал" "останавливай" "останавливать"; jump_V = mkRegVerb imperfective first "прыга" "ю" "прыгал" "прыгай" "прыгать" ; here_Adv = mkAdv "здесь" ; diff --git a/lib/resource/russian/DemonstrativeRus.gf b/lib/resource/russian/DemonstrativeRus.gf new file mode 100644 index 000000000..3db81c172 --- /dev/null +++ b/lib/resource/russian/DemonstrativeRus.gf @@ -0,0 +1,7 @@ +--# -path=.:../abstract:../../prelude + +concrete DemonstrativeRus of Demonstrative = + CategoriesRus ** DemonstrativeI with + (Resource = ResourceRus), + (Basic = BasicRus), + (DemRes = DemResRus) ; diff --git a/lib/resource/russian/MultimodalRus.gf b/lib/resource/russian/MultimodalRus.gf new file mode 100644 index 000000000..d165523c9 --- /dev/null +++ b/lib/resource/russian/MultimodalRus.gf @@ -0,0 +1,8 @@ +--# -path=.:../abstract:../scandinavian:../../prelude + +concrete MultimodalRus of Multimodal = + RulesRus, StructuralRus, BasicRus, TimeRus, DemonstrativeRus ** MultimodalI with + (Resource = ResourceRus), + (Basic = BasicRus), + (Lang = LangRus), + (DemRes = DemResRus) ; diff --git a/lib/resource/russian/SwadeshLexRus.gf b/lib/resource/russian/SwadeshLexRus.gf new file mode 100644 index 000000000..1f6741d80 --- /dev/null +++ b/lib/resource/russian/SwadeshLexRus.gf @@ -0,0 +1,247 @@ +--# -path=.:../abstract:../../prelude + +concrete SwadeshLexRus of SwadeshLex = CategoriesRus + ** open ResourceRus, SyntaxRus, ParadigmsRus, + BasicRus, Prelude in { +flags coding=utf8 ; + lin + + -- Pronouns + + i_NP = i_NP ; + thou_NP = thou_NP ; + he_NP = he_NP ; + we_NP = we_NP ; + you_NP = you_NP ; + they_NP = they_NP ; + who8many_IP = who8many_IP ; + who8one_IP = who8one_IP ; + what8many_IP = what8many_IP ; + what8one_IP = what8one_IP ; + + -- Determiners + + this_Det = this_Det ; + that_Det = that_Det ; + all_NDet = all_NDet ; + many_Det = many_Det ; + some_Det = some_Det ; + few_Det = adjInvar "мало" ** {n = Sg; g = PNoGen; c= Nom} ; + other_Det = drugojDet ** {n = Sg; g = PNoGen; c= Nom} ; + + + -- Adverbs + + here_Adv = here_Adv ; + there_Adv = there_Adv ; + where_IAdv = where_IAdv ; + when_IAdv = when_IAdv ; + how_IAdv = how_IAdv ; + + -- not : Adv ; -- ? + + -- Conjunctions + + and_Conj = and_Conj ; + + -- Prepositions + + at_Prep = { s2 = "у" ; c = genitive} ; + in_Prep = { s2 = "в" ; c = prepositional} ; + with_Prep = { s2 = "с" ; c = instructive} ; + + -- Numerals + + one_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01)))) ; + two_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2))))) ; + three_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n3))))) ; + four_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n4))))) ; + five_Num = UseNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))) ; + + -- Adjectives + + bad_ADeg = bad_ADeg ; + big_ADeg = big_ADeg ; + black_ADeg = black_ADeg ; + cold_ADeg = cold_ADeg ; + correct_ADeg = mkADeg (AStaruyj "правильн") "правильнее"; + dirty_ADeg = dirty_ADeg ; + dry_ADeg = mkADeg (AMolodoj "сух") "суше"; + dull_ADeg = mkADeg (AStaruyj "скучн") "скучнее"; + far_ADeg = mkADeg (AKhoroshij "далекий") "дальше"; + full_ADeg = mkADeg (AStaruyj "полн") "полнее"; + good_ADeg = good_ADeg ; + green_ADeg = green_ADeg ; + heavy_ADeg = mkADeg (AStaruyj "тяжел") "тяжелее"; + left_A = AStaruyj "лев"; + long_ADeg = long_ADeg ; + narrow_ADeg = narrow_ADeg ; + near_ADeg = mkADeg (AMalenkij "близк") "ближе"; + new_ADeg = new_ADeg ; + old_ADeg = old_ADeg ; + red_ADeg = red_ADeg ; + right_A = AStaruyj "прав"; + rotten_ADeg = mkADeg (AMolodoj "гнил") "гнилее"; + round_ADeg = mkADeg (AStaruyj "кругл") "круглее"; + sharp_ADeg = mkADeg (AStaruyj "остр") "острее"; + short_ADeg = short_ADeg ; + small_ADeg = small_ADeg ; + smooth_ADeg = mkADeg (AMalenkij "гладк") "глаже"; + straight_ADeg = mkADeg (AMolodoj "прям") "прямее"; + thick_ADeg = thick_ADeg ; + thin_ADeg = thin_ADeg ; + warm_ADeg = warm_ADeg ; + wet_ADeg = mkADeg (AStaruyj "мокр") "мокрее"; + white_ADeg = white_ADeg ; + wide_ADeg = mkADeg (AMalenkij "широк") "шире"; + yellow_ADeg = yellow_ADeg ; + + + -- Nouns + + animal_N = nZhivotnoe "животн" ; + ashes_N = nPepel "пеп" ; + back_N = nMashina "спин" ; + bark_N = mkN "лай" "лая" "лаю" "лай" "лаем" "лае" "лаи" "лаев" "лаям" "лаи" "лаями" "лаях" masculine inanimate; + belly_N = nTelefon "живот" ; + bird_N = bird_N ; + blood_N = nBol "кров" ; + bone_N = nBol "кост" ; + breast_N = nBol "грудь" ; + child_N = child_N ; + cloud_N = nChislo "облак" ; + day_N = mkN "день" "дня" "дню" "день" "днём" "дне" "дни" "дней" "дням" "дни" "днями" "днях" masculine inanimate ; + dog_N = dog_N ; + dust_N = nBol "пыл" ; + ear_N = nChislo "ухо" ; + earth_N = nTetya "земл" ; + egg_N = nChislo "яйц" ; + eye_N = nAdres "глаз" ; + fat_N = nBank "жир" ; + father_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ; +-- father_N = UseN2 father_N2 ; + feather_N = mkN "перо" "пера" "перу" "пера" "пером" "пере" "перья" "перьев" "перьям" "перьев" "перьями" "перьях" neuter inanimate ; + fingernail_N = mkN "ноготь" "ногтя" "ногтю" "ногтя" "ногтем" "ногте" "ногти" "ногтей" "ногтям" "ногтей" "ногтями" "ногтях" masculine inanimate ; + fire_N = mkN "огонь" "огня" "огню" "огня" "огнём" "огне" "огни" "огней" "огням" "огней" "огнями" "огнях" masculine inanimate ; + fish_N = fish_N ; + flower_N = mkN "отец" "отца" "отцу" "отца" "отцом" "отце" "отцы" "отцов" "отцам" "отцов" "отцами" "отцах" masculine animate ; + fog_N = nTelefon "туман" ; + foot_N = nTetya "ступн" ; + forest_N = nAdres "лес" ; + fruit_N = fruit_N ; + grass_N = nMashina "трав" ; + guts_N = nBol "внутренност" ; + hair_N = nTelefon "волос" ; + hand_N = nNoga "рук" ; + head_N = nMashina "голов" ; + heart_N = mkN "сердце" "сердца" "сердцу" "сердца" "сердцем" "сердце" "сердца" "сердец" "сердцам" "сердец" "сердцами" "сердцах" neuter inanimate; + horn_N = nAdres "рог" ; + husband_N = mkN "муж" "мужа" "мужу" "мужа" "мужем" "муже" "мужья" "мужей" "мужьям" "мужей" "мужьями" "мужьях" masculine animate ; + ice_N = mkN "лёд" "льда" "льду" "льда" "льдом" "льде" "льды" "льдов" "льдам" "льдов" "льдами" "льдах" masculine inanimate ; + knee_N = mkN "колено" "колена" "колену" "колена" "коленом" "колене" "колени" "колен" "коленам" "колен" "коленями" "коленях" neuter inanimate ; + lake_N = lake_N ; + leaf_N = nStul "лист" ; + leg_N = nNoga "ног" ; + liver_N = nBol "печен" ; + louse_N = mkN "вошь" "вши" "вши" "вошь" "вошью" "вше" "вши" "вшей" "вшам" "вшей" "вшами" "вшах" feminine animate ; + man_N = man_N ; + meat_N = meat_N ; + moon_N = moon_N ; + mother_N = mkN "мать" "матери" "матери" "мать" "матерью" "матери" "матери" "матерей" "матерям" "матерей" "матерями" "матерях" feminine animate ; +--- mother_N = UseN2 mother_N2 ; + mountain_N = mountain_N ; + mouth_N = mkN "рот" "рта" "рту" "рот" "ртом" "рте" "рты" "ртов" "ртам" "рты" "ртами" "ртах" masculine inanimate; + name_N = mkN "имя" "имени" "имени" "имя" "именем" "имени" "имена" "имён" "именам" "имена" "именами" "именах" neuter inanimate; + neck_N = nTetya "ше" ; + night_N = nBol "ноч" ; + nose_N = nTelefon "нос" ; + person_N = nBol "личность" ; + rain_N = nNol "дожд" ; + river_N = river_N ; + road_N = nNoga "дорог" ; + root_N = nUroven "кор" ; + rope_N = nNoga "веревк" ; + salt_N = nBol "сол" ; + sand_N = mkN "песок" "песка" "песку" "песок" "песком" "песке" "пески" "песков" "пескам" "песков" "песками" "песках" masculine inanimate ; + sea_N = sea_N ; + seed_N = mkN "семя" "семени" "семении" "семя" "семенем" "семени" "семена" "семян" "семенам" "семена" "семенами" "семенах" neuter inanimate ; + skin_N = nEdinica "кож" ; + sky_N = mkN "небо" "неба" "небу" "небо" "небом" "небе" "небеса" "небес" "небесам" "небес" "небесами" "небесах" neuter inanimate ; + smoke_N = nTelefon "дым" ; + snake_N = snake_N ; + snow_N = nAdres "снег" ; + star_N = star_N ; + stick_N = nNoga "палк" ; + stone_N = stone_N ; + sun_N = sun_N ; + tail_N = nTelefon "хвост" ; + tongue_N = nBank "язык" ; + tooth_N = nTelefon "зуб" ; + tree_N = tree_N ; + water_N = water_N ; + wife_N = nMashina "жен" ; + wind_N = mkN "ветер" "ветра" "ветру" "ветер" "ветром" "ветра" "ветров" "ветра" "ветрам" "ветров" "ветрами" "ветрах" masculine inanimate ; + wing_N = mkN "крыло" "крыла" "крылу" "крыло" "крылом" "крыле" "крылья" "крыльев" "крыльям" "крылья" "крыльями" "крыльях" neuter inanimate ; + woman_N = woman_N ; + worm_N = nNol "черв" ; + year_N = nAdres "год" ; + + -- Verbs + + bite_V = mkRegVerb imperfective first "куса" "ю" "кусал" "кусай" "кусать"; + blow_V = mkRegVerb imperfective first "ду" "ю" "дул" "дуй" "дуть" ; + breathe_V = mkRegVerb imperfective second "дыш" "у" "дышал" "дыши" "дышать" ; + burn_V = mkRegVerb imperfective second "гор" "ю" "горел" "гори" "гореть" ; + come_V = come_V ; + count_V = mkRegVerb imperfective first "счита" "ю" "считал" "считай" "считать" ; + cut_V = mkRegVerb imperfective first "реж" "у" "резал" "режь" "резать" ; + die_V = die_V ; + dig_V = mkRegVerb imperfective first "копа" "ю" "копал" "копай" "копать" ; + drink_V = mkRegVerb imperfective firstE "пь" "ю" "пил" "пей" "пить" ; + eat_V = mkVerbum imperfective "ем" "ешь" "ест" "едим" "едите" "едят" "ел" "ешь" "есть" ; + fall_V = mkRegVerb imperfective first "пада" "ю" "падал" "падай" "падать" ; + fear_V = mkRegVerb imperfective second "бо" "ю" "боял" "бой" "боять" ; + fight_V = mkRegVerb imperfective firstE "дер" "у" "драл" "дери" "драть" ; + float_V = mkRegVerb imperfective firstE "плыв" "у" "плыл" "плыви" "плыть" ; + flow_V = mkRegVerb imperfective firstE "тек" "у" "тёк" "теки" "течь" ; + fly_V = mkRegVerb imperfective second "лета" "ю" "летал" "летай" "летать" ; + freeze_V = mkRegVerb imperfective first "замерза" "ю" "замерзал" "замерзай" "замерзать" ; + give_V = mkRegVerb imperfective firstE "да" "ю" "давал" "давай" "давать" ; + hear_V = mkRegVerb imperfective first "слыш" "у" "слышал" "слышь" "слышать" ; + hit_V = mkRegVerb imperfective first "ударя" "ю" "ударял" "ударяй" "ударять" ; + hold_V = mkRegVerb imperfective second "держ" "у" "держал" "держи" "держать" ; + hunt_V = mkRegVerb imperfective second "охоч" "у" "охотил" "охоть" "охотить" ; + kill_V = mkRegVerb imperfective first "убива" "ю" "убивал" "убивай" "убивать" ; + know_V = mkRegVerb imperfective first "зна" "ю" "знал" "знай" "знать" ; + laugh_V = mkRegVerb imperfective firstE "сме" "ю" "смеял" "смей" "смеять" ; + lie_V = mkRegVerb imperfective firstE "лг" "у" "лгал" "лги" "лгать" ; + live_V = live_V ; + play_V = mkRegVerb imperfective first "игра" "ю" "играл" "играй" "играть" ; + pull_V = mkRegVerb imperfective first "тян" "у" "тянул" "тяни" "тянуть" ; + push_V = mkRegVerb imperfective first "толка" "ю" "толкал" "толкай" "толкать" ; + rub_V = mkRegVerb imperfective firstE "тр" "у" "тёр" "три" "тереть" ; + say_V = mkRegVerb imperfective second "говор" "ю" "говорил" "говори" "говорить"; + scratch_V = mkRegVerb imperfective first "чеш" "у" "чесал" "чеши" "чесать" ; see_V = mkRegVerb imperfective second "смотр" "ю" "смотрел" "смотри" "смотреть" ; + sew_V = mkRegVerb imperfective firstE "шь" "ю" "шил" "шей" "шить" ; + sing_V = mkRegVerb imperfective firstE "по" "ю" "пел" "пой" "петь" ; + sit_V = mkVerbum imperfective "сижу" "сидишь" "сидит" "сидим" "сидите" "сидят" "сидел" "сиди" "сидеть" ; + sleep_V = sleep_V ; + smell_V = mkRegVerb imperfective first "пахн" "у" "пахнул" "пахни" "пахнуть" ; + spit_V = mkRegVerb imperfective firstE "плю" "ю" "плевал" "плюй" "плевать" ; + split_V = mkRegVerb imperfective first "разбива" "ю" "разбивал" "разбей" "разбивать" ; + squeeze_V = mkRegVerb imperfective first "сжима" "ю" "сжимал" "сжимай" "сжимать" ; + stab_V = mkRegVerb imperfective first "кол" "ю" "колол" "коли" "колоть" ; + stand_V = mkRegVerb imperfective second "сто" "ю" "стоял" "стой" "стоять" ; + suck_V = mkRegVerb imperfective firstE "сос" "у" "сосал" "соси" "сосать" ; + swell_V = mkRegVerb imperfective first "опуха" "ю" "опухал" "опухай" "опухать" ; + swim_V = mkRegVerb imperfective first "плава" "ю" "плавал" "плавай" "плавать" ; + think_V = mkRegVerb imperfective first "дума" "ю" "думал" "думай" "думать" ; + throw_V = mkRegVerb imperfective first "броса" "ю" "бросал" "бросай" "бросать" ; + tie_V = mkRegVerb imperfective first "вяж" "у" "вязал" "вяжи" "вязать" ; + turn_V = mkRegVerb imperfective first "поворачива" "ю" "поворачивал" "поворачивай" "поворачивать" ; + vomit_V = mkRegVerb imperfective firstE "рв" "у" "рвал" "рви" "рвать" ; + walk_V = walk_V ; + wash_V = mkRegVerb imperfective first "мо" "ю" "мыл" "мой" "мыть" ; + wipe_V = mkRegVerb imperfective first "вытира" "ю" "вытирал" "вытирай" "вытирать" ; + +};