From 891bd2f3b17eb668eb1e17d763495436ccd018c7 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 3 Mar 2021 15:05:57 +0800 Subject: [PATCH] (Extend) Add ReflVPS2 function --- src/abstract/Extend.gf | 1 + src/common/ExtendFunctor.gf | 1 + src/english/ExtendEng.gf | 6 ++++-- src/swedish/ExtendSwe.gf | 5 ++++- 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 15e07143b..5b792981e 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -69,6 +69,7 @@ abstract Extend = Cat ** { MkVPS2 : Temp -> Pol -> VPSlash -> VPS2 ; -- has loved ConjVPS2 : Conj -> [VPS2] -> VPS2 ; -- has loved and now hates ComplVPS2 : VPS2 -> NP -> VPS ; -- has loved and now hates that person + ReflVPS2 : VPS2 -> RNP -> VPS ; -- have loved and now hate myself and my car MkVPI2 : VPSlash -> VPI2 ; -- to love ConjVPI2 : Conj -> [VPI2] -> VPI2 ; -- to love and hate diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index 296eeaaed..d70ebe31d 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -32,6 +32,7 @@ lin MkVPS2 = variants {} ; -- : Temp -> Pol -> VPSlash -> VPS2 ; -- has loved ConjVPS2 = variants {} ; -- : Conj -> [VPS2] -> VPS2 ; -- has loved and now hates ComplVPS2 = variants {} ; -- : VPS2 -> NP -> VPS ; -- has loved and now hates that person + ReflVPS2 = variants {} ; -- : VPS2 -> RNP -> VPS ; -- have loved and now hate myself and my car MkVPI2 = variants {} ; -- : Ant -> Pol -> VPSlash -> VPI2 ; -- to have loved ConjVPI2 = variants {} ; -- : Conj -> [VPI2] -> VPI2 ; -- to love and have hated ComplVPI2 = variants {} ; -- : VPI2 -> NP -> VPI ; -- to love and hate that person diff --git a/src/english/ExtendEng.gf b/src/english/ExtendEng.gf index c46b7eedc..5018459a9 100644 --- a/src/english/ExtendEng.gf +++ b/src/english/ExtendEng.gf @@ -7,7 +7,7 @@ concrete ExtendEng of Extend = AdAdV, AdjAsCN, AdjAsNP, ApposNP, AdvIsNP, BaseVPS, ConsVPS, BaseVPI, ConsVPI, BaseVPS2, ConsVPS2, BaseVPI2, ConsVPI2, MkVPS, ConjVPS, PredVPS, MkVPI, ConjVPI, ComplVPIVV, - MkVPS2, ConjVPS2, ComplVPS2, MkVPI2, ConjVPI2, ComplVPI2, + MkVPS2, ConjVPS2, ComplVPS2, ReflVPS2, MkVPI2, ConjVPI2, ComplVPI2, Base_nr_RNP, Base_rn_RNP, Base_rr_RNP, ByVP, CompBareCN, CompIQuant, CompQS, CompS, CompVP, ComplBareVS, ComplGenVV, ComplSlashPartLast, ComplVPSVV, CompoundAP, CompoundN, ConjRNP, ConjVPS, ConsVPS, Cons_nr_RNP, Cons_rr_RNP, DetNPMasc, DetNPFem, EmbedPresPart, EmptyRelSlash, @@ -120,7 +120,9 @@ concrete ExtendEng of Extend = ComplVPI2 vpi2 np = { s = \\t,a => vpi2.s ! t ! a ++ vpi2.c2 ++ np.s ! NPAcc } ; - + ReflVPS2 vps2 rnp = { + s = \\a => vps2.s ! a ++ vps2.c2 ++ rnp.s ! a + } ; oper mkVPS : Temp -> Pol -> VP -> VPS = \t,p,vp -> lin VPS { s = \\a => diff --git a/src/swedish/ExtendSwe.gf b/src/swedish/ExtendSwe.gf index 727b95b29..48d7d1f5e 100644 --- a/src/swedish/ExtendSwe.gf +++ b/src/swedish/ExtendSwe.gf @@ -8,7 +8,7 @@ concrete ExtendSwe of Extend = CatSwe ** PassVPSlash, PassAgentVPSlash, UttVPShort, ByVP, InOrderToVP, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, - MkVPS2, ConjVPS2, ComplVPS2, MkVPI2, ConjVPI2, ComplVPI2, + MkVPS2, ConjVPS2, ComplVPS2, ReflVPS2, MkVPI2, ConjVPI2, ComplVPI2, ICompAP,ProDrop,EmbedSSlash, AdAdV, PositAdVAdj, GerundCN, GerundNP, GerundAdv, PresPartAP, PastPartAP, PastPartAgentAP, RNP, RNPList, ReflRNP, ReflPron, ReflPoss, PredetRNP, ConjRNP, @@ -169,6 +169,9 @@ in { ComplVPS2 vps2 np = { s = \\o,a => vps2.s !o ! a ++ vps2.c2.s ++ np.s ! NPAcc } ; + ReflVPS2 vps2 rnp = { + s = \\o,a => vps2.s ! o ! a ++ vps2.c2.s ++ rnp.s ! a + } ; ConjVPS2 c xs = conjunctDistrTable2 Order Agr c xs ** {c2 = xs.c2} ;