From 5cc990d259e11220c12d0bafcd1a5a7b63cd131e Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Thu, 9 Apr 2026 14:03:06 +0200 Subject: [PATCH] added CompoundN --- src/macedonian/AllMkd.gf | 3 ++- src/macedonian/ExtendMkd.gf | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/macedonian/ExtendMkd.gf diff --git a/src/macedonian/AllMkd.gf b/src/macedonian/AllMkd.gf index 30bb6409..c4c091c1 100644 --- a/src/macedonian/AllMkd.gf +++ b/src/macedonian/AllMkd.gf @@ -1,7 +1,8 @@ --# -path=.:../abstract:../common:../prelude:../api concrete AllMkd of AllMkdAbs = - LangMkd + LangMkd, + ExtendMkd ** { } ; diff --git a/src/macedonian/ExtendMkd.gf b/src/macedonian/ExtendMkd.gf new file mode 100644 index 00000000..c7bb2b62 --- /dev/null +++ b/src/macedonian/ExtendMkd.gf @@ -0,0 +1,27 @@ +--# -path=.:../abstract:../common:prelude +concrete ExtendMkd of Extend = CatMkd ** open ResMkd in { + +lin + CompoundN n1 n2 = + let comp : Species => Number => Str + = \\sp,n => case n1.relType of { + Pref => n1.rel ! sp ! genNum n2.g n ++ n2.s ! sp ! n ; + AdjMod => n1.rel ! sp ! genNum n2.g n ++ n2.s ! Indef ! n ; + AdvMod => n2.s ! sp ! n ++ n1.rel ! sp ! genNum n2.g n + } ; + voc : Number => Str + = \\n => ""{-case n1.relType of { + Pref => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; + AdjMod => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; + AdvMod => n2.vocative ! n ++ n1.rel ! Indef ! genNum n2.g n + }-} + in { + s = comp ; + count_form = comp ! Indef ! Pl ; + vocative = voc ; + rel = \\sp,n => "на" ++ comp ! sp ! Sg ; relType = AdvMod ; + g = n2.g + } ; + +} +