diff --git a/src/macedonian/VerbMkd.gf b/src/macedonian/VerbMkd.gf index b49a9dcc..75a3eb91 100644 --- a/src/macedonian/VerbMkd.gf +++ b/src/macedonian/VerbMkd.gf @@ -37,7 +37,7 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in { lin ComplVA va ap = va ** {compl = \\agr => ap.s ! Indef ! agr.g} ; lin ComplVQ vq qs = vq ** {compl = \\_ => qs.s} ; lin ComplVS vs s = vs ** {compl = \\_ => s.s} ; - lin ComplVV vv vp = vv ** {compl = \\agr => vp.compl ! agr} ; + lin ComplVV vv vp = vv ** {compl = \\agr => "да" ++ vp.present ! Perfective ! genNum2num agr.g ! agr.p ++ vp.compl ! agr} ; lin ExtAdvVP vp a = vp ** {compl = \\agr => vp.compl ! agr ++ SOFT_BIND++"," ++ a.s} ; lin Slash2V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p ++ np.s ! RSubj; @@ -75,130 +75,42 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in { compl = \\v => v3.present ! Imperfective ! Sg ! v.p ++ np.s ! RSubj; c2 = {s = v3.c2.s ++ np.s ! RSubj; c = v3.c2.c}} ; - lin SlashV2A v ap = {present = \\a,n,p => v.present ! a ! n ! p - ++ ap.s ! Indef ! GSg Masc; - aorist = \\n,p => v.aorist ! n ! p ++ ap.s ! Indef ! GSg Masc; - imperfect = \\a,n,p => v.imperfect ! a ! n ! p - ++ ap.s ! Indef ! GSg Masc; - imperative = \\a,n => v.imperative ! a ! n - ++ ap.s ! Indef ! GSg Masc; - participle = {aorist = \\a,g => v.participle.aorist ! a ! g - ++ ap.s ! Indef ! g; - imperfect = \\a,g => v.participle.imperfect ! a ! g - ++ ap.s ! Indef ! g; - perfect = \\a => v.participle.perfect ! a - ++ ap.s ! Indef ! GSg Masc; - adjectival = \\a => v.participle.adjectival ! a - ++ ap.s ! Indef ! GSg Masc; - adverbial = v.participle.adverbial ++ ap.s ! Indef ! GSg Masc}; - noun_from_verb = v.noun_from_verb ++ ap.s ! Indef ! GSg Masc; - vtype = v.vtype; - compl = \\v2 => v.present ! Imperfective ! Sg ! v2.p - ++ ap.s ! Indef ! v2.g; - c2 = {s = v.c2.s ++ ap.s ! Indef ! GSg Masc; c = v.c2.c}} ; - lin SlashV2Q v qs = {present = \\a,n,p => v.present ! a ! n ! p - ++ qs.s; - aorist = \\n,p => v.aorist ! n ! p ++ qs.s; - imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ qs.s; - imperative = \\a,n => v.imperative ! a ! n ++ qs.s; - participle = {aorist = \\a,g => v.participle.aorist ! a ! g - ++ qs.s; - imperfect = \\a,g => v.participle.imperfect ! a ! g ++ qs.s; - perfect = \\a => v.participle.perfect ! a ++ qs.s; - adjectival = \\a => v.participle.adjectival ! a ++ qs.s; - adverbial = v.participle.adverbial ++ qs.s}; - noun_from_verb = v.noun_from_verb ++ qs.s; vtype = v.vtype; - compl = \\v2 => v.present ! Imperfective ! Sg ! v2.p ++ qs.s; - c2 = {s = v.c2.s ++ qs.s; c = v.c2.c}} ; - lin SlashV2S v s = {present = \\a,n,p => v.present ! a ! n ! p - ++ s.s; - aorist = \\n,p => v.aorist ! n ! p ++ s.s; - imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s.s; - imperative = \\a,n => v.imperative ! a ! n ++ s.s; - participle = {aorist = \\a,g => v.participle.aorist ! a ! g ++ s.s; - imperfect = \\a,g => v.participle.imperfect ! a ! g ++ s.s; - perfect = \\a => v.participle.perfect ! a ++ s.s; - adjectival = \\a => v.participle.adjectival ! a ++ s.s; - adverbial = v.participle.adverbial ++ s.s}; - noun_from_verb = v.noun_from_verb ++ s.s; vtype = v.vtype; - compl = \\v2 => v.present ! Imperfective ! Sg ! v2.p ++ s.s; - c2 = {s = v.c2.s ++ s.s; c = v.c2.c}} ; - lin SlashV2V v vp = {present = \\a,n,p => v.present ! a ! n ! p - ++ vp.present ! a ! n ! p; - aorist = \\n,p => v.aorist ! n ! p ++ vp.aorist ! n ! p; - imperfect = \\a,n,p => v.imperfect ! a ! n ! p - ++ vp.imperfect ! a ! n ! p; - imperative = \\a,n => v.imperative ! a ! n - ++ vp.imperative ! a ! n; - participle = {aorist = \\a,g => v.participle.aorist ! a ! g - ++ vp.participle.aorist ! a ! g; - imperfect = \\a,g => v.participle.imperfect ! a ! g - ++ vp.participle.imperfect ! a ! g; - perfect = \\a => v.participle.perfect ! a - ++ vp.participle.perfect ! a; - adjectival = \\a => v.participle.adjectival ! a - ++ vp.participle.adjectival ! a; - adverbial = v.participle.adverbial ++ vp.participle.adverbial}; - noun_from_verb = v.noun_from_verb ++ vp.noun_from_verb; - vtype = vp.vtype; - compl = \\v2 => v.present ! Imperfective ! Sg ! v2.p - ++ vp.compl ! {g = GSg Masc; p = P1}; - c2 = {s = v.c2.s ++ vp.present ! Imperfective ! Sg ! P1; - c = v.c2.c}} ; - lin SlashV2VNP v np v2 = {present = \\a,n,p => v.present ! a ! n - ! p - ++ np.s ! RSubj ++ v2.present ! a ! n ! p; - aorist = \\n,p => v.aorist ! n ! p - ++ np.s ! RSubj ++ v2.aorist ! n ! p; - imperfect = \\a,n,p => v.imperfect ! a ! n ! p - ++ np.s ! RSubj ++ v2.imperfect ! a ! n ! p; - imperative = \\a,n => v.imperative ! a ! n - ++ np.s ! RSubj ++ v2.imperative ! a ! n; - participle = {aorist = \\a,g => v.participle.aorist ! a ! g - ++ np.s ! RSubj - ++ v2.participle.aorist ! a ! g; - imperfect = \\a,g => v.participle.imperfect ! a ! g - ++ np.s ! RSubj - ++ v2.participle.imperfect ! a - ! g; - perfect = \\a => v.participle.perfect ! a - ++ np.s ! RSubj - ++ v2.participle.perfect ! a; - adjectival = \\a => v.participle.adjectival ! a - ++ np.s ! RSubj - ++ v2.participle.adjectival - ! a; - adverbial = v.participle.adverbial - ++ np.s ! RSubj ++ v2.participle.adverbial}; - noun_from_verb = v.noun_from_verb - ++ np.s ! RSubj ++ v2.noun_from_verb; - vtype = v2.vtype; - compl = \\v3 => v.present ! Imperfective ! Sg ! v3.p - ++ np.s ! RSubj ++ v2.compl ! {g = GSg Masc; p = P1}; - c2 = {s = v.c2.s ++ np.s ! RSubj ++ v2.c2.s; c = v2.c2.c}} ; + lin SlashV2A v ap = v ** {compl = \\agr => ap.s ! Indef ! agr.g} ; + lin SlashV2Q v qs = v ** {compl = \\_ => qs.s} ; + lin SlashV2S v s = v ** {compl = \\_ => s.s} ; + lin SlashV2V v vp = v ** {compl = \\agr => "да" ++ vp.present ! Perfective ! genNum2num agr.g ! agr.p ++ vp.compl ! agr}; lin SlashV2a v = v ** {compl = \\_ => []} ; - lin SlashVV vv v = {present = \\a,n,p => vv.present ! a ! n ! p - ++ v.present ! a ! n ! p; - aorist = \\n,p => vv.aorist ! n ! p ++ v.aorist ! n ! p; - imperfect = \\a,n,p => vv.imperfect ! a ! n ! p - ++ v.imperfect ! a ! n ! p; - imperative = \\a,n => vv.imperative ! a ! n - ++ v.imperative ! a ! n; - participle = {aorist = \\a,g => vv.participle.aorist ! a ! g - ++ v.participle.aorist ! a ! g; - imperfect = \\a,g => vv.participle.imperfect ! a ! g - ++ v.participle.imperfect ! a ! g; - perfect = \\a => vv.participle.perfect ! a - ++ v.participle.perfect ! a; - adjectival = \\a => vv.participle.adjectival ! a - ++ v.participle.adjectival ! a; - adverbial = vv.participle.adverbial ++ v.participle.adverbial}; - noun_from_verb = vv.noun_from_verb ++ v.noun_from_verb; - vtype = v.vtype; - compl = \\v2 => vv.present ! Imperfective ! Sg ! v2.p - ++ v.compl ! {g = GSg Masc; p = P1}; - c2 = {s = vv.present ! Imperfective ! Sg ! P1 ++ v.c2.s; - c = v.c2.c}} ; + + lin UseComp comp = { + present = \\_=>auxBe.present ; + aorist = auxBe.imperfect ; + imperfect = \\_=>auxBe.imperfect ; + imperative = \\_=>auxBe.imperative ; + participle = {aorist = \\_=>auxBe.participle.aorist ; + imperfect = \\_=>auxBe.participle.imperfect ; + perfect = \\_=>nonExist ; + adjectival = \\_=>nonExist ; + adverbial = nonExist} ; + noun_from_verb = nonExist ; + compl = \\agr=>comp.s ! agr.g ; + vtype=VNormal + } ; + + lin UseCopula = { + present = \\_=>auxBe.present ; + aorist = auxBe.imperfect ; + imperfect = \\_=>auxBe.imperfect ; + imperative = \\_=>auxBe.imperative ; + participle = {aorist = \\_=>auxBe.participle.aorist ; + imperfect = \\_=>auxBe.participle.imperfect ; + perfect = \\_=>nonExist ; + adjectival = \\_=>nonExist ; + adverbial = nonExist} ; + noun_from_verb = nonExist ; + compl = \\_=>[] ; + vtype=VNormal + } ; + lin UseV v = v ** {compl = \\_ => []} ; lin VPSlashPrep vp p = {present = \\a,n,p2 => vp.present ! a ! n ! p2