diff --git a/lib/src/german/CatGer.gf b/lib/src/german/CatGer.gf index 1bd34c7f3..6d89d7df6 100644 --- a/lib/src/german/CatGer.gf +++ b/lib/src/german/CatGer.gf @@ -86,9 +86,9 @@ concrete CatGer of Cat = -- Open lexical classes, e.g. Lexicon - V, VS, VQ, VA = ResGer.Verb ; -- = {s : VForm => Str} ; + V, VS, VQ = ResGer.Verb ; -- = {s : VForm => Str} ; VV = Verb ** {isAux : Bool} ; - V2, V2A, V2S, V2Q = Verb ** {c2 : Preposition} ; + V2, VA, V2A, V2S, V2Q = Verb ** {c2 : Preposition} ; V2V = Verb ** {c2 : Preposition ; isAux : Bool} ; V3 = Verb ** {c2, c3 : Preposition} ; diff --git a/lib/src/german/MakeStructuralGer.gf b/lib/src/german/MakeStructuralGer.gf index 233958010..380c3c047 100644 --- a/lib/src/german/MakeStructuralGer.gf +++ b/lib/src/german/MakeStructuralGer.gf @@ -24,4 +24,10 @@ oper a = case b of {True => PAg n ; _ => PAgNone} } } ; + + -- e.g. das selbe + mmkQuant : Quant -> A -> Quant = \q,a -> q ** { + s,sp = \\x,n,g,c => q.s ! x ! n ! g ! c ++ a.s ! Posit ! agrAdj g q.a n ((prepC c).c) + } ; + } diff --git a/lib/src/german/ParadigmsGer.gf b/lib/src/german/ParadigmsGer.gf index 9ed629171..53e507552 100644 --- a/lib/src/german/ParadigmsGer.gf +++ b/lib/src/german/ParadigmsGer.gf @@ -327,8 +327,11 @@ mkV2 : overload { mkVV : V -> VV ; -- with zu auxVV : V -> VV ; -- without zu - mkVA : V -> VA ; - + mkVA : overload { + mkVA : V -> VA ; + mkVA : V -> Prep -> VA ; + } ; + mkVQ : V -> VQ ; @@ -630,7 +633,10 @@ mkV2 : overload { = \v,p -> prepV2 v p ** {isAux = False ; lock_V2Q = <>} ; } ; - mkVA v = v ** {lock_VA = <>} ; + mkVA = overload { + mkVA : V -> VA = \v -> lin VA (dirV2 v) ; + mkVA : V -> Prep -> VA = \v,p -> lin VA (v ** {c2 = p}) ; + } ; mkAS v = v ** {lock_A = <>} ; mkA2S v p = mkA2 v p ** {lock_A = <>} ; diff --git a/lib/src/german/VerbGer.gf b/lib/src/german/VerbGer.gf index e08640add..c2c8cb8b7 100644 --- a/lib/src/german/VerbGer.gf +++ b/lib/src/german/VerbGer.gf @@ -19,7 +19,7 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in { insertExtrapos (comma ++ conjThat ++ s.s ! Sub) (predV v) ; ComplVQ v q = insertExtrapos (comma ++ q.s ! QIndir) (predV v) ; - ComplVA v ap = insertAdj (ap.s ! APred) ap.c ap.ext (predV v) ; -- changed + ComplVA v ap = insertAdj (v.c2.s ++ ap.s ! APred) ap.c ap.ext (predV v) ; -- changed SlashV2a v = predV v ** {c2 = v.c2} ;