1
0
forked from GitHub/gf-core

The final fix of noun phrases with cardinal numbers in Russian

The support for variation of the noun depending on what cardinal it is
used with seems to be complete by now ("one child - two children -
five children" - Russian has different plural forms for "a child" when
counting). The case agreement in noun phrases that have additional
determiners besides numerals ("three little blind mice") is fixed too.
This commit is contained in:
Nikita Frolov
2012-01-16 17:15:08 +00:00
parent 8936c6d38e
commit 23f8ebe76e
11 changed files with 283 additions and 271 deletions

View File

@@ -87,19 +87,19 @@ concrete VerbRus of Verb = CatRus ** open ResRus, Prelude in {
CompCN zloj ={
s= \\clf,gn,p =>
let num = numGenNum gn ;
zlojsg = zloj.s ! NF Sg Nom ;
zlojpl = zloj.s ! NF Pl Nom
zlojsg = zloj.s ! NF Sg Nom nom ;
zlojpl = zloj.s ! NF Pl Nom plg
in
case clf of {
-- person is ignored !
ClInfinit => "быть" ++ zloj.s ! NF Sg Inst ;
ClInfinit => "быть" ++ zloj.s ! NF Sg Inst nom ;
ClImper => case gn of
{ (GSg _) => "будь" ++ zloj.s ! NF Sg Inst ;
GPl => "будьте" ++ zloj.s ! NF Pl Inst
{ (GSg _) => "будь" ++ zloj.s ! NF Sg Inst plg ;
GPl => "будьте" ++ zloj.s ! NF Pl Inst plg
};
-- infinitive does not save GenNum,
-- but indicative does for the sake of adjectival predication !
ClIndic Present _ => zloj.s ! NF num Nom ;
ClIndic Present _ => zloj.s ! NF num Nom nom ;
ClIndic PastRus _ => case gn of
{ (GSg Fem) => "была" ++ zlojsg ;
(GSg Masc) => "был" ++ zlojsg ;