mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
russian added operation for adding n prefix to pronouns after prepositions.
This commit is contained in:
@@ -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 =
|
||||||
|
|||||||
Reference in New Issue
Block a user