diff --git a/src/macedonian/AdverbMkd.gf b/src/macedonian/AdverbMkd.gf index 6c7d5c675..847c703a4 100644 --- a/src/macedonian/AdverbMkd.gf +++ b/src/macedonian/AdverbMkd.gf @@ -1,3 +1,3 @@ concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in { - lin PrepNP p np = {s = p.s ++ np.s} ; + lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ; } diff --git a/src/macedonian/CatMkd.gf b/src/macedonian/CatMkd.gf index cc72201a9..2a88da8cd 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; g : GenNum; p : Person} ; +lincat NP = {s : Role => 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 649f719ce..f79cca6f1 100644 --- a/src/macedonian/NounMkd.gf +++ b/src/macedonian/NounMkd.gf @@ -29,7 +29,7 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in { } ; lin DefArt = {s = []; sp = Def Unspecified} ; lin DetCN det cn = { - s = det.s ++ cn.s ! det.sp ! det.n; + s = \\r => det.s ++ cn.s ! det.sp ! det.n; vocative = det.s ++ cn.vocative ! det.n; g = case det.n of { Sg => GSg cn.g; @@ -43,4 +43,5 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in { lin NumPl = {s = []; n = Pl} ; lin NumSg = {s = []; n = Sg} ; lin UseN s = s ; + lin UsePron p = p ** {vocative=p.s ! RSubj} ; } diff --git a/src/macedonian/SentenceMkd.gf b/src/macedonian/SentenceMkd.gf index 4a6abca4c..771291470 100644 --- a/src/macedonian/SentenceMkd.gf +++ b/src/macedonian/SentenceMkd.gf @@ -5,9 +5,9 @@ concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in { 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}} ; + in {present = \\a => np.s ! RSubj ++ vp.present ! a ! n ! np.p ; + aorist = np.s ! RSubj ++ vp.aorist ! n ! np.p ; + participle = {aorist = \\a => np.s ! RSubj ++ vp.participle.aorist ! a ! np.g; + perfect = \\a => np.s ! RSubj ++ vp.participle.perfect ! a}} ; } diff --git a/src/macedonian/VerbMkd.gf b/src/macedonian/VerbMkd.gf index de97758e9..5352a466b 100644 --- a/src/macedonian/VerbMkd.gf +++ b/src/macedonian/VerbMkd.gf @@ -2,12 +2,12 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in { lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n ! p - ++ np.s; - aorist = \\n,p => vps.aorist ! n ! p ++ np.s; - imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s; - imperative = \\a,n => vps.imperative ! a ! n ++ np.s; - participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s; - perfect = \\a => vps.participle.perfect ! a ++ np.s}} ; + ++ np.s ! RObj Acc ; + aorist = \\n,p => vps.aorist ! n ! p ++ np.s ! RObj Acc; + imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s ! RObj Acc; + imperative = \\a,n => vps.imperative ! a ! n ++ np.s ! RObj Acc; + participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s ! RObj Acc; + perfect = \\a => vps.participle.perfect ! a ++ np.s ! RObj Acc}} ; lin SlashV2a v = v ; }