From 1ecd665a49c7715d48683e67125b0284c9f7b8c5 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 13 Mar 2013 17:07:57 +0000 Subject: [PATCH] added PassVPSlash to ExtraRomance; it is a generalization of PassV2 already implemented for some languages. As a variant in Spa and Cat, added PassVPSlash_ser with another copula. --- src/catalan/ExtraCat.gf | 15 +++++++++++++++ src/catalan/ExtraCatAbs.gf | 2 ++ src/romance/ExtraRomance.gf | 15 +++++++++++++++ src/romance/ExtraRomanceAbs.gf | 3 ++- src/spanish/ExtraSpa.gf | 17 +++++++++++++++++ src/spanish/ExtraSpaAbs.gf | 3 +++ 6 files changed, 54 insertions(+), 1 deletion(-) diff --git a/src/catalan/ExtraCat.gf b/src/catalan/ExtraCat.gf index 38318716..675ae0ee 100644 --- a/src/catalan/ExtraCat.gf +++ b/src/catalan/ExtraCat.gf @@ -54,5 +54,20 @@ lin youPolPl_Pron = vostePl Masc; youPolPl8fem_Pron = vostePl Fem; + -- ExtraRomance.PassVPSlash uses estar + PassVPSlash_ser vps = + let auxvp = predV copula + in + insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) { + s = auxvp.s ; + agr = auxvp.agr ; + neg = vps.neg ; + clit1 = vps.clit1 ; + clit2 = vps.clit2 ; + clit3 = vps.clit3 ; + isNeg = vps.isNeg ; + comp = vps.comp ; + ext = vps.ext + } ; } \ No newline at end of file diff --git a/src/catalan/ExtraCatAbs.gf b/src/catalan/ExtraCatAbs.gf index 8c1a1f83..01fc5d80 100644 --- a/src/catalan/ExtraCatAbs.gf +++ b/src/catalan/ExtraCatAbs.gf @@ -26,4 +26,6 @@ fun youPolPl8fem_Pron : Pron ; ImpNeg : NP -> VP -> Utt ; --IL 2012-10-12 + + PassVPSlash_ser : VPSlash -> VP ; } diff --git a/src/romance/ExtraRomance.gf b/src/romance/ExtraRomance.gf index 9b79479d..575e433b 100644 --- a/src/romance/ExtraRomance.gf +++ b/src/romance/ExtraRomance.gf @@ -75,4 +75,19 @@ incomplete concrete ExtraRomance of ExtraRomanceAbs = CatRomance ** hasClit = False } ; + PassVPSlash vps = + let auxvp = predV auxPassive + in + insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) { + s = auxvp.s ; + agr = auxvp.agr ; + neg = vps.neg ; + clit1 = vps.clit1 ; + clit2 = vps.clit2 ; + clit3 = vps.clit3 ; + isNeg = vps.isNeg ; + comp = vps.comp ; + ext = vps.ext + } ; + } diff --git a/src/romance/ExtraRomanceAbs.gf b/src/romance/ExtraRomanceAbs.gf index a9dc3b46..da7553b9 100644 --- a/src/romance/ExtraRomanceAbs.gf +++ b/src/romance/ExtraRomanceAbs.gf @@ -1,7 +1,8 @@ abstract ExtraRomanceAbs = Cat, Extra[ VPI,ListVPI,BaseVPI,ConsVPI,MkVPI,ComplVPIVV,ConjVPI, VPS,ListVPS,BaseVPS,ConsVPS,ConjVPS,MkVPS,PredVPS, - Temp,Pol,S,NP, + PassVPSlash, + Temp,Pol,S,NP,VPSlash, VV,VP,Conj,Pron,ProDrop,CompIQuant,IQuant,IComp,PrepCN,CN,Prep,Adv] ** { fun diff --git a/src/spanish/ExtraSpa.gf b/src/spanish/ExtraSpa.gf index 5a6a9647..a784121e 100644 --- a/src/spanish/ExtraSpa.gf +++ b/src/spanish/ExtraSpa.gf @@ -49,4 +49,21 @@ concrete ExtraSpa of ExtraSpaAbs = ExtraRomanceSpa ** s = (mkClause (np.s ! Nom).comp np.hasClit False np.a vp).s ! DInv ! RPres ! Simul ! RNeg False ! Conjunct } ; + + -- ExtraRomance.PassVPSlash uses estar + PassVPSlash_ser vps = + let auxvp = predV copula + in + insertComplement (\\a => let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) { + s = auxvp.s ; + agr = auxvp.agr ; + neg = vps.neg ; + clit1 = vps.clit1 ; + clit2 = vps.clit2 ; + clit3 = vps.clit3 ; + isNeg = vps.isNeg ; + comp = vps.comp ; + ext = vps.ext + } ; + } diff --git a/src/spanish/ExtraSpaAbs.gf b/src/spanish/ExtraSpaAbs.gf index 43f081db..784a6884 100644 --- a/src/spanish/ExtraSpaAbs.gf +++ b/src/spanish/ExtraSpaAbs.gf @@ -27,4 +27,7 @@ abstract ExtraSpaAbs = ExtraRomanceAbs ** { ImpNeg : NP -> VP -> Utt ; --IL 2012-10-12 + + PassVPSlash_ser : VPSlash -> VP ; + }