mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
russian: more noun paradigm work
This commit is contained in:
@@ -348,8 +348,8 @@ foreign = Foreign; -- +++ MG_UR: added +++
|
|||||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"й" => nDecl6Masc stem ;
|
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"й" => nDecl6Masc stem ;
|
||||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"е" => nDecl6Neut stem ;
|
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"е" => nDecl6Neut stem ;
|
||||||
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"я" => nDecl6Fem stem ;
|
stem@(_+("а"|"е"|"ё"|"о"|"у"|"ы"|"э"|"ю"|"я"))+"я" => nDecl6Fem stem ;
|
||||||
-- stem+"ее" => nAdjectiveSoftNeut
|
-- stem+"ее" => nAdj (regA (stem+"ий")) Neut;
|
||||||
-- stem+"ое" => nAdjectiveHardNeut
|
-- stem+"ое" => nAdj (regA (stem+(iAfter stem)+"й")) Neut;
|
||||||
stem+"мя" => nDecl9 stem ;
|
stem+"мя" => nDecl9 stem ;
|
||||||
stem@(_+("ч"|"щ"|"ш"|"ж"|"п"|"эн"|"м"|"ф"))+"ь" => nDecl8 stem ;
|
stem@(_+("ч"|"щ"|"ш"|"ж"|"п"|"эн"|"м"|"ф"))+"ь" => nDecl8 stem ;
|
||||||
stem@(_+("д"|"т"|"ст"|"с"|"в"|"б"))+"ь" => nDecl8 stem ;
|
stem@(_+("д"|"т"|"ст"|"с"|"в"|"б"))+"ь" => nDecl8 stem ;
|
||||||
@@ -528,23 +528,6 @@ Paradigms:
|
|||||||
SF Pl (Prepos _) => stem+"ях" };
|
SF Pl (Prepos _) => stem+"ях" };
|
||||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||||
|
|
||||||
-- 8. Feminine ending in soft consonant
|
|
||||||
oper nDecl8 : Str -> N = \stem ->
|
|
||||||
{ s = table {
|
|
||||||
SF Sg Nom => stem+"ь";
|
|
||||||
SF Sg Gen => stem+"и" ;
|
|
||||||
SF Sg Dat => stem+"и" ;
|
|
||||||
SF Sg Acc => stem+"ь" ;
|
|
||||||
SF Sg Inst => stem+"ью" ;
|
|
||||||
SF Sg (Prepos _) => stem+"и" ;
|
|
||||||
SF Pl Nom => stem+"и" ;
|
|
||||||
SF Pl Gen => stem+"ей" ;
|
|
||||||
SF Pl Dat => stem+"ям" ;
|
|
||||||
SF Pl Acc => stem+"и" ;
|
|
||||||
SF Pl Inst => stem+"ями" ;
|
|
||||||
SF Pl (Prepos _) => stem+"ях" };
|
|
||||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
|
||||||
|
|
||||||
-- 6. Masc ending in -Vй (V = vowel)
|
-- 6. Masc ending in -Vй (V = vowel)
|
||||||
oper nDecl6Masc : Str -> N = \stem ->
|
oper nDecl6Masc : Str -> N = \stem ->
|
||||||
let n = regSoftMasc stem in
|
let n = regSoftMasc stem in
|
||||||
@@ -594,6 +577,25 @@ Paradigms:
|
|||||||
sf => n.s!sf };
|
sf => n.s!sf };
|
||||||
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
g = n.g; anim = n.anim } ** {lock_N = <>} ;
|
||||||
|
|
||||||
|
|
||||||
|
-- 8. Feminine ending in soft consonant
|
||||||
|
oper nDecl8 : Str -> N = \stem ->
|
||||||
|
let a : Str = case stem of { _+("ч"|"щ"|"ш"|"ж") => "а"; _ => "я" } in
|
||||||
|
{ s = table {
|
||||||
|
SF Sg Nom => stem+"ь";
|
||||||
|
SF Sg Gen => stem+"и" ;
|
||||||
|
SF Sg Dat => stem+"и" ;
|
||||||
|
SF Sg Acc => stem+"ь" ;
|
||||||
|
SF Sg Inst => stem+"ью" ;
|
||||||
|
SF Sg (Prepos _) => stem+"и" ;
|
||||||
|
SF Pl Nom => stem+"и" ;
|
||||||
|
SF Pl Gen => stem+"ей" ;
|
||||||
|
SF Pl Dat => stem+a+"м" ;
|
||||||
|
SF Pl Acc => stem+"и" ;
|
||||||
|
SF Pl Inst => stem+a+"ми" ;
|
||||||
|
SF Pl (Prepos _) => stem+a+"х" };
|
||||||
|
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||||
|
|
||||||
-- 9. Neut ending in -мя
|
-- 9. Neut ending in -мя
|
||||||
oper nDecl9 : Str -> N = \stem ->
|
oper nDecl9 : Str -> N = \stem ->
|
||||||
{ s = table {
|
{ s = table {
|
||||||
@@ -611,6 +613,15 @@ Paradigms:
|
|||||||
SF Pl (Prepos _) => stem+"менах" };
|
SF Pl (Prepos _) => stem+"менах" };
|
||||||
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
g = Fem; anim = Inanimate } ** {lock_N = <>} ;
|
||||||
|
|
||||||
|
-- Nouns inflected as adjectives.
|
||||||
|
oper nAdj : A -> Gender -> N = \a,g ->
|
||||||
|
{ s = table {
|
||||||
|
SF Sg c => a.s!Posit!AF c Inanimate (ASg g) ;
|
||||||
|
SF Pl c => a.s!Posit!AF c Inanimate APl };
|
||||||
|
g = g; anim = Inanimate } ** {lock_N = <>} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- An individual-valued function is a common noun together with the
|
-- An individual-valued function is a common noun together with the
|
||||||
-- preposition prefixed to its argument ("клZ+ о' дома").
|
-- preposition prefixed to its argument ("клZ+ о' дома").
|
||||||
-- The situation is analogous to two-place adjectives and transitive verbs.
|
-- The situation is analogous to two-place adjectives and transitive verbs.
|
||||||
|
|||||||
Reference in New Issue
Block a user