From 77b370cbcf07030e856e511901a4799e1704c51e Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Wed, 22 Feb 2023 08:26:29 +0100 Subject: [PATCH] AnaphPron produces a pronoun from a noun phrase --- src/abstract/Extend.gf | 4 ++++ src/common/ExtendFunctor.gf | 1 + src/english/ExtendEng.gf | 19 ++++++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 134a6a8b6..21e7b8f92 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -267,6 +267,7 @@ abstract Extend = Cat ** { weFem_Pron : Pron ; -- we (Fem) youPlFem_Pron : Pron ; -- you plural (Fem) theyFem_Pron : Pron ; -- they (Fem) + theyNeutr_Pron : Pron ; -- they (Neutr) youPolFem_Pron : Pron ; -- you polite (Fem) youPolPl_Pron : Pron ; -- you polite plural (Masc) youPolPlFem_Pron : Pron ; -- you polite plural (Fem) @@ -298,4 +299,7 @@ fun PlSurname : SN -> PN ; FullName : GN -> SN -> PN ; +fun + AnaphPron : NP -> Pron ; + } diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index 98c7dba53..667b6791b 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -114,6 +114,7 @@ lin weFem_Pron = we_Pron ; -- DEFAULT we (masc) youPlFem_Pron = youPl_Pron ; -- DEFAULT you plural (masc) theyFem_Pron = they_Pron ; -- DEFAULT they (masc) + theyNeutr_Pron = they_Pron ; -- DEFAULT they (masc) youPolFem_Pron = youPol_Pron ; -- DEFAULT you polite (masc) youPolPl_Pron = youPl_Pron ; -- DEFAULT you plural (masc) youPolPlFem_Pron = youPl_Pron ; -- DEFAULT you plural (masc) diff --git a/src/english/ExtendEng.gf b/src/english/ExtendEng.gf index 48b0732b2..94e87a497 100644 --- a/src/english/ExtendEng.gf +++ b/src/english/ExtendEng.gf @@ -18,7 +18,7 @@ concrete ExtendEng of Extend = PassAgentVPSlash, PassVPSlash, ProgrVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPSVV, PredetRNP, PrepCN, EmbedSSlash, PredIAdvVP, PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash, UncontractedNeg, UttAccIP, UttAccNP, UttAdV, UttDatIP, UttDatNP, UttVPShort, WithoutVP, A2VPSlash, N2VPSlash, - CardCNCard, ProDrop + CardCNCard, ProDrop, theyFem_Pron, theyNeutr_Pron ] with (Grammar = GrammarEng) ** @@ -471,6 +471,9 @@ lin UseDAPFem dap = { lin CardCNCard card cn = {s,sp = \\d,c => card.s ! d ! Nom ++ cn.s ! card.n ! c ; n = Pl} ; +lin theyFem_Pron = mkPron "they" "them" "their" "theirs" plural P3 feminine ; +lin theyNeutr_Pron = mkPron "they" "them" "their" "theirs" plural P3 nonhuman ; + lin GivenName gn = gn ; lin MaleSurname, FemaleSurname = \sn -> sn ; lin FullName gn sn = { @@ -478,4 +481,18 @@ lin FullName gn sn = { g = gn.g } ; +lin AnaphPron np = + case np.a of { + AgP1 Sg => i_Pron ; + AgP1 Pl => we_Pron ; + AgP2 Sg => youSg_Pron ; + AgP2 Pl => youPl_Pron ; + AgP3Sg Masc => he_Pron ; + AgP3Sg Fem => she_Pron ; + AgP3Sg Neutr => it_Pron ; + AgP3Pl Masc => they_Pron ; + AgP3Pl Fem => theyFem_Pron ; + AgP3Pl Neutr => theyNeutr_Pron + } ; + }