russian added operation for adding n prefix to pronouns after prepositions.

This commit is contained in:
bjorn
2008-06-25 14:16:09 +00:00
parent 7dd461ab15
commit 408aa5b608

View File

@@ -67,45 +67,36 @@ oper pronYaTu : { s : Case => Str } -> Str -> Person -> Pronoun =
g = PNoGen ; n = Sg ; p = pers ; pron = True g = PNoGen ; n = Sg ; p = pers ; pron = True
} ; } ;
-- FIXME: do the possesives also get the n prefix?
oper pronOn: Pronoun = oper pronNAfterPrep : Pronoun -> Pronoun = \p ->
{ s = table { { s = table {
PF Nom _ NonPoss => "он" ; PF c Yes NonPoss => case p.s!(PF c No NonPoss) of {
PF Gen No NonPoss => "его" ; x@(("е"|"ё"|"и")+_) => "н"+x;
PF Gen Yes NonPoss => "него" ; x => x };
PF Dat No NonPoss => "ему" ; pf => p.s!pf };
PF Dat Yes NonPoss => "нему" ; g = p.g ; n = p.n ; p = p.p ; pron = p.pron
PF Acc No NonPoss => "его" ;
PF Acc Yes NonPoss => "него" ;
PF Inst No NonPoss => "им" ;
PF Inst Yes NonPoss => "ним" ;
PF (Prepos _) _ NonPoss => "нём" ;
PF _ _ (Poss _) => "его"
} ;
g = PGen Masc ;
n = Sg ;
p = P3 ;
pron = True
} ; } ;
oper pronOna: Pronoun = oper pronOn : Pronoun = pronNAfterPrep
{ s = table { { s = table {
PF Nom _ NonPoss => "она" ; PF _ _ (Poss _) => "его" ;
PF Gen No NonPoss => "её" ; PF Nom _ _ => "он" ;
PF Gen Yes NonPoss => "неё" ; PF (Gen|Acc) _ _ => "его" ;
PF Dat No NonPoss => "ей" ; PF Dat _ _ => "ему" ;
PF Dat Yes NonPoss => "ней" ; PF Inst _ _ => "им" ;
PF Acc No NonPoss => "её" ; PF (Prepos _) _ _ => "ём"
PF Acc Yes NonPoss => "неё" ;
PF Inst No NonPoss => "ей" ;
PF Inst Yes NonPoss => "ней" ;
PF (Prepos _) _ NonPoss => "ней" ;
PF _ _ (Poss _ ) => "её"
} ; } ;
g = PGen Fem ; g = PGen Masc ; n = Sg ; p = P3 ; pron = True
n = Sg ; } ;
p = P3 ;
pron = True oper pronOna : Pronoun = pronNAfterPrep
{ s = table {
PF _ _ (Poss _ ) => "её" ;
PF Nom _ NonPoss => "она" ;
PF (Gen|Acc) _ _ => "её" ;
PF (Dat|Inst|Prepos _) _ _ => "ей"
} ;
g = PGen Fem ; n = Sg ; p = P3 ; pron = True
} ; } ;
oper pronOno: Pronoun = oper pronOno: Pronoun =
@@ -155,24 +146,15 @@ oper pronMu: Pronoun = pronMuVu "мы" "на" P1;
oper pronVu: Pronoun = pronMuVu "вы" "ва" P2; oper pronVu: Pronoun = pronMuVu "вы" "ва" P2;
oper pronOni: Pronoun = oper pronOni: Pronoun = pronNAfterPrep
{ s = table { { s = table {
PF Nom _ NonPoss => "они" ; PF _ _ (Poss _) => "их" ;
PF Gen No NonPoss => "их" ; PF Nom _ _ => "они" ;
PF Gen Yes NonPoss => "них" ; PF Dat _ _ => "им" ;
PF Dat No NonPoss => "им" ; PF (Gen|Acc|Prepos _) _ _ => "их" ;
PF Dat Yes NonPoss => "ним" ; PF Inst _ _ => "ими"
PF Acc No NonPoss => "их" ;
PF Acc Yes NonPoss => "них" ;
PF Inst No NonPoss => "ими" ;
PF Inst Yes NonPoss => "ними" ;
PF (Prepos _) _ NonPoss => "них" ;
PF _ _ (Poss _) => "их"
} ; } ;
g = PNoGen ; g = PNoGen ; n = Pl ; p = P3 ; pron = True
n = Pl ;
p = P3 ;
pron = True
} ; } ;
oper pronKto: Pronoun = oper pronKto: Pronoun =