1
0
forked from GitHub/gf-rgl

AnaphPron produces a pronoun from a noun phrase

This commit is contained in:
Krasimir Angelov
2023-02-22 08:26:29 +01:00
parent ef1d9a0cbc
commit 77b370cbcf
3 changed files with 23 additions and 1 deletions

View File

@@ -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 ;
}

View File

@@ -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)

View File

@@ -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
} ;
}