From fb8d15872cf2da607e26d778bab13296f4422f30 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Mon, 26 Feb 2024 09:46:28 +0100 Subject: [PATCH] (Eng) Keep both prepositions in [VPS2] --- src/english/ExtendEng.gf | 22 +++- src/english/unittest/vps2.gftest | 216 +++++++++++++++++++++++++++++++ 2 files changed, 235 insertions(+), 3 deletions(-) create mode 100644 src/english/unittest/vps2.gftest diff --git a/src/english/ExtendEng.gf b/src/english/ExtendEng.gf index ec15e1ce..bb830e0d 100644 --- a/src/english/ExtendEng.gf +++ b/src/english/ExtendEng.gf @@ -118,7 +118,18 @@ concrete ExtendEng of Extend = ODir _ => [] } } ; - + baseVPS2 : VPS2 -> OneFinVPS = \vps2 -> { + s = \\o,a => let vp = vps2.s ! o ! a in + case o of { + OQuest => vp.inf ++ vps2.c2 ; + ODir _ => vp.fin ++ vp.inf ++ vps2.c2 + } ; + fin = \\o,a => let vp = vps2.s ! o ! a in + case o of { + OQuest => vp.fin ; + ODir _ => [] + } + } ; lin BaseVPI = twoTable2 VVType Agr ; ConsVPI = consrTable2 VVType Agr comma ; @@ -169,8 +180,13 @@ concrete ExtendEng of Extend = MkVPS2 t p vpsl = mkVPS (lin Temp t) (lin Pol p) (lin VP vpsl) ** {c2 = vpsl.c2} ; MkVPI2 vpsl = mkVPI (lin VP vpsl) ** {c2 = vpsl.c2} ; - BaseVPS2 x y = BaseVPS x y ** {c2 = y.c2} ; ---- just remembering the prep of the latter verb - ConsVPS2 x xs = ConsVPS x xs ** {c2 = xs.c2} ; + BaseVPS2 x y = + let baseX : OneFinVPS = baseVPS2 x ; + baseY : OneFinVPS = baseVPS y ; + in twoTable2 Order Agr baseX baseY ** {fin = baseX.fin ; c2 = y.c2} ; + ConsVPS2 x xs = + let baseX : OneFinVPS = baseVPS2 x ; + in consrTable2 Order Agr comma baseX xs ** {fin = baseX.fin ; c2 = xs.c2} ; BaseVPI2 x y = twoTable2 VVType Agr x y ** {c2 = y.c2} ; ---- just remembering the prep of the latter verb ConsVPI2 x xs = consrTable2 VVType Agr comma x xs ** {c2 = xs.c2} ; diff --git a/src/english/unittest/vps2.gftest b/src/english/unittest/vps2.gftest new file mode 100644 index 00000000..4e6172d5 --- /dev/null +++ b/src/english/unittest/vps2.gftest @@ -0,0 +1,216 @@ +-- VPS2 list: both prepositions are kept +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she wouldn't have waited for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and wouldn't have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would have waited for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she wouldn't wait for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and wouldn't wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she would wait for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she won't have waited for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and won't have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will have waited for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she won't wait for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and won't wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she will wait for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she hadn't waited for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and hadn't waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she had waited for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she didn't wait for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and didn't wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waited for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she hasn't waited for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and hasn't waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she has waited for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and would have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TCond ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and would wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and will have waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TFut ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and will wait for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and had waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPast ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres AAnter) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and has waited for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PNeg (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she doesn't wait for and waits for them + +AllEngAbs: PredVPS (UsePron she_Pron) (ComplVPS2 (ConjVPS2 and_Conj (BaseVPS2 (MkVPS2 (TTAnt TPres ASimul) PPos (SlashV2a wait_V2)) (MkVPS2 (TTAnt TPres ASimul) PNeg (SlashV2a wait_V2)))) (UsePron they_Pron)) +AllEng: she waits for and doesn't wait for them