From e3c9a0045efd298b294b7bc9f611b90c222904ed Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 22 Aug 2025 14:50:35 +0200 Subject: [PATCH] (Ger) Fix complement number agreement with AgPlPol MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "Sie sind ein Vogel", not *Sie sind Vögel --- src/german/VerbGer.gf | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/german/VerbGer.gf b/src/german/VerbGer.gf index b2e5b557..6d89b332 100644 --- a/src/german/VerbGer.gf +++ b/src/german/VerbGer.gf @@ -113,12 +113,18 @@ concrete VerbGer of Verb = CatGer ** open Prelude, ResGer, Coordination in { CompNP np = {s = \\_ => np.s ! False ! Nom ++ np.rc ; ext = np.ext} ; CompAdv a = {s = \\_ => a.s ; ext = []} ; - CompCN cn = {s = \\a => case numberAgr a of { - Sg => "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.rc ! Sg ; --- - Pl => cn.s ! Strong ! Pl ! Nom ++ cn.rc ! Pl --- - } ; - ext = cn.adv ++ cn.ext - } ; + CompCN cn = { + s = let + sg : Str = "ein" + pronEnding ! GSg cn.g ! Nom ++ cn.s ! Strong ! Sg ! Nom ++ cn.rc ! Sg ; --- + pl : Str = cn.s ! Strong ! Pl ! Nom ++ cn.rc ! Pl + in table { + AgPlPol => sg ; + a => case numberAgr a of { + Sg => sg ; + Pl => pl } + } ; + ext = cn.adv ++ cn.ext + } ; AdvVP vp adv = insertAdv adv.s vp ; ExtAdvVP vp adv = insertAdv (embedInCommas adv.s) vp ;