diff --git a/src/russian/ExtraRus.gf b/src/russian/ExtraRus.gf index 1ad7990f0..0b5d68b45 100644 --- a/src/russian/ExtraRus.gf +++ b/src/russian/ExtraRus.gf @@ -1,7 +1,7 @@ -- Seems like this is deprecated - need to use ExtendRus instead concrete ExtraRus of ExtraRusAbs = CatRus ** - open ResRus, MorphoRus, (P = ParadigmsRus), Prelude, NounRus in { + open ResRus, MorphoRus, (P=ParadigmsRus), Prelude, NounRus in { flags optimize=all ; coding=utf8 ; lin @@ -11,4 +11,50 @@ lin along_Prep = {s="по"; c=Loc; hasPrep=True} ; from2_Prep = from2 ; about_Prep = {s="о" ; c=Pre; hasPrep=True} ; + + have_V3 = P.mkV3 est_ell_V nom_Prep u_Prep; + have2_V3 = P.mkV3 est_V nom_Prep u_Prep; + have_not_V3 = P.mkV3 net_V nom_Prep u_Prep; + be_V3 = P.mkV3 be_ell_V nom_Prep dat_Prep; + +oper + nom_Prep : Prep = lin Prep {s="" ; c=Nom ; hasPrep=False} ; + dat_Prep : Prep = lin Prep {s="" ; c=Dat ; hasPrep=False} ; + u_Prep : Prep = lin Prep {s="у" ; c=Gen ; hasPrep=True} ; + est_V : V = lin V { + inf="есть"; + infrefl="" ; + prsg1, prsg2, prsg3, prpl1, prpl2, prpl3="есть"; + fut=BeFuture ; + psgm="был"; + psgs="бы"; + isg2=""; + isg2refl="" ; + ipl1=""; + pppss=""; + prtr=""; + ptr=""; + asp=Imperfective; + refl=NonReflexive; + tran=Transitive + } ; + est_ell_V = est_V ** {prsg1, prsg2, prsg3, prpl1, prpl2, prpl3=""} ; + be_ell_V = est_ell_V ** {inf=""} ; + net_V : V = lin V { + inf="нет"; + infrefl="" ; + prsg1, prsg2, prsg3, prpl1, prpl2, prpl3="нет"; + fut=BeFuture ; + psgm="не был"; + psgs="не бы"; + isg2=""; + isg2refl="" ; + ipl1=""; + pppss=""; + prtr=""; + ptr=""; + asp=Imperfective; + refl=NonReflexive; + tran=Transitive + } ; } \ No newline at end of file diff --git a/src/russian/ExtraRusAbs.gf b/src/russian/ExtraRusAbs.gf index d0e478669..cd7f6a35d 100644 --- a/src/russian/ExtraRusAbs.gf +++ b/src/russian/ExtraRusAbs.gf @@ -7,4 +7,8 @@ fun on_to_Prep : Prep ; along_Prep : Prep ; from2_Prep : Prep ; + have_V3 : V3 ; + have2_V3 : V3 ; + have_not_V3 : V3 ; + be_V3 : V3 ; } diff --git a/src/russian/NounRus.gf b/src/russian/NounRus.gf index 9a118206d..bfa589614 100644 --- a/src/russian/NounRus.gf +++ b/src/russian/NounRus.gf @@ -79,7 +79,7 @@ lin -- : Quant -> Num -> Det ; -- these five DetQuant quant num = { - s=\\g,a,c => num.s ! g ! a ! c ++ quant.s ! (gennum g (numSizeNumber num.size)) ! a ! c ; + s=\\g,a,c => quant.s ! (gennum g (numSizeNumber num.size)) ! a ! c ++ num.s ! g ! a ! c ; g=quant.g ; c=quant.c ; size=num.size