This commit is contained in:
janna
2006-05-26 09:59:30 +00:00
parent 0d7406a7f0
commit 40dcf1c0d6
11 changed files with 531 additions and 826 deletions

View File

@@ -6,9 +6,14 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
lincat lincat
-- Phrase
Utt, Voc = {s : Str} ;
-- Tensed/Untensed -- Tensed/Untensed
S = {s : Str} ; S = {s : Str} ;
SC = {s : Str} ;
QS = {s : QForm => Str} ; QS = {s : QForm => Str} ;
RS = {s : GenNum => Case => Animacy => Str} ; RS = {s : GenNum => Case => Animacy => Str} ;
@@ -23,7 +28,7 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
QCl = {s :Polarity => ClForm => QForm => Str}; QCl = {s :Polarity => ClForm => QForm => Str};
IP = { s : PronForm => Str ; n : Number ; p : Person ; IP = { s : PronForm => Str ; n : Number ; p : Person ;
g: PronGen ; anim : Animacy ; pron: Bool} ; g: PronGen ; anim : Animacy ; pron: Bool} ;
IComp = {s : Str} ; IAdv, IComp = {s : Str} ;
IDet = Adjective ** {n: Number; g: PronGen; c: Case} ; IDet = Adjective ** {n: Number; g: PronGen; c: Case} ;
-- Relative -- Relative
@@ -60,6 +65,10 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
QuantSg, QuantPl , Det = {s : AdjForm => Str; n: Number; g: PronGen; c: Case} ; QuantSg, QuantPl , Det = {s : AdjForm => Str; n: Number; g: PronGen; c: Case} ;
Predet, Quant= {s : AdjForm => Str; g: PronGen; c: Case} ; Predet, Quant= {s : AdjForm => Str; g: PronGen; c: Case} ;
-- Adverb
Adv, AdV, AdA, AdS, AdN = {s : Str} ;
-- Numeral -- Numeral
Num, Numeral = {s : Case => Gender => Str} ; Num, Numeral = {s : Case => Gender => Str} ;
@@ -71,6 +80,8 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
Conj = {s : Str ; n : Number} ; Conj = {s : Str ; n : Number} ;
DConj = {s1,s2 : Str ; n : Number} ; DConj = {s1,s2 : Str ; n : Number} ;
PConj = {s : Str} ;
CAdv = {s : Str} ;
Subj = {s : Str} ; Subj = {s : Str} ;
Prep = {s : Str ; c: Case } ; Prep = {s : Str ; c: Case } ;

View File

@@ -1,28 +0,0 @@
--# -path=.:../abstract:../common:../../prelude
concrete ExtRus of ExtRusAbs = CatRus ** open ResRus in {
--
-- lincat
--
-- Aux = {s : Polarity => Str} ;
--
-- lin
--
-- PredAux np aux vp = mkClause (np.s ! Nom) np.a {
-- s = \\t,ant,b,ord,agr =>
-- let
-- fin = aux.s ! b ;
-- vf : Str -> Str -> {fin, inf : Str} = \x,y ->
-- {fin = x ; inf = y} ;
-- in
-- case ant of {
-- Simul => vf fin [] ;
-- Anter => vf fin "have"
-- } ;
-- s2 = \\agr => infVP vp agr
-- } ;
--
-- can_Aux = {s = \\p => posneg p "can"} ; ---- cannt
-- must_Aux = {s = \\p => posneg p "must"} ;
--
}

View File

