diff --git a/lib/src/translator/ExtensionsBul.gf b/lib/src/translator/ExtensionsBul.gf index 734a00d96..10ac03781 100644 --- a/lib/src/translator/ExtensionsBul.gf +++ b/lib/src/translator/ExtensionsBul.gf @@ -60,6 +60,11 @@ lin p = Pos } ; + GerundAdv vp = + {s = vp.ad.s ++ + vp.s ! Imperf ! VGerund ++ + vp.compl ! {gn=GSg Neut; p=P3}} ; + PresPartAP vp = let ap : AForm => Str = \\aform => vp.ad.s ++ @@ -92,9 +97,12 @@ lin {s = vp.ad.s ++ vp.s ! Imperf ! VGerund ++ vp.compl ! {gn=GSg Neut; p=P3}} ; - + InOrderToVP vp = - {s = "за" ++ daComplex Simul Pos vp ! Imperf ! {gn=GSg Neut; p=P3}}; + {s = "за" ++ daComplex Simul Pos (vp**{vtype=VMedial Acc}) ! Imperf ! {gn=GSg Neut; p=P3}}; + + WithoutVP vp = + {s = "без" ++ daComplex Simul Pos (vp**{vtype=VMedial Acc}) ! Imperf ! {gn=GSg Neut; p=P3}}; PositAdVAdj a = {s = a.adv} ; @@ -152,23 +160,6 @@ lin }) vp.p (predV vv) ; - PredVPosv np vp = { - s = \\t,a,p,o => - let - subj = np.s ! (case vp.vtype of { - VNormal => RSubj ; - VMedial _ => RSubj ; - VPhrasal c => RObj c}) ; - verb : Bool => Str - = \\q => vpTenses vp ! t ! a ! p ! np.a ! q ! Perf ; - compl = vp.compl ! np.a - in case o of { - Main => compl ++ subj ++ verb ! False ; - Inv => verb ! False ++ compl ++ subj ; - Quest => compl ++ subj ++ verb ! True - } - } ; - CompS s = {s = \\_ => "че" ++ s.s; p = Pos} ; CompQS qs = {s = \\_ => qs.s ! QIndir; p = Pos} ; CompVP ant p vp = {s = let p' = case vp.p of { diff --git a/lib/src/translator/TranslateBul.gf b/lib/src/translator/TranslateBul.gf index 0dae8f1a5..20b80bbca 100644 --- a/lib/src/translator/TranslateBul.gf +++ b/lib/src/translator/TranslateBul.gf @@ -27,8 +27,8 @@ concrete TranslateBul of Translate = ExtensionsBul [ CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, DirectComplVS, DirectComplVQ, FocusObjS, - PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, - InOrderToVP, ByVP + PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv, + WithoutVP, InOrderToVP, ByVP ], DictionaryBul **