diff --git a/lib/src/abstract/Extra.gf b/lib/src/abstract/Extra.gf index 11a1979e1..45e7f7145 100644 --- a/lib/src/abstract/Extra.gf +++ b/lib/src/abstract/Extra.gf @@ -69,4 +69,8 @@ abstract Extra = Cat ** { PartVP : VP -> AP ; -- (the man) looking at Mary EmbedPresPart : VP -> SC ; -- looking at Mary (is fun) +-- this is a generalization of Verb.PassV2 and should replace it in the future. + + PassVPSlash : VPSlash -> VP ; -- be forced to sleep + } diff --git a/lib/src/english/ExtraEng.gf b/lib/src/english/ExtraEng.gf index 09d181c3c..d801266b7 100644 --- a/lib/src/english/ExtraEng.gf +++ b/lib/src/english/ExtraEng.gf @@ -117,6 +117,19 @@ concrete ExtraEng of ExtraEngAbs = CatEng ** lin UncNeg = {s = [] ; p = CNeg False} ; + PassVPSlash vps = + let + be = predAux auxBe ; + ppt = (vps.s ! Pres ! Anter ! CPos ! ODir ! agrP3 Pl).inf + in { + s = be.s ; + prp = be.prp ++ ppt ; + inf = be.inf ++ ppt ; + ad = vps.ad ; + s2 = \\a => ppt ++ vps.s2 ! a ---- order + } ; + +------------ --- obsolete: use UncNeg : Pol UncNegCl t p cl = { @@ -140,5 +153,7 @@ lin CNeg _ => CNeg False ; _ => x } ; +------- + }