diff --git a/lib/src/german/CatGer.gf b/lib/src/german/CatGer.gf index 5fde382e7..7b0691cb5 100644 --- a/lib/src/german/CatGer.gf +++ b/lib/src/german/CatGer.gf @@ -108,8 +108,8 @@ concrete CatGer of Cat = V, VS, VQ, VA = \v -> useInfVP False (predV v) ; V2, V2A, V2Q, V2S = \v -> useInfVP False (predV v) ++ v.c2.s ; V3 = \v -> useInfVP False (predV v) ++ v.c2.s ++ v.c3.s ; - VV = \v -> useInfVP False (predV v) ; - V2V = \v -> useInfVP False (predV v) ++ v.c2.s ; + VV = \v -> useInfVP v.isAux (predVGen v.isAux v) ; + V2V = \v -> useInfVP v.isAux (predVGen v.isAux v) ++ v.c2.s ; Conj = \c -> c.s1 ++ c.s2 ; } diff --git a/lib/src/german/ParadigmsGer.gf b/lib/src/german/ParadigmsGer.gf index 602ac714a..12b6a9102 100644 --- a/lib/src/german/ParadigmsGer.gf +++ b/lib/src/german/ParadigmsGer.gf @@ -300,10 +300,14 @@ mkV2 : overload { mkV0 : V -> V0 ; --% mkVS : V -> VS ; - mkV2V : overload { + mkV2V : overload { -- with zu mkV2V : V -> V2V ; mkV2V : V -> Prep -> V2V ; } ; + auxV2V : overload { -- without zu + auxV2V : V -> V2V ; + auxV2V : V -> Prep -> V2V ; + } ; mkV2A : overload { mkV2A : V -> V2A ; mkV2A : V -> Prep -> V2A ; @@ -602,6 +606,12 @@ mkV2 : overload { mkV2V : V -> Prep -> V2V = \v,p -> prepV2 v p ** {isAux = False ; lock_V2V = <>} ; } ; + auxV2V = overload { + auxV2V : V -> V2V + = \v -> dirV2 v ** {isAux = True ; lock_V2V = <>} ; + auxV2V : V -> Prep -> V2V + = \v,p -> prepV2 v p ** {isAux = True ; lock_V2V = <>} ; + } ; mkV2A = overload { mkV2A : V -> V2A = \v -> dirV2 v ** {isAux = False ; lock_V2A = <>} ; diff --git a/lib/src/german/VerbGer.gf b/lib/src/german/VerbGer.gf index 87243c00f..f86e72869 100644 --- a/lib/src/german/VerbGer.gf +++ b/lib/src/german/VerbGer.gf @@ -34,11 +34,11 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in { insertExtrapos (q.s ! QIndir) (predV v) ** {c2 = v.c2} ; SlashV2V v vp = let - vpi = infVP False vp + vpi = infVP v.isAux vp in insertExtrapos vpi.p3 ( insertInf vpi.p2 ( - insertObj vpi.p1 ((predV v)))) ** {c2 = v.c2} ; + insertObj vpi.p1 ((predVGen v.isAux v)))) ** {c2 = v.c2} ; SlashV2A v ap = insertObj (\\_ => ap.s ! APred) (predV v) ** {c2 = v.c2} ; @@ -56,13 +56,13 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in { SlashV2VNP v np vp = let - vpi = infVP False vp + vpi = infVP v.isAux vp in insertExtrapos vpi.p3 ( insertInf vpi.p2 ( insertObj vpi.p1 ( insertObj (\\_ => appPrep v.c2 np.s) ( - predV v)))) ** {c2 = v.c2} ; + predVGen v.isAux v)))) ** {c2 = v.c2} ; UseComp comp = insertObj comp.s (predV sein_V) ; -- agr not used -- we want to say "ich liebe sie nicht" but not "ich bin alt nicht"