From 1111ca0fdd715494cfe00e55e0ca77c5e6462683 Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Thu, 31 Oct 2024 12:57:46 +0100 Subject: [PATCH] overloaded compoundN --- src/macedonian/ParadigmsMkd.gf | 24 +++++++++++++++++++----- src/macedonian/ResMkd.gf | 6 ++++++ 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/macedonian/ParadigmsMkd.gf b/src/macedonian/ParadigmsMkd.gf index adee51a63..6146d7290 100644 --- a/src/macedonian/ParadigmsMkd.gf +++ b/src/macedonian/ParadigmsMkd.gf @@ -1533,11 +1533,25 @@ mkN2 = overload { mkN2 : N -> Prep -> N2 = \n,p -> lin N2 n ** {c2=p}; } ; -compoundN : A -> N -> N = \a,n -> lin N { - s = \\spec,num => a.s ! spec ! genNum n.g num ++ n.s ! Indef ! num ; - count_form = a.s ! Indef ! genNum n.g Pl ++ n.count_form ; - vocative = \\num => a.s ! Indef ! genNum n.g num ++ n.vocative ! num ; - g = n.g +compoundN = overload { + compoundN : A -> N -> N = \a,n -> lin N { + s = \\spec,num => a.s ! spec ! genNum n.g num ++ n.s ! Indef ! num ; + count_form = a.s ! Indef ! genNum n.g Pl ++ n.count_form ; + vocative = \\num => a.s ! Indef ! genNum n.g num ++ n.vocative ! num ; + g = n.g + } ; + compoundN : N -> Str -> N = \n,adv -> lin N { + s = \\spec,num => n.s ! spec ! num ++ adv ; + count_form = n.count_form ++ adv ; + vocative = \\num => n.vocative ! num ++ adv ; + g = n.g + } ; + compoundN : Str -> N -> N = \pref,n -> lin N { + s = \\spec,num => pref ++ n.s ! spec ! num ; + count_form = pref ++ n.count_form ; + vocative = \\num => pref ++ n.vocative ! num ; + g = n.g + } } ; mkPN : Str -> PN = \s -> lin PN {s=s} ; diff --git a/src/macedonian/ResMkd.gf b/src/macedonian/ResMkd.gf index d5cf0a3c4..32a109e64 100644 --- a/src/macedonian/ResMkd.gf +++ b/src/macedonian/ResMkd.gf @@ -184,4 +184,10 @@ oper mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron = } } ; +genNum : Gender -> Number -> GenNum = \g,n -> + case n of { + Sg => GSg g ; + Pl => GPl + } ; + }