*** empty log message ***

This commit is contained in:
janna
2004-01-30 16:01:15 +00:00
parent 45d0484894
commit c1e4f8ba84
10 changed files with 388 additions and 109 deletions

View File

@@ -163,6 +163,7 @@ oper
nEau = \eau -> mkN eau (eau + "z") ;
nCas = \cas -> mkN cas cas ;
nReg = \cas -> mkN cas (cas + "s") ;
nCheval = \cheval -> mkN cheval (Predef.tk 1 cheval + "ux") masculine ;
funPrep = \n,p -> n ** complement p ** {lock_Fun = <>} ;

View File

@@ -332,17 +332,46 @@ oper pronVseInanimate: Pronoun =
-- without any reference to the Gender parameter "g".
oper SubstFormDecl = SS1 SubstForm ;
oper gorlo : CommNoun = l_oEndInAnimateDecl "горл" ;
oper koleno : CommNoun = oEndInAnimateDecl "колен" ;
oper plecho : CommNoun = oEndInAnimateDecl "плеч" ;
oper plecho : CommNoun = oEndInAnimateDecl "плеч" ;
oper ukho : CommNoun = oEnd_KH_InAnimateDecl "у" ;
oper zhivot : CommNoun = nullEndInAnimateDecl1 "живот" ;
oper grud : CommNoun = softSignEndDeclFem "груд" ;
oper spina : CommNoun = aEndG_K_KH_Decl "спин" ;
oper grud : CommNoun = softSignEndDeclFem "груд" ;
oper ruka : CommNoun = aEndG_K_KH_Decl "рук" ;
oper spina : CommNoun = aEndInAnimateDecl "спин" ;
oper stopa : CommNoun = aEndInAnimateDecl "стоп" ;
oper astma : CommNoun = aEndInAnimateDecl "астм" ;
oper angina : CommNoun = aEndInAnimateDecl "ангин" ;
oper revmatizm : CommNoun = nullEndInAnimateDecl1 "ревматизм" ;
oper zapor : CommNoun = nullEndInAnimateDecl1 "запор" ;
oper ponos : CommNoun = nullEndInAnimateDecl1 "понос" ;
oper artrit : CommNoun = nullEndInAnimateDecl1 "артрит" ;
oper diabet : CommNoun = nullEndInAnimateDecl1 "диабет" ;
oper tsistit : CommNoun = nullEndInAnimateDecl1 "цистит" ;
oper izzhoga : CommNoun = aEndG_K_KH_Decl "изжог" ;
oper allergiya : CommNoun = i_yaEndDecl "аллерги" ;
oper viagra : CommNoun = aEndInAnimateDecl "виагр" ;
oper antidepressant : CommNoun = nullEndInAnimateDecl1 "антидепрессант" ;
oper insulin : CommNoun = nullEndInAnimateDecl1 "инсулин" ;
oper vitamin : CommNoun = nullEndInAnimateDecl1 "витамин" ;
oper antibiotik : CommNoun = nullEndInAnimateDecl3 "антибиотик" ;
oper kaplya : CommNoun = (l_yaEndInAnimateDecl "кап") ** {g = Fem; anim = Inanimate} ;
oper snotvornoe : CommNoun = oeEndInAnimateDecl "снотворн" ;
oper uspokoitelnoe : CommNoun = oeEndInAnimateDecl "успокоительн" ;
oper slabitelnoe : CommNoun = oeEndInAnimateDecl "слабительн" ;
oper urolog : CommNoun = nullEndAnimateDecl "уролог" ;
oper ginekolog : CommNoun = nullEndAnimateDecl "гинеколог" ;
oper nevropatolog : CommNoun = nullEndAnimateDecl "невропатолог" ;
oper dermatolog : CommNoun = nullEndAnimateDecl "дерматолог" ;
oper kardiolog : CommNoun = nullEndAnimateDecl "кардиолог" ;
oper terapevt : CommNoun = nullEndAnimateDecl2 "терапевт" ;
oper okulist : CommNoun = nullEndAnimateDecl2 "окулист" ;
oper pediatr : CommNoun = nullEndAnimateDecl2 "педиатр" ;
oper khirurg : CommNoun = nullEndAnimateDecl2 "хирург" ;
oper muzhchina : CommNoun = (aEndAnimateDecl "мужчин") ** { g = Masc ; anim = Animate } ;
@@ -382,6 +411,22 @@ oper nullEndAnimateDecl: Str -> CommNoun = \stomatolog ->
SF Pl Acc => stomatolog+"ов" ;
SF Pl Inst => stomatolog+"ами" ;
SF Pl Prepos => stomatolog+"ах" } ;
g = Masc ; anim = Animate
} ;
oper nullEndAnimateDecl2: Str -> CommNoun = \stomatolog ->
{s = table
{ SF Sg Nom => stomatolog ;
SF Sg Gen => stomatolog+"а" ;
SF Sg Dat => stomatolog+"у" ;
SF Sg Acc => stomatolog +"а" ;
SF Sg Inst => stomatolog+"ом" ;
SF Sg Prepos => stomatolog+"е" ;
SF Pl Nom => stomatolog+"ы" ;
SF Pl Gen => stomatolog+"ов" ;
SF Pl Dat => stomatolog+"ам" ;
SF Pl Acc => stomatolog+"ов" ;
SF Pl Inst => stomatolog+"ами" ;
SF Pl Prepos => stomatolog+"ах" } ;
g = Masc ; anim = Animate
@@ -422,7 +467,8 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp ->
{s = table
{ SF Sg Nom => gripp ;
SF Sg Dat => gripp+"у" ;
SF Sg Gen => gripp+"а" ;
SF Sg Dat => gripp+"у" ;
SF Sg Acc => gripp ;
SF Sg Inst => gripp+"ом" ;
SF Sg Prepos => gripp+"е" ;
@@ -430,6 +476,24 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp ->
SF Pl Gen => gripp+"ов" ;
SF Pl Dat => gripp+"ам" ;
SF Pl Acc => gripp +"а";
SF Pl Inst => gripp+"ами" ;
SF Pl Prepos => gripp+"ах"
} ;
g = Masc ; anim = Inanimate
} ;
oper nullEndInAnimateDecl3: Str -> CommNoun = \antibiotik ->
{s = table
{ SF Sg Nom => antibiotik ;
SF Sg Gen => antibiotik+"а" ;
SF Sg Dat => antibiotik+"у" ;
SF Sg Acc => antibiotik ;
SF Sg Inst => antibiotik+"ом" ;
SF Sg Prepos => antibiotik+"е" ;
SF Pl Nom => antibiotik+"и" ;
SF Pl Gen => antibiotik+"ов" ;
@@ -450,6 +514,24 @@ oper eeEndInAnimateDecl: Str -> CommNoun = \obezbolivauch ->
SF Sg Dat => obezbolivauch+"ему" ;
SF Sg Acc => obezbolivauch +"ее";
SF Sg Inst => obezbolivauch+"им" ;
SF Sg Prepos => obezbolivauch+"ем" ;
SF Pl Nom => obezbolivauch+"ие" ;
SF Pl Gen => obezbolivauch+"их" ;
SF Pl Dat => obezbolivauch+"им" ;
SF Pl Acc => obezbolivauch+"ие" ;
SF Pl Inst => obezbolivauch+"ими" ;
SF Pl Prepos => obezbolivauch+"их"
} ;
g = Neut ; anim = Inanimate
} ;
oper oeEndInAnimateDecl: Str -> CommNoun = \snotvorn ->
{ s = table
{ SF Sg Nom => snotvorn +"ое";
SF Sg Gen => snotvorn+"ого" ;
SF Sg Dat => snotvorn+"ому" ;
SF Sg Acc => snotvorn +"ое";
SF Sg Inst => snotvorn+"ым" ;
SF Sg Prepos => snotvorn+"ом" ;
SF Pl Nom => snotvorn+"ые" ;
SF Pl Gen => snotvorn+"ых" ;
@@ -468,9 +550,9 @@ oper eEndInAnimateDecl: Str -> CommNoun = \proizvedeni ->
SF Sg Gen => proizvedeni+"я" ;
SF Sg Dat => proizvedeni+"ю" ;
SF Sg Acc => proizvedeni +"е";
SF Pl Acc => proizvedeni+"я" ;
SF Pl Inst => proizvedeni+"ями" ;
SF Pl Prepos => proizvedeni+"ях"
SF Sg Inst => proizvedeni+"ем" ;
SF Sg Prepos => proizvedeni+"и" ;
SF Pl Nom => proizvedeni+"я" ;
SF Pl Gen => proizvedeni+"й" ;
SF Pl Dat => proizvedeni+"ям" ;
SF Pl Acc => proizvedeni+"я" ;
@@ -491,6 +573,42 @@ oper oEndInAnimateDecl3: Str -> Str -> CommNoun = \chisl, chisel ->
SF Sg Dat => chisl+"у" ;
SF Sg Acc => chisl +"о";
SF Sg Inst => chisl+"ом" ;
SF Sg Prepos => chisl+"е" ;
SF Pl Nom => chisl+"а" ;
SF Pl Gen => chisel;
SF Pl Dat => chisl+"ам" ;
SF Pl Acc => chisl+"а" ;
SF Pl Inst => chisl+"ами" ;
SF Pl Prepos => chisl+"ах"
} ;
g = Neut ; anim = Inanimate
} ;
oper oEndInAnimateDecl: Str -> CommNoun = \plech ->
{ s = table
{ SF Sg Nom => plech+"о" ;
SF Sg Gen => plech+"а" ;
SF Sg Dat => plech+"у" ;
SF Sg Acc => plech+"о" ;
SF Sg Inst => plech+"ом" ;
SF Sg Prepos => plech+"е" ;
SF Pl Nom => plech+"и" ;
SF Pl Gen => plech;
SF Pl Dat => plech+"ам" ;
SF Pl Acc => plech+"и" ;
SF Pl Inst => plech+"ами" ;
SF Pl Prepos => plech+"ях"
} ;
g = Neut ; anim = Inanimate
} ;
oper oEnd_KH_InAnimateDecl: Str -> CommNoun = \u ->
{ s = table
{ SF Sg Nom => u+"хо" ;
SF Sg Gen => u+"ха" ;
SF Sg Dat => u+"ху" ;
SF Sg Acc => u+"хо" ;
SF Sg Inst => u+"хом" ;
@@ -580,7 +698,7 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
SF Sg Inst => rem+"нем" ;
SF Sg Prepos => rem+"не" ;
oper doroga : CommNoun = aEndG_K_KH_Decl "дорог" ;
SF Pl Nom => rem+"ни" ;
SF Pl Gen => rem+"ней" ;
SF Pl Dat => rem+"ням" ;
SF Pl Acc => rem+"ни" ;
@@ -589,12 +707,12 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
} ;
g = Masc ; anim = Inanimate
} ;
SF Sg Inst => nog+"ой" ;
SF Sg Prepos => nog+"е" ;
SF Pl Nom => nog+"и" ;
SF Pl Gen => nog ;
oper noga : CommNoun = aEndG_K_KH_Decl "ног" ;
oper doroga : CommNoun = aEndG_K_KH_Decl "дорог" ;
oper dvojka : CommNoun = aEndG_K_KH_Decl "двойк" ;
oper butyulka : CommNoun = aEndG_K_KH_Decl "бутылк" ;
SF Pl Acc => nog+ "и" ;
oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
{ s = table {
SF Sg Nom => nog+"а" ;
SF Sg Gen => nog+"и" ;
@@ -611,7 +729,7 @@ oper aEndInanimateDecl: Str -> CommNoun = \golov ->
SF Pl Prepos => nog+"ах"
} ;
SF Sg Dat => golov+"е" ;
g = Fem ; anim = Inanimate
} ;
oper golova : CommNoun = aEndInAnimateDecl "голов" ;
@@ -647,6 +765,22 @@ oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan ->
SF Sg Prepos => ediniz+"е" ;
SF Pl Nom => ediniz+"ы" ;
SF Pl Gen => ediniz ;
SF Pl Dat => ediniz+"ам" ;
SF Pl Acc => ediniz+ "ы" ;
SF Pl Inst => ediniz+"ами" ;
SF Pl Prepos => ediniz+"ах"
} ;
g = Fem ; anim = Inanimate
} ;
oper dyadya : CommNoun = (yaEndAnimateDecl "дяд") ** {g = Masc; anim = Animate} ;
oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan ->
{s = table {
SF Sg Nom => nyan + "я" ;
SF Sg Gen => nyan + "и" ;
SF Sg Dat => nyan + "е" ;
SF Sg Acc => nyan + "ю" ;
SF Sg Inst => nyan + "ей" ;
@@ -670,7 +804,7 @@ oper goEnd_SgDecl: Str -> CommNoun = \mno ->
SF Sg Acc => kap + "лю" ;
SF Sg Inst => kap + "лей" ;
SF Sg Prepos => kap + "ле" ;
SF Sg Dat => bolshinstv+"у" ;
SF Pl Nom => kap + "ли" ;
SF Pl Gen => kap + "ель" ;
SF Pl Inst => kap + "лями" ;
SF Pl Prepos => kap + "лях" ;
@@ -726,7 +860,7 @@ oper eEnd_Decl: Str -> CommNoun = \vs ->
oper oEnd_SgDecl: Str -> CommNoun = \bolshinstv ->
{ s = table {
SF _ Nom => bolshinstv+"о" ;
SF Sg Nom => vs+"е" ;
SF _ Gen => bolshinstv+"а" ;
SF _ Dat => bolshinstv+"у" ;
SF _ Acc => bolshinstv+"о" ;
SF _ Inst => bolshinstv+"ом" ;
@@ -737,6 +871,7 @@ oper
-- Note: Now we consider only the plural form of the pronoun "все" (all)
-- treated as an adjective (see AllDetPl definition).
-- The meaning "entire" is not considered, which allows us to form
-- the pronoun-adjective from the substantive form below:
oper eEnd_Decl: Str -> CommNoun = \vs ->
@@ -807,7 +942,7 @@ oper etotDet: Adjective = {s = table {
AF Nom _ (ASg Neut) => "то";
AF Nom _ APl => "те";
AF Acc Inanimate (ASg Masc) => "тот";
AF Prepos _ (ASg Masc) => "том";
AF Acc Animate (ASg Masc) => "того";
AF Acc _ (ASg Fem) => "ту";
AF Acc _ (ASg Neut) => "то";
AF Acc Inanimate APl => "те";
@@ -952,7 +1087,7 @@ oper i_oj_EndDecl : Str -> Str -> Adjective = \s, chastica ->{s = table {
AF Inst _ (ASg Neut) => s+"им";
AF Inst _ APl => s+"ими";
AF Dat _ (ASg Masc) => s+"ому";
AF Nom _ APl => s+"ие"+ chastica ;
AF Dat _ (ASg Fem) => s+"ой";
AF Dat _ (ASg Neut) => s+"ому";
AF Dat _ APl => s+"им";
AF Prepos _ (ASg Masc) => s+"ом";
@@ -980,7 +1115,7 @@ oper uy_oj_EndDecl : Str -> Adjective = \s ->{s = table {
AF Gen _ (ASg Masc) => s+"ого"+ chastica ;
AF Gen _ (ASg Fem) => s+"ой"+ chastica ;
AF Gen _ (ASg Neut) => s+"ого"+ chastica ;
oper molodoj: AdjDegr = mkAdjDeg (uy_oj_EndDecl "молод") "моложе";
AF Gen _ APl => s+"их"+ chastica ;
AF Inst _ (ASg Masc) => s+"им"+ chastica ;
AF Inst _ (ASg Fem) => s+"ой"+ chastica ;
@@ -1262,7 +1397,7 @@ oper
VIMP Pl P2 => av.s! (VIMP Pl P2) +"сь";
VIMP Sg P3 => av.s ! (VIMP Sg P3) +"ся";
VIND (VFuture Pl P1) => av.s! (VIND (VFuture Pl P1) )+ "ся";
VIMP Pl P3 => av.s ! (VIMP Pl P3) +"ся";
VSUB (ASg Masc) => pv ! (PSF (ASg Masc)) + "ся"+[" бы"];
VSUB (ASg Fem) => pv ! (PSF (ASg Fem)) + "сь"+[" бы"];

View File

@@ -267,8 +267,8 @@ oper
anim = anim
} ** {lock_N = <>} ;
nMashina = \s -> aEndInanimateDecl s ** {lock_N = <>};
nEdinica = \s -> ej_aEndInanimateDecl s ** {lock_N = <>};
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 = <>};