forked from GitHub/gf-core
Collapse some unnecessairly expanded cases in the russian morphology.
This commit is contained in:
@@ -2373,16 +2373,11 @@ oper PresentVerb : Type = PresentVF => Str ;
|
||||
|
||||
oper presentConjDolzhen: Str -> Str -> PresentVerb = \del, sgP1End ->
|
||||
table {
|
||||
PRF APl _ => del+ "ны" ;
|
||||
PRF (ASg Masc) P1 => del+ sgP1End ;
|
||||
PRF (ASg Fem) P1 => del+ "на" ;
|
||||
PRF (ASg Neut) P1 => del+ "но" ;
|
||||
PRF (ASg Masc) P2 => del+ sgP1End ;
|
||||
PRF (ASg Fem) P2 => del+ "на" ;
|
||||
PRF (ASg Neut) P2 => del+ "но" ;
|
||||
PRF (ASg Masc) P3 => del+ sgP1End ;
|
||||
PRF (ASg Fem) P3 => del+ "на" ;
|
||||
PRF (ASg Neut) P3 => del+ "но" };
|
||||
PRF APl _ => del + "ны" ;
|
||||
PRF (ASg Masc) _ => del + sgP1End ;
|
||||
PRF (ASg Fem) _ => del + "на" ;
|
||||
PRF (ASg Neut) _ => del + "но"
|
||||
};
|
||||
|
||||
-- +++ MG_UR: changed! +++
|
||||
oper presentConjMixed: Str -> Str -> PresentVerb = \del, sgP1End ->
|
||||
@@ -2610,25 +2605,13 @@ oper perfectiveActivePattern: Str -> Str -> PresentVerb -> PastVerb -> AspectVoi
|
||||
VIMP Pl P2 => imper+"те" ;
|
||||
VIMP Sg P3 => "пусть" ++ presentFuture ! (PRF (ASg Masc) P3) ;
|
||||
VIMP Pl P3 => "пусть" ++ presentFuture ! (PRF APl P3) ;
|
||||
VSUB (ASg Masc) => past ! (PSF (ASg Masc)) ++"бы";
|
||||
VSUB (ASg Fem) => past ! (PSF (ASg Fem)) ++"бы";
|
||||
|
||||
VSUB (ASg Neut) => past ! (PSF (ASg Neut) )++"бы";
|
||||
VSUB APl => past ! (PSF APl) ++"бы";
|
||||
VSUB gn => past ! (PSF gn) ++"бы";
|
||||
VIND (ASg _) (VPresent _) => [] ;
|
||||
VIND APl (VPresent P1) => nonExist ;
|
||||
VIND APl (VPresent P2) => nonExist ;
|
||||
VIND APl (VPresent P3) => [] ;
|
||||
VIND (ASg _) (VFuture P1) => presentFuture ! (PRF (ASg Masc) P1) ;
|
||||
VIND (ASg _) (VFuture P2) => presentFuture ! (PRF (ASg Masc) P2) ;
|
||||
VIND (ASg _) (VFuture P3) => presentFuture ! (PRF (ASg Masc) P3) ;
|
||||
VIND APl (VFuture P1) => presentFuture ! (PRF APl P1) ;
|
||||
VIND APl (VFuture P2) => presentFuture ! (PRF APl P2) ;
|
||||
VIND APl (VFuture P3) => presentFuture ! (PRF APl P3) ;
|
||||
VIND (ASg Masc) VPast => past ! (PSF (ASg Masc)) ;
|
||||
VIND (ASg Fem) VPast => past ! (PSF (ASg Fem) ) ;
|
||||
VIND (ASg Neut) VPast => past ! (PSF (ASg Neut)) ;
|
||||
VIND APl VPast => past ! (PSF APl)
|
||||
VIND gn (VFuture p) => presentFuture ! (PRF gn p) ;
|
||||
VIND gn VPast => past ! (PSF gn)
|
||||
} ;
|
||||
asp = Perfective
|
||||
} ;
|
||||
|
||||
@@ -109,15 +109,7 @@ oper
|
||||
|
||||
|
||||
oper
|
||||
extCase: PronForm -> Case = \pf -> case pf of
|
||||
{ PF Nom _ _ => Nom ;
|
||||
PF Gen _ _ => Gen ;
|
||||
PF Dat _ _ => Dat ;
|
||||
PF Inst _ _ => Inst ;
|
||||
PF Acc _ _ => Acc ;
|
||||
PF Prepos _ _ => Prepos ;
|
||||
PF Prepos2 _ _ => Prepos2 -- +++ MG_UR: added +++
|
||||
} ;
|
||||
extCase: PronForm -> Case = \pf -> case pf of { PF c _ _ => c } ;
|
||||
|
||||
mkPronForm: Case -> AfterPrep -> Possessive -> PronForm =
|
||||
\c,n,p -> PF c n p ;
|
||||
@@ -307,11 +299,7 @@ oper sam: Refl=
|
||||
|
||||
pgNum : PronGen -> Number -> GenNum = \g,n ->
|
||||
case n of
|
||||
{ Sg => case g of
|
||||
{ PGen Fem => ASg Fem ;
|
||||
PGen Masc => ASg Masc ;
|
||||
PGen Neut => ASg Neut ;
|
||||
_ => ASg Masc } ; -- assuming pronoun "I" is a male
|
||||
{ Sg => ASg (pgen2gen g) ; -- assuming pronoun "I" is a male
|
||||
Pl => APl
|
||||
} ;
|
||||
-- _ => variants {ASg Masc ; ASg Fem} } ;
|
||||
@@ -405,21 +393,8 @@ oper gg : Str -> Gender => Str = \s -> table {_ => s} ;
|
||||
|
||||
oper
|
||||
|
||||
numSF: SubstForm -> Number = \sf -> case sf of
|
||||
{
|
||||
SF Sg _ => Sg ;
|
||||
_ => Pl
|
||||
} ;
|
||||
numSF: SubstForm -> Number = \sf -> case sf of { SF n _ => n } ;
|
||||
|
||||
caseSF: SubstForm -> Case = \sf -> case sf of
|
||||
{
|
||||
SF _ Nom => Nom ;
|
||||
SF _ Gen => Gen ;
|
||||
SF _ Dat => Dat ;
|
||||
SF _ Inst => Inst ;
|
||||
SF _ Acc => Acc ;
|
||||
SF _ Prepos => Prepos ;
|
||||
SF _ Prepos2 => Prepos2 -- +++ MG_UR: added +++
|
||||
} ;
|
||||
caseSF: SubstForm -> Case = \sf -> case sf of { SF _ c => c } ;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user