@@ -14,6 +14,13 @@ concrete IdiomRus of Idiom = CatRus ** open Prelude, ResRus, MorphoRus in {
} }
} ; } ;
ExistIP Kto =
let { kto = Kto.s ! (PF Nom No NonPoss) } in
{s = \\b,clf,_ => case b of
{Pos => kto ++ verbByut.s ! (getActVerbForm clf (pgen2gen Kto.g) Sg P3) ;
Neg => kto ++ "не" ++ verbByut.s ! (getActVerbForm clf (pgen2gen Kto.g) Sg P3)
}
} ;
ImpersCl vp = {s= \\ b, clf => let ne= case b of {Pos =>[]; Neg =>""} ImpersCl vp = {s= \\ b, clf => let ne= case b of {Pos =>[]; Neg =>""}
in in

View File

@@ -1,14 +1,12 @@
--# -path=.:../abstract:../common:../../prelude --# -path=.:../abstract:../common:../../prelude
concrete LangRus of Lang = concrete LangRus of Lang =
NounRus, NounRus,
VerbRus, VerbRus,
AdjectiveRus, AdjectiveRus,
AdverbRus, AdverbRus,
NumeralRus, NumeralRus,
SentenceRus, SentenceRus,
QuestionRus, QuestionRus,
RelativeRus, RelativeRus,
ConjunctionRus, ConjunctionRus,
@@ -16,7 +14,4 @@ concrete LangRus of Lang =
TextX, TextX,
StructuralRus, StructuralRus,
IdiomRus, IdiomRus,
LexiconRus ** { flags startcat = Phr ; unlexer = text ; lexer = text ;} ;
LexiconRus
** { flags startcat = Phr ; unlexer = text ; lexer = text ;} ;

View File

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

View File

@@ -310,6 +310,38 @@ oper pronChtoTo: Pronoun =
p = P3 ; p = P3 ;
pron = False pron = False
} ; } ;
oper pronEti: Pronoun =
{ s = table {
PF Nom _ _ => "эти" ;
PF Gen _ _ => "этих" ;
PF Dat _ _ => "этим" ;
PF Acc _ _ => "этих" ;
PF Inst _ _ => "этими" ;
PF Prepos _ _ => "этих"
} ;
n = Pl;
p = P3;
g= PGen Fem ;
anim = Animate ;
pron = False
} ;
oper pronTe: Pronoun =
{ s = table {
PF Nom _ _ => "те" ;
PF Gen _ _ => "тех" ;
PF Dat _ _ => "тем" ;
PF Acc _ _ => "тех" ;
PF Inst _ _ => "теми" ;
PF Prepos _ _ => "тех"
} ;
n = Pl;
p = P3;
g=PGen Fem ;
anim = Animate ;
pron = False
} ;
--oper pronNikto: Pronoun = --oper pronNikto: Pronoun =
-- { s = table { -- { s = table {
@@ -1229,32 +1261,32 @@ oper vesDet: Adjective = {s = table {
AF Dat _ (ASg Masc) => "ему"; AF Dat _ (ASg Masc) => "ему";
AF Dat _ (ASg Fem) => "ей"; AF Dat _ (ASg Fem) => "ей";
AF Dat _ (ASg Neut) => "ему"; AF Dat _ (ASg Neut) => "ему";
AF Dat _ APl => "всем"; AF Dat _ APl => "всем";
AF Prepos _ (ASg Masc) => "всём"; AF Prepos _ (ASg Masc) => "всём";
AF Prepos _ (ASg Fem) => "всей"; AF Prepos _ (ASg Fem) => "всей";
AF Prepos _ (ASg Neut) => "всём"; AF Prepos _ (ASg Neut) => "всём";
AF Prepos _ APl => "всех" ; AF Prepos _ APl => "всех" ;
AdvF => "полностью" AdvF => "полностью"
} }
} ; } ;
oper uy_j_EndDecl : Str -> Adjective = \s ->{s = table { oper uy_j_EndDecl : Str -> Adjective = \s ->{s = table {
AF Nom _ (ASg Masc) => s+"ый"; AF Nom _ (ASg Masc) => Prelude.glue s "ый";
AF Nom _ (ASg Fem) => s+"ая"; AF Nom _ (ASg Fem) => Prelude.glue s "ая";
AF Nom _ (ASg Neut) => s+"ое"; AF Nom _ (ASg Neut) => Prelude.glue s "ое";
AF Nom _ APl => s+"ые"; AF Nom _ APl => Prelude.glue s "ые";
AF Acc Inanimate (ASg Masc) => s+"ый"; AF Acc Inanimate (ASg Masc) => Prelude.glue s "ый";
AF Acc Animate (ASg Masc) => s+"ого"; AF Acc Animate (ASg Masc) => Prelude.glue s "ого";
AF Acc _ (ASg Fem) => s+"ую"; AF Acc _ (ASg Fem) => Prelude.glue s "ую";
AF Acc _ (ASg Neut) => s+"ое"; AF Acc _ (ASg Neut) => Prelude.glue s "ое";
AF Acc Inanimate APl => s+"ые"; AF Acc Inanimate APl => Prelude.glue s "ые";
AF Acc Animate APl => s+"ых"; AF Acc Animate APl => Prelude.glue s "ых";
AF Gen _ (ASg Masc) => s+"ого"; AF Gen _ (ASg Masc) => Prelude.glue s "ого";
AF Gen _ (ASg Fem) => s+"ой"; AF Gen _ (ASg Fem) => Prelude.glue s "ой";
AF Gen _ (ASg Neut) => s+"ого"; AF Gen _ (ASg Neut) => Prelude.glue s "ого";
AF Gen _ APl => s+"ых"; AF Gen _ APl => Prelude.glue s "ых";
AF Inst _ (ASg Masc) => s+"ым"; AF Inst _ (ASg Masc) => Prelude.glue s "ым";
AF Inst _ (ASg Fem) => s+"ой"; AF Inst _ (ASg Fem) => Prelude.glue s "ой";
AF Inst _ (ASg Neut) => s+"ым"; AF Inst _ (ASg Neut) => Prelude.glue s "ым";
AF Inst _ APl => Prelude.glue s "ыми"; AF Inst _ APl => Prelude.glue s "ыми";
AF Dat _ (ASg Masc) => Prelude.glue s "ому"; AF Dat _ (ASg Masc) => Prelude.glue s "ому";
AF Dat _ (ASg Fem) => Prelude.glue s "ой"; AF Dat _ (ASg Fem) => Prelude.glue s "ой";
@@ -1493,6 +1525,7 @@ param Conjugation = First | FirstE | Second | Mixed | Dolzhen;
---- Dummy verbum "have" that corresponds to the phrases like ---- Dummy verbum "have" that corresponds to the phrases like
---- "I have a headache" in English. The corresponding sentence ---- "I have a headache" in English. The corresponding sentence
---- in Russian doesn't contain a verb: ---- in Russian doesn't contain a verb:
--
--oper have: Verbum = {s=\\ vf => "-" ; asp = Imperfective} ; --oper have: Verbum = {s=\\ vf => "-" ; asp = Imperfective} ;
-- --
---- There are two common conjugations ---- There are two common conjugations
@@ -1533,6 +1566,8 @@ oper verbDolzhen : Verbum = verbDecl Imperfective Dolzhen "долж" "ен" "д
-- --
-- Irregular Mixed: -- Irregular Mixed:
oper verbKhotet : Verbum = verbDecl Imperfective Mixed "хоч" "у" "хотел" "хоти" "хотеть"; oper verbKhotet : Verbum = verbDecl Imperfective Mixed "хоч" "у" "хотел" "хоти" "хотеть";
-- Irregular
oper verbDolzhen : Verbum = verbDecl Imperfective Dolzhen "долж" "ен" "долж" ["будь должен"] ["быть должным"] ; oper verbDolzhen : Verbum = verbDecl Imperfective Dolzhen "долж" "ен" "долж" ["будь должен"] ["быть должным"] ;
-- To reduces the redundancies in the definitions -- To reduces the redundancies in the definitions

View File

@@ -36,6 +36,26 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
pron = np.pron pron = np.pron
} ; } ;
PPartNP np v2 = {
s = \\pf => np.s ! pf ++ v2.s ! VFORM Act VINF ;
-- no participles in the Verbum type as they behave as adjectives
n = np.n;
p = np.p;
g = np.g;
anim = np.anim;
pron = np.pron
} ;
AdvNP np adv = {
s = \\pf => np.s ! pf ++ adv.s ;
n = np.n;
p = np.p;
g = np.g;
anim = np.anim;
pron = np.pron
} ;
DetSg quant ord = { DetSg quant ord = {
s = \\af => quant.s!af ++ ord.s!af ; s = \\af => quant.s!af ++ ord.s!af ;
n = quant.n; n = quant.n;
@@ -62,17 +82,15 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
-- so just leave a decimal representation, without case-suffixes: -- so just leave a decimal representation, without case-suffixes:
NumInt i = {s = table { _ => table {_ => i.s } } } ; NumInt i = {s = table { _ => table {_ => i.s } } } ;
{- -- OrdInt n = case n of {
OrdInt n = case n of { -- 0|2|6 => (uy_oj_EndDecl n.s) ;
0|2|6 => (uy_oj_EndDecl n.s) ; -- 3 => (ti_j_EndDecl n.s) ;
3 => (ti_j_EndDecl n.s) ; -- _ => uy_j_EndDecl n.s } ;
_ => uy_j_EndDecl n.s } ;
OrdNumeral numeral = OrdNumeral numeral =
{s = \\ af => (uy_j_EndDecl (numeral.s ! caseAF af ! genAF af)).s!af} ; {s = \\ af => (uy_j_EndDecl (numeral.s ! caseAF af ! genAF af)).s!af} ;
-}
NumNumeral n = n ;
NumNumeral n = n ;
AdNum adn num = {s = \\c,n => adn.s ++ num.s!c!n} ; AdNum adn num = {s = \\c,n => adn.s ++ num.s!c!n} ;

View File

@@ -23,12 +23,12 @@ param
Animacy = Animate | Inanimate ; Animacy = Animate | Inanimate ;
Voice = Act | Pass ; Voice = Act | Pass ;
Aspect = Imperfective | Perfective ; Aspect = Imperfective | Perfective ;
-- RusTense = Present | Past | Future ; RusTense = Present | PastRus | Future ;
-- Degree = Pos | Comp | Super ; -- Degree = Pos | Comp | Super ;
AfterPrep = Yes | No ; AfterPrep = Yes | No ;
Possessive = NonPoss | Poss GenNum ; Possessive = NonPoss | Poss GenNum ;
-- Anteriority = Simul | Anter ; -- Anteriority = Simul | Anter ;
ClForm = ClIndic Tense Anteriority | ClCondit | ClInfinit | ClImper; ClForm = ClIndic RusTense Anteriority | ClCondit | ClInfinit | ClImper;
-- "naked infinitive" clauses -- "naked infinitive" clauses
-- A number of Russian nouns have common gender. They can -- A number of Russian nouns have common gender. They can
@@ -178,7 +178,7 @@ oper
-- Depending on the tense verbs conjugate according to combinations -- Depending on the tense verbs conjugate according to combinations
-- of gender, person and number of the verb objects. -- of gender, person and number of the verb objects.
-- Participles (Present and Past) and Gerund forms are not included in the -- Participles (Present and PastRus) and Gerund forms are not included in the
-- current description. This is the verb type used in the lexicon: -- current description. This is the verb type used in the lexicon:
oper Verbum : Type = { s: VerbForm => Str ; asp : Aspect }; oper Verbum : Type = { s: VerbForm => Str ; asp : Aspect };
@@ -190,8 +190,12 @@ param
VTense = VPresent Person | VPast | VFuture Person ; VTense = VPresent Person | VPast | VFuture Person ;
oper oper
getVTense : Tense -> Person -> VTense= \t,p -> getVTense : RusTense -> Person -> VTense= \t,p ->
case t of { Present => VPresent p ; Past => VPast; Future => VFuture p } ; case t of { Present => VPresent p ; PastRus => VPast; Future => VFuture p } ;
getTense : Tense -> RusTense= \t ->
case t of { Pres => Present ; Past => PastRus; _ => Future} ;
getVoice: VerbForm -> Voice = \vf -> getVoice: VerbForm -> Voice = \vf ->
case vf of { case vf of {
@@ -203,7 +207,7 @@ Nom => "";
Gen => "себя"; Gen => "себя";
Dat=> "себе"; Dat=> "себе";
Acc => "себя"; Acc => "себя";
Instr => "собой"; Inst => "собой";
Prep =>"себе"}; Prep =>"себе"};
Verb : Type = {s : ClForm => GenNum => Person => Str ; asp : Aspect ; w: Voice} ; Verb : Type = {s : ClForm => GenNum => Person => Str ; asp : Aspect ; w: Voice} ;
@@ -256,7 +260,7 @@ param
oper oper
getActVerbForm : ClForm -> Gender -> Number -> Person -> VerbForm = \clf,g,n, p -> case clf of getActVerbForm : ClForm -> Gender -> Number -> Person -> VerbForm = \clf,g,n, p -> case clf of
{ ClIndic Future _ => VFORM Act (VIND (gNum g n) (VFuture p)); { ClIndic Future _ => VFORM Act (VIND (gNum g n) (VFuture p));
ClIndic Past _ => VFORM Act (VIND (gNum g n) VPast); ClIndic PastRus _ => VFORM Act (VIND (gNum g n) VPast);
ClIndic Present _ => VFORM Act (VIND (gNum g n) (VPresent p)); ClIndic Present _ => VFORM Act (VIND (gNum g n) (VPresent p));
ClCondit => VFORM Act (VSUB (gNum g n)); ClCondit => VFORM Act (VSUB (gNum g n));
ClInfinit => VFORM Act VINF ; ClInfinit => VFORM Act VINF ;
@@ -387,324 +391,4 @@ oper
SF _ Prepos => Prepos SF _ Prepos => Prepos
} ; } ;
-- oper
-- agrP3 : Number -> Agr = \n ->
-- {n = n ; p = P3} ;
--
-- conjAgr : Agr -> Agr -> Agr = \a,b -> {
-- n = conjNumber a.n b.n ;
-- p = conjPerson a.p b.p
-- } ;
--
---- For $Lex$.
--
---- For each lexical category, here are the worst-case constructors.
--
-- mkNoun : (_,_,_,_ : Str) -> {s : Number => Case => Str} =
-- \man,mans,men,mens -> {
-- s = table {
-- Sg => table {
-- Gen => mans ;
-- _ => man
-- } ;
-- Pl => table {
-- Gen => mens ;
-- _ => men
-- }
-- }
-- } ;
--
-- mkAdjective : (_,_,_,_ : Str) -> {s : AForm => Str} =
-- \good,better,best,well -> {
-- s = table {
-- AAdj Posit => good ;
-- AAdj Compar => better ;
-- AAdj Superl => best ;
-- AAdv => well
-- }
-- } ;
--
-- mkVerb : (_,_,_,_,_ : Str) -> Verb =
-- \go,goes,went,gone,going -> {
-- s = table {
-- VInf => go ;
-- VPres => goes ;
-- VPast => went ; --# notpresent
-- VPPart => gone ;
-- VPresPart => going
-- } ;
-- isRefl = False
-- } ;
--
-- mkIP : (i,me,my : Str) -> Number -> {s : Case => Str ; n : Number} =
-- \i,me,my,n -> let who = mkNP i me my n P3 in {s = who.s ; n = n} ;
--
-- mkNP : (i,me,my : Str) -> Number -> Person -> {s : Case => Str ; a : Agr} =
-- \i,me,my,n,p -> {
-- s = table {
-- Nom => i ;
-- Acc => me ;
-- Gen => my
-- } ;
-- a = {
-- n = n ;
-- p = p
-- }
-- } ;
--
---- These functions cover many cases; full coverage inflectional patterns are
---- in $MorphoRus$.
--
-- regN : Str -> {s : Number => Case => Str} = \car ->
-- mkNoun car (car + "'s") (car + "s") (car + "s'") ;
--
-- regA : Str -> {s : AForm => Str} = \warm ->
-- mkAdjective warm (warm + "er") (warm + "est") (warm + "ly") ;
--
-- regV : Str -> Verb = \walk ->
-- mkVerb walk (walk + "s") (walk + "ed") (walk + "ed") (walk + "ing") ;
--
-- regNP : Str -> Number -> {s : Case => Str ; a : Agr} = \that,n ->
-- mkNP that that (that + "'s") n P3 ;
--
---- We have just a heuristic definition of the indefinite article.
---- There are lots of exceptions: consonantic "e" ("euphemism"), consonantic
---- "o" ("one-sided"), vocalic "u" ("umbrella").
--
-- artIndef = pre {
-- "a" ;
-- "an" / strs {"a" ; "e" ; "i" ; "o" ; "A" ; "E" ; "I" ; "O" }
-- } ;
--
-- artDef = "the" ;
--
---- For $Verb$.
--
-- Verb : Type = {
-- s : VForm => Str ;
-- isRefl : Bool
-- } ;
--
-- VerbForms : Type =
-- Tense => Anteriority => Polarity => Order => Agr => {fin, inf : Str} ;
--
-- VP : Type = {
-- s : VerbForms ;
-- prp : Str ; -- present participle
-- inf : Str ; -- infinitive
-- ad : Str ;
-- s2 : Agr => Str
-- } ;
--
----- The order gets wrong with AdV, but works around a parser
----- generation bug.
--
-- predV : Verb -> VP = \verb -> {
-- s = \\t,ant,b,ord,agr =>
-- let
-- inf = verb.s ! VInf ;
-- fin = presVerb verb agr ;
-- part = verb.s ! VPPart ;
-- vf : Str -> Str -> {fin, inf : Str} = \x,y ->
-- {fin = x ; inf = y} ;
-- in
-- case <t,ant,b,ord> of {
-- <Pres,Simul,Pos,ODir> => vf fin [] ; --- should be opp
-- <Pres,Simul,Pos,OQuest> => vf (does agr) inf ;
-- <Pres,Anter,Pos,_> => vf (have agr) part ; --# notpresent
-- <Pres,Anter,Neg,_> => vf (havent agr) part ; --# notpresent
-- <Past,Simul,Pos,ODir> => vf (verb.s ! VPast) [] ; --# notpresent --- should be opp
-- <Past,Simul,Pos,OQuest> => vf "did" inf ; --# notpresent
-- <Past,Simul,Neg,_> => vf "didn't" inf ; --# notpresent
-- <Past,Anter,Pos,_> => vf "had" part ; --# notpresent
-- <Past,Anter,Neg,_> => vf "hadn't" part ; --# notpresent
-- <Fut, Simul,Pos,_> => vf "will" inf ; --# notpresent
-- <Fut, Simul,Neg,_> => vf "won't" inf ; --# notpresent
-- <Fut, Anter,Pos,_> => vf "will" ("have" ++ part) ; --# notpresent
-- <Fut, Anter,Neg,_> => vf "won't" ("have" ++ part) ; --# notpresent
-- <Cond,Simul,Pos,_> => vf "would" inf ; --# notpresent
-- <Cond,Simul,Neg,_> => vf "wouldn't" inf ; --# notpresent
-- <Cond,Anter,Pos,_> => vf "would" ("have" ++ part) ; --# notpresent
-- <Cond,Anter,Neg,_> => vf "wouldn't" ("have" ++ part) ; --# notpresent
-- <Pres,Simul,Neg,_> => vf (doesnt agr) inf
-- } ;
-- prp = verb.s ! VPresPart ;
-- inf = verb.s ! VInf ;
-- ad = [] ;
-- s2 = \\a => if_then_Str verb.isRefl (reflPron ! a) []
-- } ;
--
-- predAux : Aux -> VP = \verb -> {
-- s = \\t,ant,b,ord,agr =>
-- let
-- inf = verb.inf ;
-- fin = verb.pres ! b ! agr ;
-- part = verb.ppart ;
-- vf : Str -> Str -> {fin, inf : Str} = \x,y ->
-- {fin = x ; inf = y} ;
-- in
-- case <t,ant,b,ord> of {
-- <Pres,Anter,Pos,_> => vf (have agr) part ; --# notpresent
-- <Pres,Anter,Neg,_> => vf (havent agr) part ; --# notpresent
-- <Past,Simul,_, _> => vf (verb.past ! b ! agr) [] ; --# notpresent
-- <Past,Anter,Pos,_> => vf "had" part ; --# notpresent
-- <Past,Anter,Neg,_> => vf "hadn't" part ; --# notpresent
-- <Fut, Simul,Pos,_> => vf "will" inf ; --# notpresent
-- <Fut, Simul,Neg,_> => vf "won't" inf ; --# notpresent
-- <Fut, Anter,Pos,_> => vf "will" ("have" ++ part) ; --# notpresent
-- <Fut, Anter,Neg,_> => vf "won't" ("have" ++ part) ; --# notpresent
-- <Cond,Simul,Pos,_> => vf "would" inf ; --# notpresent
-- <Cond,Simul,Neg,_> => vf "wouldn't" inf ; --# notpresent
-- <Cond,Anter,Pos,_> => vf "would" ("have" ++ part) ; --# notpresent
-- <Cond,Anter,Neg,_> => vf "wouldn't" ("have" ++ part) ; --# notpresent
-- <Pres,Simul,_, _> => vf fin []
-- } ;
-- prp = verb.prpart ;
-- inf = verb.inf ;
-- ad = [] ;
-- s2 = \\_ => []
-- } ;
--
-- insertObj : (Agr => Str) -> VP -> VP = \obj,vp -> {
-- s = vp.s ;
-- prp = vp.prp ;
-- inf = vp.inf ;
-- ad = vp.ad ;
-- s2 = \\a => vp.s2 ! a ++ obj ! a
-- } ;
--
----- The adverb should be before the finite verb.
--
-- insertAdV : Str -> VP -> VP = \adv,vp -> {
-- s = vp.s ;
-- prp = vp.prp ;
-- inf = vp.inf ;
-- ad = vp.ad ++ adv ;
-- s2 = \\a => vp.s2 ! a
-- } ;
--
----
--
-- predVV : {s : VVForm => Str ; isAux : Bool} -> VP = \verb ->
-- let verbs = verb.s
-- in
-- case verb.isAux of {
-- True => predAux {
-- pres = table {
-- Pos => \\_ => verbs ! VVF VPres ;
-- Neg => \\_ => verbs ! VVPresNeg
-- } ;
-- past = table { --# notpresent
-- Pos => \\_ => verbs ! VVF VPast ; --# notpresent
-- Neg => \\_ => verbs ! VVPastNeg --# notpresent
-- } ; --# notpresent
-- inf = verbs ! VVF VInf ;
-- ppart = verbs ! VVF VPPart ;
-- prpart = verbs ! VVF VPresPart ;
-- } ;
-- _ => predV {s = \\vf => verbs ! VVF vf ; isRefl = False}
-- } ;
--
-- presVerb : {s : VForm => Str} -> Agr -> Str = \verb ->
-- agrVerb (verb.s ! VPres) (verb.s ! VInf) ;
--
-- infVP : Bool -> VP -> Agr -> Str = \isAux,vp,a ->
-- if_then_Str isAux [] "to" ++
-- vp.inf ++ vp.s2 ! a ;
--
-- agrVerb : Str -> Str -> Agr -> Str = \has,have,agr ->
-- case agr of {
-- {n = Sg ; p = P3} => has ;
-- _ => have
-- } ;
--
-- have = agrVerb "has" "have" ;
-- havent = agrVerb "hasn't" "haven't" ;
-- does = agrVerb "does" "do" ;
-- doesnt = agrVerb "doesn't" "don't" ;
--
-- Aux = {
-- pres : Polarity => Agr => Str ;
-- past : Polarity => Agr => Str ; --# notpresent
-- inf,ppart,prpart : Str
-- } ;
--
-- auxBe : Aux = {
-- pres = \\b,a => case <b,a> of {
-- <Pos,{n = Sg ; p = P1}> => "am" ;
-- <Neg,{n = Sg ; p = P1}> => ["am not"] ; --- am not I
-- _ => agrVerb (posneg b "is") (posneg b "are") a
-- } ;
-- past = \\b,a => case a of { --# notpresent
-- {n = Sg ; p = P1|P3} => (posneg b "was") ; --# notpresent
-- _ => (posneg b "were") --# notpresent
-- } ; --# notpresent
-- inf = "be" ;
-- ppart = "been" ;
-- prpart = "being"
-- } ;
--
-- posneg : Polarity -> Str -> Str = \p,s -> case p of {
-- Pos => s ;
-- Neg => s + "n't"
-- } ;
--
-- conjThat : Str = "that" ;
--
-- reflPron : Agr => Str = table {
-- {n = Sg ; p = P1} => "myself" ;
-- {n = Sg ; p = P2} => "yourself" ;
-- {n = Sg ; p = P3} => "itself" ; ----
-- {n = Pl ; p = P1} => "ourselves" ;
-- {n = Pl ; p = P2} => "yourselves" ;
-- {n = Pl ; p = P3} => "themselves"
-- } ;
--
---- For $Sentence$.
--
-- Clause : Type = {
-- s : Tense => Anteriority => Polarity => Order => Str
-- } ;
--
-- mkClause : Str -> Agr -> VP -> Clause =
-- \subj,agr,vp -> {
-- s = \\t,a,b,o =>
-- let
-- verb = vp.s ! t ! a ! b ! o ! agr ;
-- compl = vp.s2 ! agr
-- in
-- case o of {
-- ODir => subj ++ verb.fin ++ vp.ad ++ verb.inf ++ compl ;
-- OQuest => verb.fin ++ subj ++ vp.ad ++ verb.inf ++ compl
-- }
-- } ;
--
--
---- For $Numeral$.
--
-- mkNum : Str -> Str -> Str -> Str -> {s : DForm => CardOrd => Str} =
-- \two, twelve, twenty, second ->
-- {s = table {
-- unit => table {NCard => two ; NOrd => second} ;
-- teen => \\c => mkCard c twelve ;
-- ten => \\c => mkCard c twenty
-- }
-- } ;
--
-- regNum : Str -> {s : DForm => CardOrd => Str} =
-- \six -> mkNum six (six + "teen") (six + "ty") (regOrd six) ;
--
-- regCardOrd : Str -> {s : CardOrd => Str} = \ten ->
-- {s = table {NCard => ten ; NOrd => regOrd ten}} ;
--
-- mkCard : CardOrd -> Str -> Str = \c,ten ->
-- (regCardOrd ten).s ! c ;
--
-- regOrd : Str -> Str = \ten ->
-- case last ten of {
-- "y" => init ten + "ieth" ;
-- _ => ten + "th"
-- } ;
--
} }

View File

@@ -70,10 +70,10 @@ concrete SentenceRus of Sentence = CatRus ** open Prelude, ResRus in {
EmbedS s = {s = "что" ++ s.s} ; EmbedS s = {s = "что" ++ s.s} ;
-- In Russian "Whether you go" transformed in "go whether you": -- In Russian "Whether you go" transformed in "go whether you":
EmbedQS qs = {s = qs.s ! QIndir} ; EmbedQS qs = {s = qs.s ! QIndir} ;
EmbedVP vp = {s = vp.s!ClInfinit!(ASg Masc) !P3} ; EmbedVP vp = {s = vp.s!ClInfinit!(ASg Masc) !P3} ;
UseCl t a p cl = {s = cl.s! p.p ! ClIndic t.t a.a}; UseCl t a p cl = {s = cl.s! p.p ! ClIndic (getTense t.t) a.a};
UseQCl t a p qcl= {s = qcl.s!p.p! ClIndic (getTense t.t) a.a }; UseQCl t a p qcl= {s = qcl.s!p.p! ClIndic (getTense t.t) a.a };
UseRCl t a p rcl ={s = rcl.s! p.p ! ClIndic (getTense t.t) a.a }; UseRCl t a p rcl ={s = rcl.s! p.p ! ClIndic (getTense t.t) a.a };

View File

@@ -1,7 +1,7 @@
--# -path=.:../abstract:../common:../../prelude --# -path=.:../abstract:../common:../../prelude
concrete StructuralRus of Structural = CatRus ** concrete StructuralRus of Structural = CatRus **
open ResRus, MorphoRus, (P = ParadigmsRus), Prelude,NounRus in { open ResRus, MorphoRus, (P = ParadigmsRus), Prelude, NounRus, in {
flags optimize=all ; coding=utf8 ; flags optimize=all ; coding=utf8 ;
@@ -38,7 +38,6 @@ lin
everything_NP = UsePron (pronVseInanimate ** {lock_Pron=<>}) ; everything_NP = UsePron (pronVseInanimate ** {lock_Pron=<>}) ;
everywhere_Adv = ss "везде" ; everywhere_Adv = ss "везде" ;
few_Det = (ij_EndK_G_KH_Decl "немног") **{lock_Det= <>; n= Sg; g = PNoGen; c = Nom}; -- AMalenkij few_Det = (ij_EndK_G_KH_Decl "немног") **{lock_Det= <>; n= Sg; g = PNoGen; c = Nom}; -- AMalenkij
first_Ord = (uy_j_EndDecl "перв" ) ** {lock_A = <>}; --AStaruyj first_Ord = (uy_j_EndDecl "перв" ) ** {lock_A = <>}; --AStaruyj
from_Prep = { s = "от" ; c = Gen }; from_Prep = { s = "от" ; c = Gen };
he_Pron = pronOn ; he_Pron = pronOn ;
@@ -59,9 +58,6 @@ lin
-- inanimate, Sg: "большинство телефонов безмолству-ет" -- inanimate, Sg: "большинство телефонов безмолству-ет"
-- most8many_Det = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ; -- most8many_Det = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ;
-- animate, Pl: "большинство учащихся хорошо подготовлен-ы" -- animate, Pl: "большинство учащихся хорошо подготовлен-ы"
much_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous much_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous
must_VV = verbDolzhen ; must_VV = verbDolzhen ;
no_Phr = ss ["Нет ."] ; no_Phr = ss ["Нет ."] ;
@@ -75,8 +71,6 @@ lin
please_Voc = ss "пожалуйста" ; please_Voc = ss "пожалуйста" ;
possess_Prep = { s = "" ; c = Gen}; --- ?? AR 19/2/2004 possess_Prep = { s = "" ; c = Gen}; --- ?? AR 19/2/2004
quite_Adv = ss "довольно" ; quite_Adv = ss "довольно" ;
she_Pron = pronOna ; she_Pron = pronOna ;
so_AdA = ss "так"; so_AdA = ss "так";
somebody_NP = UsePron (pronKtoTo** {lock_Pron = <>}); somebody_NP = UsePron (pronKtoTo** {lock_Pron = <>});
@@ -84,22 +78,14 @@ lin
somePl_Det = nekotorujDet ** {n = Pl; g = PNoGen; c= Nom} ; somePl_Det = nekotorujDet ** {n = Pl; g = PNoGen; c= Nom} ;
something_NP = UsePron (pronChtoTo** {lock_Pron=<> }) ; something_NP = UsePron (pronChtoTo** {lock_Pron=<> }) ;
somewhere_Adv = ss "где-нибудь" ; somewhere_Adv = ss "где-нибудь" ;
these_NP = UsePron (pronEti** {lock_Pron = <>}); -- missing in Russian
those_NP = UsePron (pronTe** {lock_Pron = <>}); -- missing in Russian
{-
these_NP n = { s =\\_ => "“”"; n = Pl; p = P3; g= PGen Fem ;
anim = Animate ; pron = True} ; -- missing in Russian
those_NP n = { s =\\_ => "“”" ; n = Pl; p = P3; g=PGen Fem ;
anim = Animate ; pron = True} ; -- missing in Russian
-}
that_Quant = totDet ** {n = Sg; g = PNoGen; c= Nom} ; that_Quant = totDet ** {n = Sg; g = PNoGen; c= Nom} ;
that_NP = det2NounPhrase totDet ; -- inanimate form only that_NP = det2NounPhrase totDet ; -- inanimate form only
there_Adv = ss "там" ; there_Adv = ss "там" ;
there7to_Adv = ss "туда" ; there7to_Adv = ss "туда" ;
there7from_Adv = ss "оттуда" ; there7from_Adv = ss "оттуда" ;
therefore_PConj = ss "следовательно" ; therefore_PConj = ss "следовательно" ;
-- these_NDet = etotDet ** { g = PNoGen; c= Nom} ; -- these_NDet = etotDet ** { g = PNoGen; c= Nom} ;
-- they8fem_NP = UsePron pronOni Animate; -- they8fem_NP = UsePron pronOni Animate;
they_Pron = pronOni; they_Pron = pronOni;
@@ -113,8 +99,6 @@ lin
under_Prep = { s = "под" ; c = Inst }; under_Prep = { s = "под" ; c = Inst };
very_AdA = ss "очень" ; very_AdA = ss "очень" ;
want_VV = verbKhotet ; want_VV = verbKhotet ;
we_Pron = pronMu ; we_Pron = pronMu ;
whatPl_IP = pron2NounPhraseNum pronChto Inanimate Pl; whatPl_IP = pron2NounPhraseNum pronChto Inanimate Pl;
whatSg_IP = pron2NounPhraseNum pronChto Inanimate Sg; whatSg_IP = pron2NounPhraseNum pronChto Inanimate Sg;
@@ -146,7 +130,5 @@ lin
--- NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ; --- NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ;
--- NowhereNP = ss "нигде" ; --- NowhereNP = ss "нигде" ;
--- AgentPrep = { s = "" ; c = Nom}; -- missing in Russian --- AgentPrep = { s = "" ; c = Nom}; -- missing in Russian
} }

View File

@@ -9,7 +9,7 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
{ s=\\clf,gn,p => case clf of { s=\\clf,gn,p => case clf of
{ {
(ClIndic Present _) => masha.s ! (mkPronForm Nom No NonPoss) ; (ClIndic Present _) => masha.s ! (mkPronForm Nom No NonPoss) ;
(ClIndic Past _) => case gn of (ClIndic PastRus _) => case gn of
{ (ASg Fem) =>"была"++masha.s ! (mkPronForm Inst No NonPoss); { (ASg Fem) =>"была"++masha.s ! (mkPronForm Inst No NonPoss);
(ASg Masc) =>"был" ++ masha.s!(mkPronForm Inst No NonPoss); (ASg Masc) =>"был" ++ masha.s!(mkPronForm Inst No NonPoss);
(ASg Neut) =>"было" ++ masha.s!(mkPronForm Inst No NonPoss); (ASg Neut) =>"было" ++ masha.s!(mkPronForm Inst No NonPoss);
@@ -52,7 +52,7 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
}; };
-- infinitive does not save GenNum, -- infinitive does not save GenNum,
-- but indicative does for the sake of adjectival predication ! -- but indicative does for the sake of adjectival predication !
ClIndic Present _ => zloj.s ! AF Nom Animate gn ; ClIndic Present _ => zloj.s ! AF Nom Animate gn ;
ClIndic PastRus _ => case gn of ClIndic PastRus _ => case gn of
{ (ASg Fem) => "была" ++ zloj.s! AF Nom Animate (ASg Fem); { (ASg Fem) => "была" ++ zloj.s! AF Nom Animate (ASg Fem);
@@ -97,7 +97,7 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
{ s= \\clf,gn,p => case clf of { { s= \\clf,gn,p => case clf of {
ClImper => case gn of ClImper => case gn of
{ ASg _ => "будь" ++ zloj.s; -- person is ignored ! { ASg _ => "будь" ++ zloj.s; -- person is ignored !
APl => "будьте" ++ zloj.s APl => "будьте" ++ zloj.s
}; };
ClInfinit => "быть" ++ zloj.s; ClInfinit => "быть" ++ zloj.s;
ClIndic Present _ => zloj.s ; ClIndic Present _ => zloj.s ;