diff --git a/src/macedonian/CatMkd.gf b/src/macedonian/CatMkd.gf index 90ef43bb..cc72201a 100644 --- a/src/macedonian/CatMkd.gf +++ b/src/macedonian/CatMkd.gf @@ -24,7 +24,7 @@ linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V = linref A, A2 = \a -> a.s ! Indef ! GSg Masc ; lincat AP = {s : Species => GenNum => Str; isPre : Bool} ; -lincat NP = {s : Str; vocative: Str; n : Number; p : Person; g : Gender} ; +lincat NP = {s : Str; vocative: Str; g : GenNum; p : Person} ; lincat Num = {s : Str; n : Number} ; lincat Quant = {s : Str; sp : Species} ; lincat Det = {s : Str; n : Number; sp : Species} ; diff --git a/src/macedonian/NounMkd.gf b/src/macedonian/NounMkd.gf index 6031dfcb..649f719c 100644 --- a/src/macedonian/NounMkd.gf +++ b/src/macedonian/NounMkd.gf @@ -31,9 +31,11 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in { lin DetCN det cn = { s = det.s ++ cn.s ! det.sp ! det.n; vocative = det.s ++ cn.vocative ! det.n; - n = det.n; + g = case det.n of { + Sg => GSg cn.g; + Pl => GPl + } ; p = P3; - g = cn.g } ; lin DetQuant det num = {s = det.s ++ num.s; n = num.n; sp = det.sp} ; diff --git a/src/macedonian/SentenceMkd.gf b/src/macedonian/SentenceMkd.gf index ab5134f0..4a6abca4 100644 --- a/src/macedonian/SentenceMkd.gf +++ b/src/macedonian/SentenceMkd.gf @@ -1,11 +1,13 @@ concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in { - lin PredVP np vp = {present = \\a => np.s ++ vp.present ! a ! np.n ! np.p ; - aorist = np.s ++ vp.aorist ! np.n ! np.p ; - participle = {aorist = \\a => np.s ++ vp.participle.aorist ! a ! - case np.n of { - Sg => GSg np.g; - Pl => GPl - }; - perfect = \\a => np.s ++ vp.participle.perfect ! a}} ; + lin PredVP np vp = + let n = case np.g of { + GSg _ => Sg ; + GPl => Pl + } + in {present = \\a => np.s ++ vp.present ! a ! n ! np.p ; + aorist = np.s ++ vp.aorist ! n ! np.p ; + participle = {aorist = \\a => np.s ++ vp.participle.aorist ! a ! np.g; + perfect = \\a => np.s ++ vp.participle.perfect ! a}} ; + }