diff --git a/src/german/ParadigmsGer.gf b/src/german/ParadigmsGer.gf index 07ce1905..dbede7e8 100644 --- a/src/german/ParadigmsGer.gf +++ b/src/german/ParadigmsGer.gf @@ -591,6 +591,17 @@ mkV2 : overload { {s = \\_ => [] ; s2 = [] ; c = c ; t = isCase ; lock_Prep = <>} ; mkPrep : ObjCase -> Prep = \c -> {s = \\_ => [] ; s2 = [] ; c = c ; t = isCase ; lock_Prep = <>} ; + mkPrep : Str -> Case -> Prep = \p,c -> -- TODO IPron Adv + {s = case c of {Nom => prepForms p (p ++ "der") (p ++ "die") (p ++ "das") + (p ++ artDef ! GSg Neutr ! Nom) (p ++ "was") ; + Obj Acc => prepForms p (p ++ "den") (p ++ "die") (p ++ "das") + (p ++ artDef ! GSg Neutr ! c) (p ++ "was") ; + Obj Dat => prepForms p (p ++ "dem") (p ++ "der") (p ++ "dem") + (p ++ artDef ! GSg Neutr ! c) (p ++ "wem") ; + Obj Gen => prepForms p (p ++ "des") (p ++ "der") (p ++ "des") + (p ++ "dessen") (p ++ "wessen")} ; + s2 = [] ; c = objCase c ; t = isPrep ; lock_Prep = <> + } ; mkPrep : Str -> ObjCase -> Prep = \p,c -> -- TODO IPron Adv {s = case c of {Acc => prepForms p (p ++ "den") (p ++ "die") (p ++ "das") (p ++ artDef ! GSg Neutr ! Obj c) (p ++ "was") ; diff --git a/src/german/ResGer.gf b/src/german/ResGer.gf index ea37c37e..80fb70fa 100644 --- a/src/german/ResGer.gf +++ b/src/german/ResGer.gf @@ -46,6 +46,11 @@ resource ResGer = ParamX ** open Prelude in { Agr = AgSgP1 | AgSgP2 | AgSgP3 Gender | AgPl Person | AgPlPol ; oper + objCase : Case -> ObjCase = \c -> case c of { + Nom => Acc ; --- what else could one have? + Obj o => o + } ; + genderAgr : Agr -> Gender = \r -> case r of {AgSgP3 g => g ; _ => Masc} ; numberAgr = overload {