From ae3c627198a282677a120a1cde7e16e1c65cc2d2 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 30 May 2018 11:19:35 +0200 Subject: [PATCH] Extend.PastPartAP in Swe and Bul --- src/bulgarian/ExtendBul.gf | 19 ++++++++++++++++++- src/swedish/ExtendSwe.gf | 13 ++++++++++++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/bulgarian/ExtendBul.gf b/src/bulgarian/ExtendBul.gf index 131ae7d7..f5ea691d 100644 --- a/src/bulgarian/ExtendBul.gf +++ b/src/bulgarian/ExtendBul.gf @@ -1,5 +1,5 @@ --# -path=.:../abstract:../common:prelude -concrete ExtendBul of Extend = CatBul ** open ResBul in { +concrete ExtendBul of Extend = CatBul ** open Prelude, ResBul in { lin CompoundN n1 n2 = @@ -16,5 +16,22 @@ lin PositAdVAdj a = {s = a.adv} ; + PastPartAP vp = + let ap : AForm => Str + = \\aform => vp.ad.s ++ + vp.s ! Perf ! VPassive aform ++ + vp.compl1 ! {gn=aform2gennum aform; p=P3} ++ + vp.compl2 ! {gn=aform2gennum aform; p=P3} + in {s = ap; adv = ap ! ASg Neut Indef; isPre = True} ; + + PastPartAgentAP vp np = + let ap : AForm => Str + = \\aform => vp.ad.s ++ + vp.s ! Perf ! VPassive aform ++ + vp.compl1 ! {gn=aform2gennum aform; p=P3} ++ + vp.compl2 ! {gn=aform2gennum aform; p=P3} ++ + "от" ++ np.s ! RObj Acc + in {s = ap; adv = ap ! ASg Neut Indef; isPre = False} ; + } diff --git a/src/swedish/ExtendSwe.gf b/src/swedish/ExtendSwe.gf index d40fe1be..e38029f4 100644 --- a/src/swedish/ExtendSwe.gf +++ b/src/swedish/ExtendSwe.gf @@ -7,7 +7,7 @@ concrete ExtendSwe of Extend = CatSwe ** MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, ICompAP, - PositAdVAdj, + PositAdVAdj, PastPartAP, PastPartAgentAP, RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP, Base_rr_RNP, Base_nr_RNP, Base_rn_RNP, Cons_rr_RNP, Cons_nr_RNP, CompoundN @@ -153,5 +153,16 @@ concrete ExtendSwe of Extend = CatSwe ** lin PositAdVAdj a = {s = a.s ! AAdv} ; + + PastPartAP vp = { + s = \\af => partVPPlus vp (PartPret af Nom) (aformpos2agr af) Pos ; + isPre = True + } ; + + PastPartAgentAP vp np = { + s = \\af => partVPPlus vp (PartPret af Nom) (aformpos2agr af) Pos ++ "av" ++ np.s ! accusative ; + isPre = False + } ; + }