From 836bcfa4f72397975f543d24a94dcd5416483e67 Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 10 Apr 2012 20:50:50 +0000 Subject: [PATCH] substantival IndefArt in Ger (einer, eines, eine); DetNPMasc and DetNPFem in Extra --- lib/src/german/ExtraGer.gf | 11 +++++++++++ lib/src/german/ExtraGerAbs.gf | 1 + lib/src/german/NounGer.gf | 6 +++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/src/german/ExtraGer.gf b/lib/src/german/ExtraGer.gf index 6e1df9ffe..1e9f3a256 100644 --- a/lib/src/german/ExtraGer.gf +++ b/lib/src/german/ExtraGer.gf @@ -35,4 +35,15 @@ concrete ExtraGer of ExtraGerAbs = CatGer ** IAdvAdv adv = {s = "wie" ++ adv.s} ; + DetNPMasc det = { + s = \\c => det.sp ! Masc ! c ; ---- genders + a = agrP3 det.n ; + isPron = False + } ; + + DetNPFem det = { + s = \\c => det.sp ! Fem ! c ; ---- genders + a = agrP3 det.n ; + isPron = False + } ; } diff --git a/lib/src/german/ExtraGerAbs.gf b/lib/src/german/ExtraGerAbs.gf index 38fa60ac3..2dd6f741d 100644 --- a/lib/src/german/ExtraGerAbs.gf +++ b/lib/src/german/ExtraGerAbs.gf @@ -8,4 +8,5 @@ abstract ExtraGerAbs = Extra [ moegen_VV : VV ; -- ich mag/möchte singen + DetNPMasc, DetNPFem : Det -> NP ; } diff --git a/lib/src/german/NounGer.gf b/lib/src/german/NounGer.gf index a6516eb21..b7ef40d83 100644 --- a/lib/src/german/NounGer.gf +++ b/lib/src/german/NounGer.gf @@ -1,4 +1,4 @@ -concrete NounGer of Noun = CatGer ** open ResGer, Prelude in { +concrete NounGer of Noun = CatGer ** open ResGer, MorphoGer, Prelude in { flags optimize=all_subs ; @@ -11,7 +11,7 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in { } ; DetNP det = { - s = \\c => det.sp ! Neutr ! c ; ---- genders + s = \\c => det.sp ! Neutr ! c ; -- more genders in ExtraGer a = agrP3 det.n ; isPron = False } ; @@ -109,7 +109,7 @@ concrete NounGer of Noun = CatGer ** open ResGer, Prelude in { } } ; sp = table { - Sg => \\g,c => usePrepC c (\k -> "ein" + pronEnding ! GSg g ! k) ; + Sg => \\g,c => usePrepC c (\k -> (detLikeAdj Sg "ein").s ! g ! NPC k) ; Pl => \\_,c => usePrepC c (\k -> caselist "einige" "einige" "einigen" "einiger" ! k) } ; a = Strong