*** empty log message ***

This commit is contained in:
janna
2004-01-30 16:01:15 +00:00
parent 50c9ee9041
commit faf3edb236
3 changed files with 159 additions and 23 deletions
+1
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 = <>} ;
+156 -21
View File
@@ -332,17 +332,46 @@ oper pronVseInanimate: Pronoun =
oper SubstFormDecl = SS1 SubstForm ;
oper gorlo : CommNoun = oEndInAnimateDecl "горл" ;
oper gorlo : CommNoun = l_oEndInAnimateDecl "горл" ;
oper koleno : CommNoun = oEndInAnimateDecl "колен" ;
oper plecho : CommNoun = oEndInAnimateDecl "плеч" ;
oper ukho : CommNoun = oEndInAnimateDecl "ух" ;
oper ukho : CommNoun = oEnd_KH_InAnimateDecl "у" ;
oper zhivot : CommNoun = nullEndInAnimateDecl1 "живот" ;
oper grud : CommNoun = softSignEndDeclFem "груд" ;
oper spina : CommNoun = aEndG_K_KH_Decl "спин" ;
oper stopa : CommNoun = aEndG_K_KH_Decl "стоп" ;
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 } ;
oper zhenchina : CommNoun = (aEndAnimateDecl "женщин") ** { g = Fem ; anim = Animate } ;
@@ -382,6 +411,22 @@ oper nullEndAnimateDecl: Str -> CommNoun = \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
} ;
oper gripp : CommNoun = nullEndInAnimateDecl1 "грипп" ;
oper bar : CommNoun = nullEndInAnimateDecl1 "бар" ;
@@ -422,7 +467,8 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \gripp ->
SF Sg Inst => gripp+"ом" ;
SF Sg Prepos => gripp+"е" ;
SF Pl Nom => gripp+"а" ;
SF Pl Gen => gripp+"ов" ;
SF Pl Gen => gripp+"ов" ;
SF Pl Dat => gripp+"ам" ;
SF Pl Acc => gripp +"а";
SF Pl Inst => gripp+"ами" ;
@@ -430,6 +476,24 @@ oper nullEndInAnimateDecl2: Str -> CommNoun = \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+"ов" ;␍
SF Pl Dat => antibiotik+"ам" ;
SF Pl Acc => antibiotik +"и";
SF Pl Inst => antibiotik+"ами" ;
SF Pl Prepos => antibiotik+"ах"␍
} ;
g = Masc ; anim = Inanimate
} ;
oper obezbolivauchee : CommNoun = eeEndInAnimateDecl "обезболивающ" ;
oper eeEndInAnimateDecl: Str -> CommNoun = \obezbolivauch ->
@@ -450,6 +514,24 @@ oper eeEndInAnimateDecl: Str -> CommNoun = \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+"ых" ;
SF Pl Dat => snotvorn+"ым" ;
SF Pl Acc => snotvorn+"ые" ;
SF Pl Inst => snotvorn+"ыми" ;
SF Pl Prepos => snotvorn+"ых"
} ;
g = Neut ; anim = Inanimate
} ;
oper proizvedenie : CommNoun = eEndInAnimateDecl "произведени" ;
oper eEndInAnimateDecl: Str -> CommNoun = \proizvedeni ->
{ s = table
@@ -468,9 +550,9 @@ oper eEndInAnimateDecl: Str -> CommNoun = \proizvedeni ->
} ;
g = Neut ; anim = Inanimate
} ;
oper chislo : CommNoun = oEndInAnimateDecl "числ" ;
oper vino : CommNoun = oEndInAnimateDecl "вин" ;
oper oEndInAnimateDecl: Str -> CommNoun = \chisl ->
oper chislo : CommNoun = l_oEndInAnimateDecl "числ" ;
oper vino : CommNoun = l_oEndInAnimateDecl "вин" ;
oper l_oEndInAnimateDecl: Str -> CommNoun = \chisl ->
let { chis = Predef.tk 1 chisl ; ending = Predef.dp 3 chisl } in
oEndInAnimateDecl3 chisl (chis+"e"+ending) ;
oper oEndInAnimateDecl3: Str -> Str -> CommNoun = \chisl, chisel ->
@@ -491,6 +573,42 @@ oper oEndInAnimateDecl3: Str -> Str -> CommNoun = \chisl, chisel ->
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+"хом" ;␍␍
SF Sg Prepos => u+"хе" ;
SF Pl Nom => u+"ши" ;
SF Pl Gen => u +"шей";
SF Pl Dat => u+"шам" ;
SF Pl Acc => u+"ши" ;
SF Pl Inst => u+"шами" ;
SF Pl Prepos => u+"шах"␍
} ;
g = Neut ; anim = Inanimate
} ;
oper malaria : CommNoun = i_yaEndDecl "маляри" ;
oper i_yaEndDecl: Str -> CommNoun = \malar ->
{ s = table
@@ -580,7 +698,7 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
SF Sg Inst => nog+"ой" ;
SF Sg Prepos => nog+"е" ;
SF Pl Nom => nog+"и" ;
SF Pl Gen => nog ;
SF Pl Gen => nog ;
SF Pl Dat => nog+"ам" ;
SF Pl Acc => nog+ "и" ;
SF Pl Inst => nog+"ами" ;␍
@@ -589,12 +707,12 @@ oper aEndG_K_KH_Decl: Str -> CommNoun = \nog ->
g = Fem ; anim = Inanimate
} ;
oper golova : CommNoun = aEndInanimateDecl "голов" ;
oper mashina : CommNoun = aEndInanimateDecl "машин" ;
oper temperatura : CommNoun = aEndInanimateDecl "температур" ;
oper edinica : CommNoun = ej_aEndInanimateDecl "единиц" ;
oper golova : CommNoun = aEndInAnimateDecl "голов" ;
oper mashina : CommNoun = aEndInAnimateDecl "машин" ;
oper temperatura : CommNoun = aEndInAnimateDecl "температур" ;
oper edinica : CommNoun = ej_aEndInAnimateDecl "единиц" ;
oper aEndInanimateDecl: Str -> CommNoun = \golov ->
oper aEndInAnimateDecl: Str -> CommNoun = \golov ->
{ s = table
{ SF Sg Nom => golov+"а" ;
SF Sg Gen => golov+"ы" ;
@@ -611,7 +729,7 @@ oper aEndInanimateDecl: Str -> CommNoun = \golov ->
} ;
g = Fem ; anim = Inanimate
} ;
oper ej_aEndInanimateDecl: Str -> CommNoun = \ediniz ->
oper ej_aEndInAnimateDecl: Str -> CommNoun = \ediniz ->
{ s = table
{ SF Sg Nom => ediniz+"а" ;
SF Sg Gen => ediniz+"ы" ;
@@ -647,6 +765,22 @@ oper yaEndAnimateDecl: Str -> SubstFormDecl = \nyan ->
SF Pl Acc => nyan + "ей"
}
} ;
oper l_yaEndInAnimateDecl: Str -> SubstFormDecl = \kap ->
{s = table {
SF Sg Nom => kap + "ля" ;␍
SF Sg Gen => kap + "ли" ;
SF Sg Dat => kap + "ле" ;
SF Sg Acc => kap + "лю" ;
SF Sg Inst => kap + "лей" ;
SF Sg Prepos => kap + "ле" ;
SF Pl Nom => kap + "ли" ;
SF Pl Gen => kap + "ель" ;
SF Pl Inst => kap + "лями" ;
SF Pl Prepos => kap + "лях" ;
SF Pl Dat => kap + "лям" ;␍␍
SF Pl Acc => kap + "ли"
}
} ;
oper oEnd_Decl: Str -> CommNoun = \bolshinstv ->
{ s = table {
@@ -670,7 +804,7 @@ oper goEnd_SgDecl: Str -> CommNoun = \mno ->
{ s = table {
SF _ Nom => mno+"го" ;
SF _ Gen => mno +"гих";
SF _ Dat => mno+"гим" ;
SF _ Dat => mno+"гим" ;
SF _ Acc => mno+"го" ;
SF _ Inst => mno+"гими" ;
SF _ Prepos => mno+"гих"
@@ -726,7 +860,7 @@ oper eEnd_Decl: Str -> CommNoun = \vs ->
--2 Adjectives
-- Type Adjective only has positive degree while AdjDegr type
-- includes also comparative and superlative forms.
-- includes also comparative and superlative forms.
-- The later entries can be converted into the former using
-- "extAdjective" operation defined in the syntax module
-- and vice verca using "mkAdjDeg" operation.
@@ -737,6 +871,7 @@ oper
kazhdujDet: Adjective = uy_j_EndDecl "кажд" ;
samuj: Adjective = uy_j_EndDecl "сам" ;
lubojDet: Adjective = uy_oj_EndDecl "люб" ;
glaznoj: Adjective = uy_oj_EndDecl "глазн" ;
kotorujDet: Adjective = uy_j_EndDecl "котор";
nekotorujDet: Adjective = uy_j_EndDecl "некотор";
takoj: Adjective = i_oj_EndDecl "так" [];
@@ -807,7 +942,7 @@ oper etotDet: Adjective = {s = table {
AF Gen _ (ASg Fem) => "этой";
AF Gen _ (ASg Neut) => "этого";
AF Gen _ APl => "этих";
AF Inst _ (ASg Masc) => "этим";
AF Inst _ (ASg Masc) => "этим";
AF Inst _ (ASg Fem) => "этой";
AF Inst _ (ASg Neut) => "этим";
AF Inst _ APl => "этими";
@@ -952,7 +1087,7 @@ oper i_oj_EndDecl : Str -> Str -> Adjective = \s, chastica ->{s = table {
AdvF => "о"
}
} ;
oper molodoj: AdjDegr = mkAdjDeg (uy_oj_EndDecl "молод") "моложе";
oper molodoj: AdjDegr = mkAdjDeg (uy_oj_EndDecl "молод") "моложе";
oper uy_oj_EndDecl : Str -> Adjective = \s ->{s = table {
AF Nom _ (ASg Masc) => s+"ой";
AF Nom _ (ASg Fem) => s+"ая";
@@ -980,7 +1115,7 @@ oper uy_oj_EndDecl : Str -> Adjective = \s ->{s = table {
AF Prepos _ (ASg Fem) => s+"ой";
AF Prepos _ (ASg Neut) => s+"ом";
AF Prepos _ APl => s+"ых";
AdvF => "о"
AdvF => "о"
}
} ;
oper prostuzhen: Adjective = shortDecl1 "простужен" ;
@@ -1262,7 +1397,7 @@ oper
VIND (VFuture Pl P3) => ["будут "] + presentFuture ! (PRF APl P3) ;␍
VIND (VPast (ASg Masc)) => past ! (PSF (ASg Masc)) ;
VIND (VPast (ASg Fem)) => past ! (PSF (ASg Fem) ) ;
VIND (VPast (ASg Fem)) => past ! (PSF (ASg Fem) ) ;
VIND (VPast (ASg Neut) ) => past ! (PSF (ASg Neut)) ;
VIND (VPast APl) => past ! (PSF APl)
} ;
+2 -2
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 = <>};