forked from GitHub/gf-rgl
support for aspectual verb pairs
This commit is contained in:
@@ -13,7 +13,7 @@ lincat Prep = Compl ;
|
|||||||
|
|
||||||
linref N,N2,N3 = \n -> n.s ! Indef ! Sg ;
|
linref N,N2,N3 = \n -> n.s ! Indef ! Sg ;
|
||||||
linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V =
|
linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V =
|
||||||
\v -> v.present ! Sg ! P3 ++
|
\v -> v.present ! Imperfective ! Sg ! P3 ++
|
||||||
case v.isRefl of {
|
case v.isRefl of {
|
||||||
True => "се" ;
|
True => "се" ;
|
||||||
False => []
|
False => []
|
||||||
|
|||||||
@@ -95,19 +95,30 @@ lin
|
|||||||
InflectionVQ, InflectionVA = \v -> {
|
InflectionVQ, InflectionVA = \v -> {
|
||||||
t = "гл" ;
|
t = "гл" ;
|
||||||
s1= heading1 ("Глагол") ;
|
s1= heading1 ("Глагол") ;
|
||||||
s2= heading3 ("Изявително наклонение") ++
|
s2= heading2 ("Несвършен вид") ++
|
||||||
|
heading3 ("Изявително наклонение") ++
|
||||||
heading4 ("Сегашно време") ++
|
heading4 ("Сегашно време") ++
|
||||||
finite v.present ++
|
finite (v.present ! Imperfective) ++
|
||||||
|
heading4 ("Минато несвршено време (имперфект)") ++
|
||||||
|
finite (v.imperfect ! Imperfective) ++
|
||||||
|
heading3 ("Повелително наклонение") ++
|
||||||
|
imperative (v.Imperative ! Imperfective) ++
|
||||||
|
heading3 ("Партицип") ++
|
||||||
|
adjForms (v.participle.aorist ! Imperfective) ++
|
||||||
|
tag "br" ++
|
||||||
|
adjForms v.participle.imperfect ++
|
||||||
|
heading2 ("Свършен вид") ++
|
||||||
|
heading3 ("Изявително наклонение") ++
|
||||||
|
heading4 ("Сегашно време") ++
|
||||||
|
finite (v.present ! Perfective) ++
|
||||||
heading4 ("Минатото свршено време (аорист)") ++
|
heading4 ("Минатото свршено време (аорист)") ++
|
||||||
finite v.aorist ++
|
finite v.aorist ++
|
||||||
heading4 ("Минато несвршено време (имперфект)") ++
|
heading4 ("Минато несвршено време (имперфект)") ++
|
||||||
finite v.imperfect ++
|
finite (v.imperfect ! Perfective) ++
|
||||||
heading3 ("Повелително наклонение") ++
|
heading3 ("Повелително наклонение") ++
|
||||||
imperative v.Imperative ++
|
imperative (v.Imperative ! Perfective) ++
|
||||||
heading3 ("Партицип") ++
|
heading3 ("Партицип") ++
|
||||||
adjForms v.participle.aorist ++
|
adjForms (v.participle.aorist ! Perfective) ++
|
||||||
tag "br" ++
|
|
||||||
adjForms v.participle.imperfect ++
|
|
||||||
heading1 ("Именка") ++
|
heading1 ("Именка") ++
|
||||||
v.noun_from_verb ;
|
v.noun_from_verb ;
|
||||||
s3= ""
|
s3= ""
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1559,11 +1559,44 @@ mkV = overload {
|
|||||||
mkV : Str -> V = regV;
|
mkV : Str -> V = regV;
|
||||||
mkV : Str -> Str -> V = reg2V;
|
mkV : Str -> Str -> V = reg2V;
|
||||||
mkV : Str -> Str -> Str -> V = reg3V;
|
mkV : Str -> Str -> Str -> V = reg3V;
|
||||||
mkV : Str -> Str -> Str -> Str -> V = reg4V
|
mkV : Str -> Str -> Str -> Str -> V = reg4V ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
reflV : V -> V = \v -> v ** {isRefl=True} ;
|
reflV : V -> V = \v -> v ** {isRefl=True} ;
|
||||||
|
|
||||||
|
dualV : V -> V -> V = \impf,perf -> lin V
|
||||||
|
{ present = table {
|
||||||
|
Imperfective => impf.present ! Imperfective ;
|
||||||
|
Perfective => perf.present ! Perfective
|
||||||
|
} ;
|
||||||
|
aorist = perf.aorist ;
|
||||||
|
imperfect = table {
|
||||||
|
Imperfective => impf.imperfect ! Imperfective ;
|
||||||
|
Perfective => perf.imperfect ! Perfective
|
||||||
|
} ;
|
||||||
|
Imperative = table {
|
||||||
|
Imperfective => impf.Imperative ! Imperfective ;
|
||||||
|
Perfective => perf.Imperative ! Perfective
|
||||||
|
} ;
|
||||||
|
participle = { aorist = table {
|
||||||
|
Imperfective => impf.participle.aorist ! Imperfective ;
|
||||||
|
Perfective => perf.participle.aorist ! Perfective
|
||||||
|
} ;
|
||||||
|
imperfect = impf.participle.imperfect ;
|
||||||
|
perfect = table {
|
||||||
|
Imperfective => impf.participle.perfect ! Imperfective ;
|
||||||
|
Perfective => perf.participle.perfect ! Perfective
|
||||||
|
} ;
|
||||||
|
adjectival = table {
|
||||||
|
Imperfective => impf.participle.adjectival ! Imperfective ;
|
||||||
|
Perfective => perf.participle.adjectival ! Perfective
|
||||||
|
} ;
|
||||||
|
adverbial = impf.participle.adverbial
|
||||||
|
} ;
|
||||||
|
noun_from_verb = impf.noun_from_verb ;
|
||||||
|
isRefl = impf.isRefl
|
||||||
|
} ;
|
||||||
|
|
||||||
mkV2 = overload {
|
mkV2 = overload {
|
||||||
mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ;
|
mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ;
|
||||||
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ;
|
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ;
|
||||||
|
|||||||
@@ -36,12 +36,14 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
param Aspect = Imperfective | Perfective ;
|
||||||
param Person = P1 | P3 | P2 ;
|
param Person = P1 | P3 | P2 ;
|
||||||
param GenNum = GSg Gender | GPl ;
|
param GenNum = GSg Gender | GPl ;
|
||||||
oper Verb = {present: Number => Person => Str; aorist: Number => Person => Str; imperfect: Number => Person => Str; Imperative: Number => Str; participle: {aorist: GenNum => Str; imperfect: GenNum => Str; perfect: Str; adjectival: Str; adverbial: Str}; noun_from_verb: Str; isRefl: Bool} ; -- 8174
|
oper Verb = {present: Aspect => Number => Person => Str; aorist: Number => Person => Str; imperfect: Aspect => Number => Person => Str; Imperative: Aspect => Number => Str; participle: {aorist: Aspect => GenNum => Str; imperfect: GenNum => Str; perfect: Aspect => Str; adjectival: Aspect => Str; adverbial: Str}; noun_from_verb: Str; isRefl: Bool} ; -- 8174
|
||||||
oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
|
oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
|
||||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32 ->
|
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32 ->
|
||||||
{ present = table {
|
{ present = \\_ =>
|
||||||
|
table {
|
||||||
Sg => table {
|
Sg => table {
|
||||||
P1 => f1 ;
|
P1 => f1 ;
|
||||||
P2 => f2 ;
|
P2 => f2 ;
|
||||||
@@ -53,7 +55,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
|
|||||||
P3 => f6
|
P3 => f6
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
aorist = table {
|
aorist = table {
|
||||||
Sg => table {
|
Sg => table {
|
||||||
P1 => f7 ;
|
P1 => f7 ;
|
||||||
P2 => f8 ;
|
P2 => f8 ;
|
||||||
@@ -65,7 +67,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
|
|||||||
P3 => f12
|
P3 => f12
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
imperfect = table {
|
imperfect = \\_ =>
|
||||||
|
table {
|
||||||
Sg => table {
|
Sg => table {
|
||||||
P1 => f13 ;
|
P1 => f13 ;
|
||||||
P2 => f14 ;
|
P2 => f14 ;
|
||||||
@@ -77,11 +80,13 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
|
|||||||
P3 => f18
|
P3 => f18
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
Imperative = table {
|
Imperative = \\_ =>
|
||||||
|
table {
|
||||||
Sg => f19 ;
|
Sg => f19 ;
|
||||||
Pl => f20
|
Pl => f20
|
||||||
} ;
|
} ;
|
||||||
participle = { aorist = table {
|
participle = { aorist = \\_ =>
|
||||||
|
table {
|
||||||
GSg Masc => f21 ;
|
GSg Masc => f21 ;
|
||||||
GSg Fem => f22 ;
|
GSg Fem => f22 ;
|
||||||
GSg Neuter => f23 ;
|
GSg Neuter => f23 ;
|
||||||
@@ -93,8 +98,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
|
|||||||
GSg Neuter => f27 ;
|
GSg Neuter => f27 ;
|
||||||
GPl => f28
|
GPl => f28
|
||||||
} ;
|
} ;
|
||||||
perfect = f29 ;
|
perfect = \\_ => f29 ;
|
||||||
adjectival = f30 ;
|
adjectival = \\_ => f30 ;
|
||||||
adverbial = f31
|
adverbial = f31
|
||||||
} ;
|
} ;
|
||||||
noun_from_verb = f32 ;
|
noun_from_verb = f32 ;
|
||||||
|
|||||||
Reference in New Issue
Block a user