added copula

This commit is contained in:
Krasimir Angelov
2026-04-14 08:59:01 +02:00
parent 76b27152f9
commit 8a8c1c6b42

View File

@@ -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