From bda94ebb95cabbe88732035f4c5bf796f2103f5b Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 4 Feb 2014 21:35:09 +0000 Subject: [PATCH] some more rules included in experimental/TransEng --- lib/src/experimental/PredEng.gf | 17 +++++++++++++++++ lib/src/experimental/Trans.gf | 4 ++++ lib/src/experimental/TransEng.gf | 11 +++++++++-- 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/lib/src/experimental/PredEng.gf b/lib/src/experimental/PredEng.gf index 249724824..d7b1fd062 100644 --- a/lib/src/experimental/PredEng.gf +++ b/lib/src/experimental/PredEng.gf @@ -231,7 +231,24 @@ lin qforms = \\agr => qformsV (a.s ++ t.s ++ p.s) t.t a.a p.p agr v ; } ; + UseAP a t p _ ap = { + v = \\agr => be_Aux (a.s ++ t.s ++ p.s) t.t a.a p.p agr ; + inf = tenseInfV a.s a.a p.p Act be_V ; + c1 = ap.c1 ; + c2 = ap.c2 ; + part = [] ; + adj = \\a => ap.s ! agr2aagr a ; + obj1 = ; + obj2 = ; --- there are no A3's + adV = negAdV p ; + adv = [] ; + ext = [] ; + qforms = \\agr => qformsBe (a.s ++ t.s ++ p.s) t.t a.a p.p agr ; + } ; + SlashV2 x vp np = vp ** { + obj1 : (Agr => Str) * Agr = <\\a => np.s ! objCase, np.a> -- np.a for object control + } ; PredVP x np vp = vp ** { v = vp.v ! agr2vagr np.a ; diff --git a/lib/src/experimental/Trans.gf b/lib/src/experimental/Trans.gf index 500b55b42..63b815e6e 100644 --- a/lib/src/experimental/Trans.gf +++ b/lib/src/experimental/Trans.gf @@ -28,5 +28,9 @@ fun LiftV2A : V2A -> PrV (aNP aA) ; LiftV2N : V2A -> PrV (aNP aN) ; ---- + LiftAP : AP -> PrAP aNone ; + + LiftAdv : Adv -> PrAdv ; + LiftAdV : Adv -> PrAdv ; } diff --git a/lib/src/experimental/TransEng.gf b/lib/src/experimental/TransEng.gf index c5a33a81d..3684f5eab 100644 --- a/lib/src/experimental/TransEng.gf +++ b/lib/src/experimental/TransEng.gf @@ -5,10 +5,17 @@ concrete TransEng of Trans = ,PredEng ,DictionaryEng - [Pol] - ** open Prelude in { + ** open ResEng, Prelude in { lin - LiftV v = v ** {v = v.s ; c1,c2 = [] ; isSubjectControl, isAux = False} ; + LiftV v = v ** {v = v.s ; c1,c2 = [] ; isSubjectControl, isAux = False} ; + LiftV2 v = v ** {v = v.s ; c1 = v.c2 ; c2 = [] ; isSubjectControl, isAux = False} ; + LiftVS v = v ** {v = v.s ; c1,c2 = [] ; isSubjectControl, isAux = False} ; + + LiftAP ap = {s = \\_ => ap.s ! AgP3Sg Neutr ; c1,c2 = [] ; obj1 = \\_ => []} ; --- agr, isPre + + LiftAdv a = a ** {isAdV = False} ; + LiftAdV a = a ** {isAdV = True} ; {-