mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
added copula
This commit is contained in:
@@ -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 ComplVA va ap = va ** {compl = \\agr => ap.s ! Indef ! agr.g} ;
|
||||||
lin ComplVQ vq qs = vq ** {compl = \\_ => qs.s} ;
|
lin ComplVQ vq qs = vq ** {compl = \\_ => qs.s} ;
|
||||||
lin ComplVS vs s = vs ** {compl = \\_ => s.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 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
|
lin Slash2V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p
|
||||||
++ np.s ! RSubj;
|
++ np.s ! RSubj;
|
||||||
@@ -75,130 +75,42 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
|
|||||||
compl = \\v => v3.present ! Imperfective ! Sg ! v.p
|
compl = \\v => v3.present ! Imperfective ! Sg ! v.p
|
||||||
++ np.s ! RSubj;
|
++ np.s ! RSubj;
|
||||||
c2 = {s = v3.c2.s ++ np.s ! RSubj; c = v3.c2.c}} ;
|
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
|
lin SlashV2A v ap = v ** {compl = \\agr => ap.s ! Indef ! agr.g} ;
|
||||||
++ ap.s ! Indef ! GSg Masc;
|
lin SlashV2Q v qs = v ** {compl = \\_ => qs.s} ;
|
||||||
aorist = \\n,p => v.aorist ! n ! p ++ ap.s ! Indef ! GSg Masc;
|
lin SlashV2S v s = v ** {compl = \\_ => s.s} ;
|
||||||
imperfect = \\a,n,p => v.imperfect ! a ! n ! p
|
lin SlashV2V v vp = v ** {compl = \\agr => "да" ++ vp.present ! Perfective ! genNum2num agr.g ! agr.p ++ vp.compl ! agr};
|
||||||
++ 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 = v ** {compl = \\_ => []} ;
|
lin SlashV2a v = v ** {compl = \\_ => []} ;
|
||||||
lin SlashVV vv v = {present = \\a,n,p => vv.present ! a ! n ! p
|
|
||||||
++ v.present ! a ! n ! p;
|
lin UseComp comp = {
|
||||||
aorist = \\n,p => vv.aorist ! n ! p ++ v.aorist ! n ! p;
|
present = \\_=>auxBe.present ;
|
||||||
imperfect = \\a,n,p => vv.imperfect ! a ! n ! p
|
aorist = auxBe.imperfect ;
|
||||||
++ v.imperfect ! a ! n ! p;
|
imperfect = \\_=>auxBe.imperfect ;
|
||||||
imperative = \\a,n => vv.imperative ! a ! n
|
imperative = \\_=>auxBe.imperative ;
|
||||||
++ v.imperative ! a ! n;
|
participle = {aorist = \\_=>auxBe.participle.aorist ;
|
||||||
participle = {aorist = \\a,g => vv.participle.aorist ! a ! g
|
imperfect = \\_=>auxBe.participle.imperfect ;
|
||||||
++ v.participle.aorist ! a ! g;
|
perfect = \\_=>nonExist ;
|
||||||
imperfect = \\a,g => vv.participle.imperfect ! a ! g
|
adjectival = \\_=>nonExist ;
|
||||||
++ v.participle.imperfect ! a ! g;
|
adverbial = nonExist} ;
|
||||||
perfect = \\a => vv.participle.perfect ! a
|
noun_from_verb = nonExist ;
|
||||||
++ v.participle.perfect ! a;
|
compl = \\agr=>comp.s ! agr.g ;
|
||||||
adjectival = \\a => vv.participle.adjectival ! a
|
vtype=VNormal
|
||||||
++ v.participle.adjectival ! a;
|
} ;
|
||||||
adverbial = vv.participle.adverbial ++ v.participle.adverbial};
|
|
||||||
noun_from_verb = vv.noun_from_verb ++ v.noun_from_verb;
|
lin UseCopula = {
|
||||||
vtype = v.vtype;
|
present = \\_=>auxBe.present ;
|
||||||
compl = \\v2 => vv.present ! Imperfective ! Sg ! v2.p
|
aorist = auxBe.imperfect ;
|
||||||
++ v.compl ! {g = GSg Masc; p = P1};
|
imperfect = \\_=>auxBe.imperfect ;
|
||||||
c2 = {s = vv.present ! Imperfective ! Sg ! P1 ++ v.c2.s;
|
imperative = \\_=>auxBe.imperative ;
|
||||||
c = v.c2.c}} ;
|
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 UseV v = v ** {compl = \\_ => []} ;
|
||||||
lin VPSlashPrep vp p = {present = \\a,n,p2 => vp.present ! a ! n
|
lin VPSlashPrep vp p = {present = \\a,n,p2 => vp.present ! a ! n
|
||||||
! p2
|
! p2
|
||||||
|
|||||||
Reference in New Issue
Block a user