diff --git a/src/russian/ExtendRus.gf b/src/russian/ExtendRus.gf index f7aad0ee..a48c9b16 100644 --- a/src/russian/ExtendRus.gf +++ b/src/russian/ExtendRus.gf @@ -154,7 +154,10 @@ lin ++ vps.compl1 ! Pos ! a ++ vps.compl2 ! Pos ! a ++ vps.c.s ; -- - isPost = False ; + isPost = case vps.isSimple of { + True => False ; + False => True + } ; preferShort=PreferFull } ; diff --git a/src/russian/ResRus.gf b/src/russian/ResRus.gf index e7003910..8830011c 100644 --- a/src/russian/ResRus.gf +++ b/src/russian/ResRus.gf @@ -613,6 +613,7 @@ oper compl1 : ComplTable ; compl2 : ComplTable ; c : ComplementCase ; + isSimple : Bool ; -- regulates the place of participle used as adjective } ; ---- slashV : VerbForms -> ComplementCase -> VPSlash = \verb,c -> { @@ -622,6 +623,7 @@ oper compl2 = \\_,a => [] ; dep = [] ; c = c ; + isSimple = True } ; insertSlashObjA : Adjective -> ComplementCase -> VPSlash -> VPSlash = \ap,c,slash -> { @@ -643,6 +645,7 @@ oper } ; c = {s="" ; c=Acc ; neggen=True ; hasPrep=False}; dep = slash.dep ; + isSimple = False } ; insertSlashObj1 : (Polarity => Agr => Str) -> ComplementCase -> VPSlash -> VPSlash = \obj,c,slash -> { @@ -652,6 +655,7 @@ oper compl2 = slash.compl2 ; c = slash.c ; dep = slash.dep ; + isSimple = False } ; insertSlashObj2 : (Polarity => Agr => Str) -> ComplementCase -> VPSlash -> VPSlash = \obj,c,slash -> { @@ -661,6 +665,7 @@ oper compl2 =\\p,a => slash.compl2 ! p ! a ++ obj ! p ! a; c = slash.c ; dep = slash.dep ; + isSimple = False } ; diff --git a/src/russian/VerbRus.gf b/src/russian/VerbRus.gf index 5363e79f..73dd6d5c 100644 --- a/src/russian/VerbRus.gf +++ b/src/russian/VerbRus.gf @@ -126,13 +126,13 @@ lin AdVVP adv vp = vp ** {adv=\\a => adv.s ++ vp.adv ! a} ; -- : VPSlash -> Adv -> VPSlash ; -- use (it) here - AdvVPSlash vps adv = vps ** {compl=\\p,a => vps.compl ! p ! a ++ adv.s} ; + AdvVPSlash vps adv = vps ** {compl1=\\p,a => vps.compl1 ! p ! a ++ adv.s; isSimple=False} ; -- : AdV -> VPSlash -> VPSlash ; -- always use (it) AdVVPSlash adv vps = vps ** {adv=\\a=>adv.s ++ vps.adv ! a} ; -- : VP -> Prep -> VPSlash ; -- live in (it) - VPSlashPrep vp prep = vp ** {c = prep ; compl1 = vp.compl ; compl2 = \\_,_ => []; dep=[]} ; + VPSlashPrep vp prep = vp ** {c = prep ; compl1 = vp.compl ; compl2 = \\_,_ => []; dep=[]; isSimple=False} ; -- : AP -> Comp ; -- (be) small CompAP ap = case ap.preferShort of {