Files
gf-rgl/src/macedonian/IdiomMkd.gf
T

67 lines
3.7 KiB
Plaintext

concrete IdiomMkd of Idiom = CatMkd ** open Prelude,ResMkd,MorphoMkd in {
lin CleftAdv a s = {s = \\t,a2,p,o => a.s ++ s.s} ;
lin CleftNP np rs = {s = \\t,a,p,o => np.s ! RSubj
++ rs.s ! np.a.g} ;
lin ExistIP ip = {s = \\t,a,p => ip.s} ;
lin ExistIPAdv ip a = {s = \\t,a2,p => ip.s ++ a.s} ;
lin ExistNP np = {
s = \\o,t,a,p =>
let vp = case p of {
Pos => mkV001 "има" ;
Neg => mkV001 "нема"
} ** {compl : Agr => Str = \\_ => np.s ! RSubj} ;
in mkClause [] {g=GSg Neuter; p=P3} vp ! o ! t ! a ! Pos
} ;
lin ExistNPAdv np a = {
s = \\o,t,a2,p =>
let vp = case p of {
Pos => mkV001 "има" ;
Neg => mkV001 "нема"
} ** {compl : Agr => Str = \\_ => np.s ! RSubj ++ a.s} ;
in mkClause [] {g=GSg Neuter; p=P3} vp ! o ! t ! a2 ! Pos
} ;
lin GenericCl vp = {s = \\t,a,p,o => vp.present ! Imperfective ! Sg
! P1} ;
lin ImpP3 np vp = {s = np.s ! RSubj
++ vp.present ! Imperfective ! Sg ! np.a.p} ;
lin ImpPl1 vp = {s = vp.present ! Imperfective ! Sg ! P1} ;
lin ImpersCl vp = {s = \\t,a,p,o => vp.present ! Imperfective ! Sg
! P1} ;
lin ProgrVP vp = vp ** {
present = \\a,n,p => vp.present ! Imperfective ! n ! p ;
imperfect = \\a,n,p => vp.imperfect ! Imperfective ! n ! p ;
imperative = \\a,n => vp.imperative ! Imperfective ! n ;
participle = {aorist = \\a,gn => vp.participle.aorist ! Imperfective ! gn ;
perfect = \\a => vp.participle.perfect ! Imperfective ;
imperfect = \\a => vp.participle.imperfect ! Imperfective ;
adjectival = vp.participle.adjectival ;
adverbial = vp.participle.adverbial}
} ;
lin SelfAdVVP vp = {present = \\a,n,p => vp.present ! a ! n ! p;
aorist = \\n,p => vp.aorist ! n ! p;
imperfect = \\a,n,p => vp.imperfect ! a ! n ! p;
imperative = \\a,n => vp.imperative ! a ! n;
participle = {aorist = \\a,g => vp.participle.aorist ! a ! g;
imperfect = \\a,g => vp.participle.imperfect ! a ! g;
perfect = \\a => vp.participle.perfect ! a;
adjectival = \\a => vp.participle.adjectival ! a;
adverbial = vp.participle.adverbial};
noun_from_verb = vp.noun_from_verb; vtype = vp.vtype;
compl = \\v => vp.compl ! {g = GSg Masc; p = P1}} ;
lin SelfAdvVP vp = {present = \\a,n,p => vp.present ! a ! n ! p;
aorist = \\n,p => vp.aorist ! n ! p;
imperfect = \\a,n,p => vp.imperfect ! a ! n ! p;
imperative = \\a,n => vp.imperative ! a ! n;
participle = {aorist = \\a,g => vp.participle.aorist ! a ! g;
imperfect = \\a,g => vp.participle.imperfect ! a ! g;
perfect = \\a => vp.participle.perfect ! a;
adjectival = \\a => vp.participle.adjectival ! a;
adverbial = vp.participle.adverbial};
noun_from_verb = vp.noun_from_verb; vtype = vp.vtype;
compl = \\v => vp.compl ! {g = GSg Masc; p = P1}} ;
lin SelfNP np = {s = \\r => np.s ! r; vocative = np.vocative;
a = {g = np.a.g; p = np.a.p}} ;
}