diff --git a/lib/resource-1.4/russian/MorphoRus.gf b/lib/resource-1.4/russian/MorphoRus.gf index 978a782b3..d1ed8b9ce 100644 --- a/lib/resource-1.4/russian/MorphoRus.gf +++ b/lib/resource-1.4/russian/MorphoRus.gf @@ -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 } ; diff --git a/lib/resource-1.4/russian/ResRus.gf b/lib/resource-1.4/russian/ResRus.gf index 1364883ed..b8071c7ae 100644 --- a/lib/resource-1.4/russian/ResRus.gf +++ b/lib/resource-1.4/russian/ResRus.gf @@ -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 } ; }