mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 09:28:54 -06:00
added pidgin rules
This commit is contained in:
@@ -1,4 +1,21 @@
|
|||||||
concrete AdjectiveMkd of Adjective = CatMkd ** open Prelude,ResMkd in {
|
concrete AdjectiveMkd of Adjective = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
|
||||||
|
lin AdAP a ap = {s = \\s,g => a.s ++ ap.s ! s ! g;
|
||||||
|
isPre = ap.isPre} ;
|
||||||
|
lin AdjOrd o = {s = \\s,g => o.s; isPre = False} ;
|
||||||
|
lin AdvAP ap a = {s = \\s,g => ap.s ! s ! g ++ a.s;
|
||||||
|
isPre = ap.isPre} ;
|
||||||
|
lin CAdvAP c ap np = {s = \\s,g => c.s
|
||||||
|
++ ap.s ! s ! g ++ np.s ! RSubj;
|
||||||
|
isPre = ap.isPre} ;
|
||||||
|
lin ComparA a np = {s = \\s,g => a.s ! s ! g ++ np.s ! RSubj;
|
||||||
|
isPre = False} ;
|
||||||
|
lin ComplA2 a2 np = {s = \\s,g => a2.s ! s ! g ++ np.s ! RSubj;
|
||||||
|
isPre = False} ;
|
||||||
lin PositA a = a ** {isPre = True} ;
|
lin PositA a = a ** {isPre = True} ;
|
||||||
|
lin ReflA2 a2 = {s = \\s,g => a2.s ! s ! g; isPre = False} ;
|
||||||
|
lin SentAP ap sc = {s = \\s,g => ap.s ! s ! g ++ sc.s;
|
||||||
|
isPre = ap.isPre} ;
|
||||||
|
lin UseA2 a2 = {s = \\s,g => a2.s ! s ! g; isPre = False} ;
|
||||||
|
lin UseComparA a = {s = \\s,g => a.s ! s ! g; isPre = False} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in {
|
concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
lin AdAdv a a2 = {s = a.s ++ a2.s} ;
|
||||||
|
lin AdnCAdv c = {s = c.s} ;
|
||||||
|
lin ComparAdvAdj c a np = {s = c.s
|
||||||
|
++ a.s ! Indef ! np.a.g ++ np.s ! RSubj} ;
|
||||||
|
lin ComparAdvAdjS c a s = {s = c.s
|
||||||
|
++ a.s ! Indef ! GSg Masc ++ s.s} ;
|
||||||
|
lin PositAdAAdj a = {s = a.s ! Indef ! GSg Masc} ;
|
||||||
|
lin PositAdvAdj a = {s = a.s ! Indef ! GSg Masc} ;
|
||||||
lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ;
|
lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ;
|
||||||
|
lin SubjS s s2 = {s = s.s ++ s2.s} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
concrete GrammarMkd of Grammar = VerbMkd,SentenceMkd,QuestionMkd,NounMkd,AdverbMkd,AdjectiveMkd,IdiomMkd,NumeralMkd,PhraseMkd,RelativeMkd,TextMkd,StructuralMkd,TenseMkd ** {
|
concrete GrammarMkd of Grammar = NamesMkd,VerbMkd,SentenceMkd,QuestionMkd,NounMkd,AdverbMkd,AdjectiveMkd,IdiomMkd,NumeralMkd,PhraseMkd,RelativeMkd,TextMkd,StructuralMkd,TenseMkd ** {
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,19 @@
|
|||||||
concrete IdiomMkd of Idiom = CatMkd ** open Prelude,ResMkd in {
|
concrete IdiomMkd of Idiom = CatMkd ** open Prelude,ResMkd 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 = \\t,a,p,o => np.s ! RSubj} ;
|
||||||
|
lin ExistNPAdv np a = {s = \\t,a2,p,o => np.s ! RSubj ++ a.s} ;
|
||||||
|
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 ** {
|
lin ProgrVP vp = vp ** {
|
||||||
present = \\a,n,p => vp.present ! Imperfective ! n ! p ;
|
present = \\a,n,p => vp.present ! Imperfective ! n ! p ;
|
||||||
imperfect = \\a,n,p => vp.imperfect ! Imperfective ! n ! p ;
|
imperfect = \\a,n,p => vp.imperfect ! Imperfective ! n ! p ;
|
||||||
@@ -11,4 +25,28 @@ lin ProgrVP vp = vp ** {
|
|||||||
adverbial = vp.participle.adverbial}
|
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}} ;
|
||||||
}
|
}
|
||||||
|
|||||||
20
src/macedonian/NamesMkd.gf
Normal file
20
src/macedonian/NamesMkd.gf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
concrete NamesMkd of Names = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
flags
|
||||||
|
coding = "UTF-8" ;
|
||||||
|
lin AdjLN ap ln = {s = ap.s ! Indef ! GSg Masc ++ ln.s} ;
|
||||||
|
lin FemaleSurname sn = {s = \\r => sn.s; vocative = sn.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin FullName gn sn = {s = \\r => gn.s ++ sn.s;
|
||||||
|
vocative = gn.s ++ sn.s; a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin GivenName gn = {s = \\r => gn.s; vocative = gn.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin InLN ln = {s = ln.s} ;
|
||||||
|
lin MaleSurname sn = {s = \\r => sn.s; vocative = sn.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin PlSurname sn = {s = \\r => sn.s; vocative = sn.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin PlainLN ln = {s = \\r => ln.s; vocative = ln.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin UseLN ln = {s = \\r => ln.s; vocative = ln.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
lin AdNum a c = {s = a.s ++ c.s} ;
|
||||||
lin AdjCN ap cn = {
|
lin AdjCN ap cn = {
|
||||||
s = case ap.isPre of {
|
s = case ap.isPre of {
|
||||||
True => \\s,n => ap.s ! s
|
True => \\s,n => ap.s ! s
|
||||||
@@ -21,12 +22,30 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
|||||||
} ++
|
} ++
|
||||||
cn.vocative ! n;
|
cn.vocative ! n;
|
||||||
count_form = ap.s ! Indef ! GPl ++ cn.count_form; g = cn.g} ;
|
count_form = ap.s ! Indef ! GPl ++ cn.count_form; g = cn.g} ;
|
||||||
|
lin AdjDAP d ap = {s = d.s ++ ap.s ! Indef ! GSg Masc} ;
|
||||||
lin AdvCN cn adv = {
|
lin AdvCN cn adv = {
|
||||||
s = \\s,n => cn.s ! s ! n ++ adv.s;
|
s = \\s,n => cn.s ! s ! n ++ adv.s;
|
||||||
count_form = cn.count_form ++ adv.s;
|
count_form = cn.count_form ++ adv.s;
|
||||||
vocative = \\n => cn.vocative ! n ++ adv.s;
|
vocative = \\n => cn.vocative ! n ++ adv.s;
|
||||||
g = cn.g
|
g = cn.g
|
||||||
} ;
|
} ;
|
||||||
|
lin AdvNP np a = {s = \\r => np.s ! r ++ a.s;
|
||||||
|
vocative = np.vocative ++ a.s; a = {g = np.a.g; p = np.a.p}} ;
|
||||||
|
lin ApposCN cn np = {s = \\s,n => cn.s ! s ! n ++ np.s ! RSubj;
|
||||||
|
count_form = cn.count_form ++ np.s ! RSubj;
|
||||||
|
vocative = \\n => cn.vocative ! n ++ np.vocative; g = cn.g} ;
|
||||||
|
lin ComplN2 n2 np = {s = \\s,n => n2.s ! s ! n ++ np.s ! RSubj;
|
||||||
|
count_form = n2.count_form ++ np.s ! RSubj;
|
||||||
|
vocative = \\n => n2.vocative ! n ++ np.vocative; g = n2.g} ;
|
||||||
|
lin ComplN3 n3 np = {s = \\s,n => n3.s ! s ! n ++ np.s ! RSubj;
|
||||||
|
count_form = n3.count_form ++ np.s ! RSubj;
|
||||||
|
vocative = \\n => n3.vocative ! n ++ np.vocative;
|
||||||
|
rel = \\s,g => n3.rel ! s ! g ++ np.s ! RSubj;
|
||||||
|
relType = n3.relType; g = n3.g;
|
||||||
|
c2 = {s = n3.c2.s ++ np.s ! RSubj; c = n3.c2.c}} ;
|
||||||
|
lin CountNP d np = {s = \\r => d.s ! Masc ++ np.s ! r;
|
||||||
|
vocative = d.s ! Masc ++ np.vocative;
|
||||||
|
a = {g = np.a.g; p = np.a.p}} ;
|
||||||
lin DefArt = {s = \\_=>[]; sp = Def Unspecified} ;
|
lin DefArt = {s = \\_=>[]; sp = Def Unspecified} ;
|
||||||
lin DetCN det cn = {
|
lin DetCN det cn = {
|
||||||
s = \\r => case det.n of {
|
s = \\r => case det.n of {
|
||||||
@@ -37,10 +56,23 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
|||||||
a = {g = genNum cn.g (nnum2num det.n) ;
|
a = {g = genNum cn.g (nnum2num det.n) ;
|
||||||
p = P3};
|
p = P3};
|
||||||
} ;
|
} ;
|
||||||
|
lin DetDAP d = {s = d.s ! Masc} ;
|
||||||
|
lin DetNP d = {s = \\r => d.s ! Masc; vocative = d.s ! Masc;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
lin DetQuant q num = {s = \\g => q.s ! genNum g (nnum2num num.n) ++ num.s;
|
lin DetQuant q num = {s = \\g => q.s ! genNum g (nnum2num num.n) ++ num.s;
|
||||||
n = num.n;
|
n = num.n;
|
||||||
sp = q.sp} ;
|
sp = q.sp} ;
|
||||||
|
lin DetQuantOrd q n o = {s = \\g => q.s ! GSg Masc ++ n.s ++ o.s;
|
||||||
|
n = n.n; sp = q.sp} ;
|
||||||
|
lin ExtAdvNP np a = {s = \\r => np.s ! r ++ a.s;
|
||||||
|
vocative = np.vocative ++ a.s; a = {g = np.a.g; p = np.a.p}} ;
|
||||||
lin IndefArt = {s = \\_=>[]; sp = Indef} ;
|
lin IndefArt = {s = \\_=>[]; sp = Indef} ;
|
||||||
|
lin MassNP cn = {s = \\r => cn.s ! Indef ! Sg;
|
||||||
|
vocative = cn.vocative ! Sg; a = {g = GSg Masc; p = P1}} ;
|
||||||
|
lin NumCard c = {s = c.s; n = NNum Sg} ;
|
||||||
|
lin NumDecimal d = {s = d.s} ;
|
||||||
|
lin NumDigits d = {s = d.s} ;
|
||||||
|
lin NumNumeral n = {s = n.s} ;
|
||||||
lin NumPl = {s = []; n = NNum Pl} ;
|
lin NumPl = {s = []; n = NNum Pl} ;
|
||||||
lin NumSg = {s = []; n = NNum Sg} ;
|
lin NumSg = {s = []; n = NNum Sg} ;
|
||||||
lin UseN s = s ;
|
lin UseN s = s ;
|
||||||
@@ -51,10 +83,45 @@ concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
|
|||||||
vocative = np.vocative ++ rs.s ! np.a.g ;
|
vocative = np.vocative ++ rs.s ! np.a.g ;
|
||||||
a = np.a;
|
a = np.a;
|
||||||
} ;
|
} ;
|
||||||
|
lin OrdDigits d = {s = d.s} ;
|
||||||
|
lin OrdNumeral n = {s = n.s} ;
|
||||||
|
lin OrdNumeralSuperl n a = {s = n.s ++ a.s ! Indef ! GSg Masc} ;
|
||||||
|
lin OrdSuperl a = {s = a.s ! Indef ! GSg Masc} ;
|
||||||
|
lin PPartNP np v2 = {s = \\r => np.s ! r
|
||||||
|
++ v2.present ! Imperfective ! Sg ! np.a.p;
|
||||||
|
vocative = np.vocative ++ v2.present ! Imperfective ! Sg ! np.a.p;
|
||||||
|
a = {g = np.a.g; p = np.a.p}} ;
|
||||||
|
lin PartNP cn np = {s = \\s,n => cn.s ! s ! n ++ np.s ! RSubj;
|
||||||
|
count_form = cn.count_form ++ np.s ! RSubj;
|
||||||
|
vocative = \\n => cn.vocative ! n ++ np.vocative; g = cn.g} ;
|
||||||
|
lin PossNP cn np = {s = \\s,n => cn.s ! s ! n ++ np.s ! RSubj;
|
||||||
|
count_form = cn.count_form ++ np.s ! RSubj;
|
||||||
|
vocative = \\n => cn.vocative ! n ++ np.vocative; g = cn.g} ;
|
||||||
|
lin PossPron p = {s = \\g => p.s ! RSubj; sp = Indef} ;
|
||||||
|
lin PredetNP p np = {s = \\r => p.s ++ np.s ! r;
|
||||||
|
vocative = p.s ++ np.vocative; a = {g = np.a.g; p = np.a.p}} ;
|
||||||
|
lin QuantityNP d mu = {s = \\r => d.s ++ mu.s;
|
||||||
|
vocative = d.s ++ mu.s; a = {g = GSg Masc; p = P1}} ;
|
||||||
lin RelCN cn rs = {
|
lin RelCN cn rs = {
|
||||||
s = \\sp,n => cn.s ! sp ! n ++ rs.s ! genNum cn.g n ;
|
s = \\sp,n => cn.s ! sp ! n ++ rs.s ! genNum cn.g n ;
|
||||||
count_form = cn.count_form ++ rs.s ! GPl ;
|
count_form = cn.count_form ++ rs.s ! GPl ;
|
||||||
vocative = \\n => cn.vocative ! n ++ rs.s ! genNum cn.g n ;
|
vocative = \\n => cn.vocative ! n ++ rs.s ! genNum cn.g n ;
|
||||||
g = cn.g;
|
g = cn.g;
|
||||||
} ;
|
} ;
|
||||||
|
lin SentCN cn sc = {s = \\s,n => cn.s ! s ! n ++ sc.s;
|
||||||
|
count_form = cn.count_form ++ sc.s;
|
||||||
|
vocative = \\n => cn.vocative ! n ++ sc.s; g = cn.g} ;
|
||||||
|
lin Use2N3 n3 = {s = \\s,n => n3.s ! s ! n;
|
||||||
|
count_form = n3.count_form; vocative = \\n => n3.vocative ! n;
|
||||||
|
rel = \\s,g => n3.rel ! s ! g; relType = n3.relType; g = n3.g;
|
||||||
|
c2 = {s = n3.c2.s; c = n3.c2.c}} ;
|
||||||
|
lin Use3N3 n3 = {s = \\s,n => n3.s ! s ! n;
|
||||||
|
count_form = n3.count_form; vocative = \\n => n3.vocative ! n;
|
||||||
|
rel = \\s,g => n3.rel ! s ! g; relType = n3.relType; g = n3.g;
|
||||||
|
c2 = {s = n3.c2.s; c = n3.c2.c}} ;
|
||||||
|
lin UseN2 n2 = {s = \\s,n => n2.s ! s ! n;
|
||||||
|
count_form = n2.count_form; vocative = \\n => n2.vocative ! n;
|
||||||
|
g = n2.g} ;
|
||||||
|
lin UsePN pn = {s = \\r => pn.s; vocative = pn.s;
|
||||||
|
a = {g = GSg Masc; p = P1}} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,21 @@
|
|||||||
concrete PhraseMkd of Phrase = CatMkd ** open Prelude, ResMkd in {
|
concrete PhraseMkd of Phrase = CatMkd ** open Prelude, ResMkd in {
|
||||||
|
lin NoPConj = {s : Str = []} ;
|
||||||
lin
|
lin NoVoc = {s : Str = []} ;
|
||||||
PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
lin PConjConj c = {s = c.s} ;
|
||||||
|
lin PhrUtt pconj utt voc = {s : Str = pconj.s ++ utt.s ++ voc.s} ;
|
||||||
UttS s = s ;
|
lin UttAP ap = {s = ap.s ! Indef ! GSg Masc} ;
|
||||||
UttQS s = s ;
|
lin UttAdv a = {s = a.s} ;
|
||||||
UttInterj i = i ;
|
lin UttCN cn = {s = cn.s ! Indef ! Sg} ;
|
||||||
|
lin UttCard c = {s = c.s} ;
|
||||||
NoPConj = {s = []} ;
|
lin UttIAdv i = {s = i.s} ;
|
||||||
|
lin UttIP ip = {s = ip.s} ;
|
||||||
NoVoc = {s = []} ;
|
lin UttImpPl p i = {s = p.s ++ i.s} ;
|
||||||
VocNP np = {s = SOFT_BIND++"," ++ np.vocative} ;
|
lin UttImpPol p i = {s = p.s ++ i.s} ;
|
||||||
|
lin UttImpSg p i = {s = p.s ++ i.s} ;
|
||||||
|
lin UttInterj i = i ;
|
||||||
|
lin UttNP np = {s = np.s ! RSubj} ;
|
||||||
|
lin UttQS s = s ;
|
||||||
|
lin UttS s = s ;
|
||||||
|
lin UttVP vp = {s = vp.present ! Imperfective ! Sg ! P1} ;
|
||||||
|
lin VocNP np = {s : Str = SOFT_BIND ++ "," ++ np.vocative} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
concrete QuestionMkd of Question = CatMkd ** open Prelude,ResMkd in {
|
concrete QuestionMkd of Question = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
lin AdvIAdv i a = {s = i.s ++ a.s} ;
|
||||||
|
lin AdvIP ip a = {s = ip.s ++ a.s; g = ip.g} ;
|
||||||
|
lin CompIAdv i = {s = i.s} ;
|
||||||
|
lin CompIP ip = {s = ip.s} ;
|
||||||
|
lin IdetCN i cn = {s = i.s ! cn.g ++ cn.s ! Indef ! i.n;
|
||||||
|
g = GSg Masc} ;
|
||||||
|
lin IdetIP i = {s = i.s ! Masc; g = GSg Masc} ;
|
||||||
|
lin IdetQuant i n = {s = \\g => i.s ! GSg Masc ++ n.s; n = Sg} ;
|
||||||
|
lin PrepIP p ip = {s = p.s ++ ip.s} ;
|
||||||
|
lincat QVP = {s : Str} ;
|
||||||
lin QuestCl cl = {s = \\t,a,p => cl.s ! t ! a ! p ! Quest} ;
|
lin QuestCl cl = {s = \\t,a,p => cl.s ! t ! a ! p ! Quest} ;
|
||||||
|
lin QuestIAdv i cl = {s = \\t,a,p => i.s
|
||||||
|
++ cl.s ! t ! a ! p ! Main} ;
|
||||||
|
lin QuestIComp i np = {s = \\t,a,p => i.s ++ np.s ! RSubj} ;
|
||||||
|
lin QuestSlash ip c = {s = \\t,a,p => ip.s ++ c.s} ;
|
||||||
|
lin QuestVP ip vp = {s = \\t,a,p => ip.s
|
||||||
|
++ vp.present ! Imperfective ! Sg ! P1} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
concrete RelativeMkd of Relative = CatMkd ** open Prelude,ResMkd in {
|
concrete RelativeMkd of Relative = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
lin FunRP p np rp = {s = \\g => p.s ++ np.s ! RSubj ++ rp.s ! g} ;
|
||||||
lin IdRP = {s = table {
|
lin IdRP = {s = table {
|
||||||
GSg Masc => "кој" ;
|
GSg Masc => "кој" ;
|
||||||
GSg Fem => "која" ;
|
GSg Fem => "која" ;
|
||||||
@@ -6,6 +7,8 @@ concrete RelativeMkd of Relative = CatMkd ** open Prelude,ResMkd in {
|
|||||||
GPl => "кои"
|
GPl => "кои"
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
|
lin RelCl cl = {s = \\g,t,a,p => cl.s ! t ! a ! p ! Main} ;
|
||||||
|
lin RelSlash rp c = {s = \\g,t,a,p => rp.s ! g ++ c.s} ;
|
||||||
lin RelVP rp vp = {
|
lin RelVP rp vp = {
|
||||||
s = \\gn,t,a,p => mkClause (rp.s ! gn) {g=gn; p=P3} vp ! t ! a ! p ! Main
|
s = \\gn,t,a,p => mkClause (rp.s ! gn) {g=gn; p=P3} vp ! t ! a ! p ! Main
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -1,15 +1,25 @@
|
|||||||
concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
|
concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
lin AdvImp a i = {s = a.s ++ i.s} ;
|
||||||
|
lin AdvS a s = {s = a.s ++ s.s} ;
|
||||||
|
lin AdvSlash c a = {s = c.s ++ a.s} ;
|
||||||
|
lin EmbedQS qs = {s = qs.s} ;
|
||||||
|
lin EmbedS s = {s = s.s} ;
|
||||||
|
lin EmbedVP vp = {s = vp.present ! Imperfective ! Sg ! P1} ;
|
||||||
|
lin ExtAdvS a s = {s = a.s ++ s.s} ;
|
||||||
|
lin ImpVP vp = {s = vp.present ! Imperfective ! Sg ! P1} ;
|
||||||
|
lin PredSCVP sc vp = {s = \\t,a,p,o => sc.s
|
||||||
|
++ vp.present ! Imperfective ! Sg ! P1} ;
|
||||||
lin PredVP np vp = {s = mkClause (np.s ! RSubj) np.a vp} ;
|
lin PredVP np vp = {s = mkClause (np.s ! RSubj) np.a vp} ;
|
||||||
|
lin RelS s rs = {s = s.s ++ rs.s ! GSg Masc} ;
|
||||||
UseCl t p cl = {
|
lin SSubjS s s2 s3 = {s = s.s ++ s2.s ++ s3.s} ;
|
||||||
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Main
|
lin SlashPrep cl p = {s = cl.s ! VPresent ! Simul ! Pos ! Main
|
||||||
} ;
|
++ p.s} ;
|
||||||
UseQCl t p cl = {
|
lin SlashVP np v = {s = np.s ! RSubj
|
||||||
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p
|
++ v.present ! Imperfective ! Sg ! np.a.p} ;
|
||||||
} ;
|
lin SlashVS np vs s = {s = np.s ! RSubj
|
||||||
UseRCl t p cl = {
|
++ vs.present ! Imperfective ! Sg ! np.a.p ++ s.s} ;
|
||||||
s = \\gn => t.s ++ p.s ++ cl.s ! gn ! t.t ! t.a ! p.p
|
lin UseCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Main} ;
|
||||||
} ;
|
lin UseQCl t p cl = {s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p} ;
|
||||||
|
lin UseRCl t p cl = {s = \\gn => t.s ++ p.s ++ cl.s ! gn ! t.t ! t.a ! p.p} ;
|
||||||
|
lin UseSlash t p c = {s = t.s ++ p.s ++ c.s} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,351 @@
|
|||||||
concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
|
concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
|
||||||
|
|
||||||
lin UseV v = v ** {compl = \\_ => []};
|
lin AdVVP a vp = {present = \\a2,n,p => a.s
|
||||||
|
++ vp.present ! a2 ! n ! p;
|
||||||
|
aorist = \\n,p => a.s ++ vp.aorist ! n ! p;
|
||||||
|
imperfect = \\a2,n,p => a.s ++ vp.imperfect ! a2 ! n ! p;
|
||||||
|
imperative = \\a2,n => a.s ++ vp.imperative ! a2 ! n;
|
||||||
|
participle = {aorist = \\a2,g => a.s
|
||||||
|
++ vp.participle.aorist ! a2 ! g;
|
||||||
|
imperfect = \\a2,g => a.s ++ vp.participle.imperfect ! a2 ! g;
|
||||||
|
perfect = \\a2 => a.s ++ vp.participle.perfect ! a2;
|
||||||
|
adjectival = \\a2 => a.s ++ vp.participle.adjectival ! a2;
|
||||||
|
adverbial = a.s ++ vp.participle.adverbial};
|
||||||
|
noun_from_verb = a.s ++ vp.noun_from_verb; vtype = vp.vtype;
|
||||||
|
compl = \\v => a.s ++ vp.compl ! {g = GSg Masc; p = P1}} ;
|
||||||
|
lin AdVVPSlash a v = {present = \\a2,n,p => a.s
|
||||||
|
++ v.present ! a2 ! n ! p;
|
||||||
|
aorist = \\n,p => a.s ++ v.aorist ! n ! p;
|
||||||
|
imperfect = \\a2,n,p => a.s ++ v.imperfect ! a2 ! n ! p;
|
||||||
|
imperative = \\a2,n => a.s ++ v.imperative ! a2 ! n;
|
||||||
|
participle = {aorist = \\a2,g => a.s
|
||||||
|
++ v.participle.aorist ! a2 ! g;
|
||||||
|
imperfect = \\a2,g => a.s ++ v.participle.imperfect ! a2 ! g;
|
||||||
|
perfect = \\a2 => a.s ++ v.participle.perfect ! a2;
|
||||||
|
adjectival = \\a2 => a.s ++ v.participle.adjectival ! a2;
|
||||||
|
adverbial = a.s ++ v.participle.adverbial};
|
||||||
|
noun_from_verb = a.s ++ v.noun_from_verb; vtype = v.vtype;
|
||||||
|
compl = \\v2 => a.s ++ v.compl ! {g = GSg Masc; p = P1};
|
||||||
|
c2 = {s = a.s ++ v.c2.s; c = v.c2.c}} ;
|
||||||
|
lin AdvVP vp a = {present = \\a2,n,p => vp.present ! a2 ! n ! p
|
||||||
|
++ a.s;
|
||||||
|
aorist = \\n,p => vp.aorist ! n ! p ++ a.s;
|
||||||
|
imperfect = \\a2,n,p => vp.imperfect ! a2 ! n ! p ++ a.s;
|
||||||
|
imperative = \\a2,n => vp.imperative ! a2 ! n ++ a.s;
|
||||||
|
participle = {aorist = \\a2,g => vp.participle.aorist ! a2 ! g
|
||||||
|
++ a.s;
|
||||||
|
imperfect = \\a2,g => vp.participle.imperfect ! a2 ! g ++ a.s;
|
||||||
|
perfect = \\a2 => vp.participle.perfect ! a2 ++ a.s;
|
||||||
|
adjectival = \\a2 => vp.participle.adjectival ! a2 ++ a.s;
|
||||||
|
adverbial = vp.participle.adverbial ++ a.s};
|
||||||
|
noun_from_verb = vp.noun_from_verb ++ a.s; vtype = vp.vtype;
|
||||||
|
compl = \\v => vp.compl ! {g = GSg Masc; p = P1} ++ a.s} ;
|
||||||
|
lin AdvVPSlash v a = {present = \\a2,n,p => v.present ! a2 ! n ! p
|
||||||
|
++ a.s;
|
||||||
|
aorist = \\n,p => v.aorist ! n ! p ++ a.s;
|
||||||
|
imperfect = \\a2,n,p => v.imperfect ! a2 ! n ! p ++ a.s;
|
||||||
|
imperative = \\a2,n => v.imperative ! a2 ! n ++ a.s;
|
||||||
|
participle = {aorist = \\a2,g => v.participle.aorist ! a2 ! g
|
||||||
|
++ a.s;
|
||||||
|
imperfect = \\a2,g => v.participle.imperfect ! a2 ! g ++ a.s;
|
||||||
|
perfect = \\a2 => v.participle.perfect ! a2 ++ a.s;
|
||||||
|
adjectival = \\a2 => v.participle.adjectival ! a2 ++ a.s;
|
||||||
|
adverbial = v.participle.adverbial ++ a.s};
|
||||||
|
noun_from_verb = v.noun_from_verb ++ a.s; vtype = v.vtype;
|
||||||
|
compl = \\v2 => v.compl ! {g = GSg Masc; p = P1} ++ a.s;
|
||||||
|
c2 = {s = v.c2.s ++ a.s; c = v.c2.c}} ;
|
||||||
|
lin CompAP ap = {s = ap.s ! Indef ! GSg Masc} ;
|
||||||
|
lin CompAdv a = {s = a.s} ;
|
||||||
|
lin CompCN cn = {s = cn.s ! Indef ! Sg} ;
|
||||||
|
lin CompNP np = {s = np.s ! RSubj} ;
|
||||||
lin ComplSlash vp np = vp ** {compl = \\a => vp.compl ! a ++ vp.c2.s ++ np.s ! RObj vp.c2.c} ;
|
lin ComplSlash vp np = vp ** {compl = \\a => vp.compl ! a ++ vp.c2.s ++ np.s ! RObj vp.c2.c} ;
|
||||||
|
lin ComplVA va ap = {present = \\a,n,p => va.present ! a ! n ! p
|
||||||
|
++ ap.s ! Indef ! GSg Masc;
|
||||||
|
aorist = \\n,p => va.aorist ! n ! p ++ ap.s ! Indef ! GSg Masc;
|
||||||
|
imperfect = \\a,n,p => va.imperfect ! a ! n ! p
|
||||||
|
++ ap.s ! Indef ! GSg Masc;
|
||||||
|
imperative = \\a,n => va.imperative ! a ! n
|
||||||
|
++ ap.s ! Indef ! GSg Masc;
|
||||||
|
participle = {aorist = \\a,g => va.participle.aorist ! a ! g
|
||||||
|
++ ap.s ! Indef ! g;
|
||||||
|
imperfect = \\a,g => va.participle.imperfect ! a ! g
|
||||||
|
++ ap.s ! Indef ! g;
|
||||||
|
perfect = \\a => va.participle.perfect ! a
|
||||||
|
++ ap.s ! Indef ! GSg Masc;
|
||||||
|
adjectival = \\a => va.participle.adjectival ! a
|
||||||
|
++ ap.s ! Indef ! GSg Masc;
|
||||||
|
adverbial = va.participle.adverbial
|
||||||
|
++ ap.s ! Indef ! GSg Masc};
|
||||||
|
noun_from_verb = va.noun_from_verb ++ ap.s ! Indef ! GSg Masc;
|
||||||
|
vtype = va.vtype;
|
||||||
|
compl = \\v => va.present ! Imperfective ! Sg ! v.p
|
||||||
|
++ ap.s ! Indef ! v.g} ;
|
||||||
|
lin ComplVQ vq qs = {present = \\a,n,p => vq.present ! a ! n ! p
|
||||||
|
++ qs.s;
|
||||||
|
aorist = \\n,p => vq.aorist ! n ! p ++ qs.s;
|
||||||
|
imperfect = \\a,n,p => vq.imperfect ! a ! n ! p ++ qs.s;
|
||||||
|
imperative = \\a,n => vq.imperative ! a ! n ++ qs.s;
|
||||||
|
participle = {aorist = \\a,g => vq.participle.aorist ! a ! g
|
||||||
|
++ qs.s;
|
||||||
|
imperfect = \\a,g => vq.participle.imperfect ! a ! g ++ qs.s;
|
||||||
|
perfect = \\a => vq.participle.perfect ! a ++ qs.s;
|
||||||
|
adjectival = \\a => vq.participle.adjectival ! a ++ qs.s;
|
||||||
|
adverbial = vq.participle.adverbial ++ qs.s};
|
||||||
|
noun_from_verb = vq.noun_from_verb ++ qs.s; vtype = vq.vtype;
|
||||||
|
compl = \\v => vq.present ! Imperfective ! Sg ! v.p ++ qs.s} ;
|
||||||
|
lin ComplVS vs s = {present = \\a,n,p => vs.present ! a ! n ! p
|
||||||
|
++ s.s;
|
||||||
|
aorist = \\n,p => vs.aorist ! n ! p ++ s.s;
|
||||||
|
imperfect = \\a,n,p => vs.imperfect ! a ! n ! p ++ s.s;
|
||||||
|
imperative = \\a,n => vs.imperative ! a ! n ++ s.s;
|
||||||
|
participle = {aorist = \\a,g => vs.participle.aorist ! a ! g
|
||||||
|
++ s.s;
|
||||||
|
imperfect = \\a,g => vs.participle.imperfect ! a ! g ++ s.s;
|
||||||
|
perfect = \\a => vs.participle.perfect ! a ++ s.s;
|
||||||
|
adjectival = \\a => vs.participle.adjectival ! a ++ s.s;
|
||||||
|
adverbial = vs.participle.adverbial ++ s.s};
|
||||||
|
noun_from_verb = vs.noun_from_verb ++ s.s; vtype = vs.vtype;
|
||||||
|
compl = \\v => vs.present ! Imperfective ! Sg ! v.p ++ s.s} ;
|
||||||
|
lin ComplVV vv vp = {present = \\a,n,p => vv.present ! a ! n ! p
|
||||||
|
++ vp.present ! a ! n ! p;
|
||||||
|
aorist = \\n,p => vv.aorist ! n ! p ++ vp.aorist ! n ! p;
|
||||||
|
imperfect = \\a,n,p => vv.imperfect ! a ! n ! p
|
||||||
|
++ vp.imperfect ! a ! n ! p;
|
||||||
|
imperative = \\a,n => vv.imperative ! a ! n
|
||||||
|
++ vp.imperative ! a ! n;
|
||||||
|
participle = {aorist = \\a,g => vv.participle.aorist ! a ! g
|
||||||
|
++ vp.participle.aorist ! a ! g;
|
||||||
|
imperfect = \\a,g => vv.participle.imperfect ! a ! g
|
||||||
|
++ vp.participle.imperfect ! a ! g;
|
||||||
|
perfect = \\a => vv.participle.perfect ! a
|
||||||
|
++ vp.participle.perfect ! a;
|
||||||
|
adjectival = \\a => vv.participle.adjectival ! a
|
||||||
|
++ vp.participle.adjectival ! a;
|
||||||
|
adverbial = vv.participle.adverbial
|
||||||
|
++ vp.participle.adverbial};
|
||||||
|
noun_from_verb = vv.noun_from_verb ++ vp.noun_from_verb;
|
||||||
|
vtype = vp.vtype;
|
||||||
|
compl = \\v => vv.present ! Imperfective ! Sg ! v.p
|
||||||
|
++ vp.compl ! {g = GSg Masc; p = P1}} ;
|
||||||
|
lin ExtAdvVP vp a = {present = \\a2,n,p => vp.present ! a2 ! n ! p
|
||||||
|
++ a.s;
|
||||||
|
aorist = \\n,p => vp.aorist ! n ! p ++ a.s;
|
||||||
|
imperfect = \\a2,n,p => vp.imperfect ! a2 ! n ! p ++ a.s;
|
||||||
|
imperative = \\a2,n => vp.imperative ! a2 ! n ++ a.s;
|
||||||
|
participle = {aorist = \\a2,g => vp.participle.aorist ! a2 ! g
|
||||||
|
++ a.s;
|
||||||
|
imperfect = \\a2,g => vp.participle.imperfect ! a2 ! g ++ a.s;
|
||||||
|
perfect = \\a2 => vp.participle.perfect ! a2 ++ a.s;
|
||||||
|
adjectival = \\a2 => vp.participle.adjectival ! a2 ++ a.s;
|
||||||
|
adverbial = vp.participle.adverbial ++ a.s};
|
||||||
|
noun_from_verb = vp.noun_from_verb ++ a.s; vtype = vp.vtype;
|
||||||
|
compl = \\v => vp.compl ! {g = GSg Masc; p = P1} ++ a.s} ;
|
||||||
|
lin PassV2 v2 = {present = \\a,n,p => v2.present ! a ! n ! p;
|
||||||
|
aorist = \\n,p => v2.aorist ! n ! p;
|
||||||
|
imperfect = \\a,n,p => v2.imperfect ! a ! n ! p;
|
||||||
|
imperative = \\a,n => v2.imperative ! a ! n;
|
||||||
|
participle = {aorist = \\a,g => v2.participle.aorist ! a ! g;
|
||||||
|
imperfect = \\a,g => v2.participle.imperfect ! a ! g;
|
||||||
|
perfect = \\a => v2.participle.perfect ! a;
|
||||||
|
adjectival = \\a => v2.participle.adjectival ! a;
|
||||||
|
adverbial = v2.participle.adverbial};
|
||||||
|
noun_from_verb = v2.noun_from_verb; vtype = v2.vtype;
|
||||||
|
compl = \\v => v2.present ! Imperfective ! Sg ! v.p} ;
|
||||||
|
lin ReflVP v = {present = \\a,n,p => v.present ! a ! n ! p;
|
||||||
|
aorist = \\n,p => v.aorist ! n ! p;
|
||||||
|
imperfect = \\a,n,p => v.imperfect ! a ! n ! p;
|
||||||
|
imperative = \\a,n => v.imperative ! a ! n;
|
||||||
|
participle = {aorist = \\a,g => v.participle.aorist ! a ! g;
|
||||||
|
imperfect = \\a,g => v.participle.imperfect ! a ! g;
|
||||||
|
perfect = \\a => v.participle.perfect ! a;
|
||||||
|
adjectival = \\a => v.participle.adjectival ! a;
|
||||||
|
adverbial = v.participle.adverbial};
|
||||||
|
noun_from_verb = v.noun_from_verb; vtype = v.vtype;
|
||||||
|
compl = \\v2 => v.compl ! {g = GSg Masc; p = P1}} ;
|
||||||
|
lin Slash2V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
aorist = \\n,p => v3.aorist ! n ! p ++ np.s ! RSubj;
|
||||||
|
imperfect = \\a,n,p => v3.imperfect ! a ! n ! p ++ np.s ! RSubj;
|
||||||
|
imperative = \\a,n => v3.imperative ! a ! n ++ np.s ! RSubj;
|
||||||
|
participle = {aorist = \\a,g => v3.participle.aorist ! a ! g
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
imperfect = \\a,g => v3.participle.imperfect ! a ! g
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
perfect = \\a => v3.participle.perfect ! a ++ np.s ! RSubj;
|
||||||
|
adjectival = \\a => v3.participle.adjectival ! a
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
adverbial = v3.participle.adverbial ++ np.s ! RSubj};
|
||||||
|
noun_from_verb = v3.noun_from_verb ++ np.s ! RSubj;
|
||||||
|
vtype = v3.vtype;
|
||||||
|
compl = \\v => v3.present ! Imperfective ! Sg ! v.p
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
c2 = {s = v3.c2.s ++ np.s ! RSubj; c = v3.c2.c}} ;
|
||||||
|
lin Slash3V3 v3 np = {present = \\a,n,p => v3.present ! a ! n ! p
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
aorist = \\n,p => v3.aorist ! n ! p ++ np.s ! RSubj;
|
||||||
|
imperfect = \\a,n,p => v3.imperfect ! a ! n ! p ++ np.s ! RSubj;
|
||||||
|
imperative = \\a,n => v3.imperative ! a ! n ++ np.s ! RSubj;
|
||||||
|
participle = {aorist = \\a,g => v3.participle.aorist ! a ! g
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
imperfect = \\a,g => v3.participle.imperfect ! a ! g
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
perfect = \\a => v3.participle.perfect ! a ++ np.s ! RSubj;
|
||||||
|
adjectival = \\a => v3.participle.adjectival ! a
|
||||||
|
++ np.s ! RSubj;
|
||||||
|
adverbial = v3.participle.adverbial ++ np.s ! RSubj};
|
||||||
|
noun_from_verb = v3.noun_from_verb ++ np.s ! RSubj;
|
||||||
|
vtype = v3.vtype;
|
||||||
|
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 = 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;
|
||||||
|
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 c = {present = \\a,n,p => c.s; aorist = \\n,p => c.s;
|
||||||
|
imperfect = \\a,n,p => c.s; imperative = \\a,n => c.s;
|
||||||
|
participle = {aorist = \\a,g => c.s; imperfect = \\a,g => c.s;
|
||||||
|
perfect = \\a => c.s; adjectival = \\a => c.s; adverbial = c.s};
|
||||||
|
noun_from_verb = c.s; vtype = VNormal; compl = \\v => c.s} ;
|
||||||
|
lin UseCopula = {present = \\a,n,p => []; aorist = \\n,p => [];
|
||||||
|
imperfect = \\a,n,p => []; imperative = \\a,n => [];
|
||||||
|
participle = {aorist = \\a,g => []; imperfect = \\a,g => [];
|
||||||
|
perfect = \\a => []; adjectival = \\a => []; adverbial = []};
|
||||||
|
noun_from_verb = []; vtype = VNormal; compl = \\v => []} ;
|
||||||
|
lin UseV v = v ** {compl = \\_ => []} ;
|
||||||
|
lin VPSlashPrep vp p = {present = \\a,n,p2 => vp.present ! a ! n
|
||||||
|
! p2
|
||||||
|
++ p.s;
|
||||||
|
aorist = \\n,p2 => vp.aorist ! n ! p2 ++ p.s;
|
||||||
|
imperfect = \\a,n,p2 => vp.imperfect ! a ! n ! p2 ++ p.s;
|
||||||
|
imperative = \\a,n => vp.imperative ! a ! n ++ p.s;
|
||||||
|
participle = {aorist = \\a,g => vp.participle.aorist ! a ! g
|
||||||
|
++ p.s;
|
||||||
|
imperfect = \\a,g => vp.participle.imperfect ! a ! g ++ p.s;
|
||||||
|
perfect = \\a => vp.participle.perfect ! a ++ p.s;
|
||||||
|
adjectival = \\a => vp.participle.adjectival ! a ++ p.s;
|
||||||
|
adverbial = vp.participle.adverbial ++ p.s};
|
||||||
|
noun_from_verb = vp.noun_from_verb ++ p.s; vtype = vp.vtype;
|
||||||
|
compl = \\v => vp.compl ! {g = GSg Masc; p = P1} ++ p.s;
|
||||||
|
c2 = {s = vp.present ! Imperfective ! Sg ! P1 ++ p.s; c = p.c}} ;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user