Collapse some unnecessairly expanded cases in the russian morphology.

This commit is contained in:
bjorn
2008-06-23 13:27:51 +00:00
parent f47b1a7487
commit 74715f4673
2 changed files with 12 additions and 54 deletions

View File

@@ -2373,16 +2373,11 @@ oper PresentVerb : Type = PresentVF => Str ;
oper presentConjDolzhen: Str -> Str -> PresentVerb = \del, sgP1End -> oper presentConjDolzhen: Str -> Str -> PresentVerb = \del, sgP1End ->
table { table {
PRF APl _ => del+ "ны" ; PRF APl _ => del + "ны" ;
PRF (ASg Masc) P1 => del+ sgP1End ; PRF (ASg Masc) _ => del + sgP1End ;
PRF (ASg Fem) P1 => del+ "на" ; PRF (ASg Fem) _ => del + "на" ;
PRF (ASg Neut) P1 => del+ "но" ; PRF (ASg Neut) _ => 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+ "но" };
-- +++ MG_UR: changed! +++ -- +++ MG_UR: changed! +++
oper presentConjMixed: Str -> Str -> PresentVerb = \del, sgP1End -> oper presentConjMixed: Str -> Str -> PresentVerb = \del, sgP1End ->
@@ -2610,25 +2605,13 @@ oper perfectiveActivePattern: Str -> Str -> PresentVerb -> PastVerb -> AspectVoi
VIMP Pl P2 => imper+"те" ; VIMP Pl P2 => imper+"те" ;
VIMP Sg P3 => "пусть" ++ presentFuture ! (PRF (ASg Masc) P3) ; VIMP Sg P3 => "пусть" ++ presentFuture ! (PRF (ASg Masc) P3) ;
VIMP Pl P3 => "пусть" ++ presentFuture ! (PRF APl P3) ; VIMP Pl P3 => "пусть" ++ presentFuture ! (PRF APl P3) ;
VSUB (ASg Masc) => past ! (PSF (ASg Masc)) ++"бы"; VSUB gn => past ! (PSF gn) ++"бы";
VSUB (ASg Fem) => past ! (PSF (ASg Fem)) ++"бы";
VSUB (ASg Neut) => past ! (PSF (ASg Neut) )++"бы";
VSUB APl => past ! (PSF APl) ++"бы";
VIND (ASg _) (VPresent _) => [] ; VIND (ASg _) (VPresent _) => [] ;
VIND APl (VPresent P1) => nonExist ; VIND APl (VPresent P1) => nonExist ;
VIND APl (VPresent P2) => nonExist ; VIND APl (VPresent P2) => nonExist ;
VIND APl (VPresent P3) => [] ; VIND APl (VPresent P3) => [] ;
VIND (ASg _) (VFuture P1) => presentFuture ! (PRF (ASg Masc) P1) ; VIND gn (VFuture p) => presentFuture ! (PRF gn p) ;
VIND (ASg _) (VFuture P2) => presentFuture ! (PRF (ASg Masc) P2) ; VIND gn VPast => past ! (PSF gn)
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)
} ; } ;
asp = Perfective asp = Perfective
} ; } ;

View File

@@ -109,15 +109,7 @@ oper
oper oper
extCase: PronForm -> Case = \pf -> case pf of extCase: PronForm -> Case = \pf -> case pf of { PF c _ _ => c } ;
{ PF Nom _ _ => Nom ;
PF Gen _ _ => Gen ;
PF Dat _ _ => Dat ;
PF Inst _ _ => Inst ;
PF Acc _ _ => Acc ;
PF Prepos _ _ => Prepos ;
PF Prepos2 _ _ => Prepos2 -- +++ MG_UR: added +++
} ;
mkPronForm: Case -> AfterPrep -> Possessive -> PronForm = mkPronForm: Case -> AfterPrep -> Possessive -> PronForm =
\c,n,p -> PF c n p ; \c,n,p -> PF c n p ;
@@ -307,11 +299,7 @@ oper sam: Refl=
pgNum : PronGen -> Number -> GenNum = \g,n -> pgNum : PronGen -> Number -> GenNum = \g,n ->
case n of case n of
{ Sg => case g of { Sg => ASg (pgen2gen g) ; -- assuming pronoun "I" is a male
{ PGen Fem => ASg Fem ;
PGen Masc => ASg Masc ;
PGen Neut => ASg Neut ;
_ => ASg Masc } ; -- assuming pronoun "I" is a male
Pl => APl Pl => APl
} ; } ;
-- _ => variants {ASg Masc ; ASg Fem} } ; -- _ => variants {ASg Masc ; ASg Fem} } ;
@@ -405,21 +393,8 @@ oper gg : Str -> Gender => Str = \s -> table {_ => s} ;
oper oper
numSF: SubstForm -> Number = \sf -> case sf of numSF: SubstForm -> Number = \sf -> case sf of { SF n _ => n } ;
{
SF Sg _ => Sg ;
_ => Pl
} ;
caseSF: SubstForm -> Case = \sf -> case sf of caseSF: SubstForm -> Case = \sf -> case sf of { SF _ c => c } ;
{
SF _ Nom => Nom ;
SF _ Gen => Gen ;
SF _ Dat => Dat ;
SF _ Inst => Inst ;
SF _ Acc => Acc ;
SF _ Prepos => Prepos ;
SF _ Prepos2 => Prepos2 -- +++ MG_UR: added +++
} ;
} }