started with tenses

This commit is contained in:
Krasimir Angelov
2026-04-10 19:58:11 +02:00
parent 1c3bb0f6eb
commit b339f7c2fc
12 changed files with 392 additions and 136 deletions

View File

@@ -1,7 +1,8 @@
--# -path=.:../abstract:../common:prelude --# -path=.:../abstract:../common:prelude
abstract AllMkdAbs = abstract AllMkdAbs =
Lang Lang,
Extend
** { ** {
} ; } ;

View File

@@ -1,4 +1,8 @@
concrete CatMkd of Cat = CommonX ** open ResMkd, Prelude in { concrete CatMkd of Cat = CommonX - [Temp,Tense] ** open ParamX, ResMkd, Prelude in {
lincat
Temp = {s : Str ; t : ResMkd.Tense ; a : Anteriority} ;
Tense = {s : Str ; t : ResMkd.Tense} ;
lincat N = Noun ; lincat N = Noun ;
lincat N2 = Noun ** {c2 : Compl} ; lincat N2 = Noun ** {c2 : Compl} ;
@@ -9,7 +13,7 @@ lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ;
lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ; lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
lincat A = Adj ; lincat A = Adj ;
lincat A2 = Adj ** {c2 : Compl} ; lincat A2 = Adj ** {c2 : Compl} ;
lincat Pron = Pron ; lincat Pron = Pronoun ;
lincat Prep = Compl ; lincat Prep = Compl ;
lincat Decimal = {s : Str; n : Number; hasDot : Bool} ; lincat Decimal = {s : Str; n : Number; hasDot : Bool} ;
lincat Digits = {s : Str; n : Number; tail : DTail} ; lincat Digits = {s : Str; n : Number; tail : DTail} ;
@@ -34,18 +38,18 @@ lincat VP = {present : Aspect => Number => Person => Str;
aorist : Number => Person => Str; aorist : Number => Person => Str;
imperfect : Aspect => Number => Person => Str; imperfect : Aspect => Number => Person => Str;
imperative : Aspect => Number => Str; imperative : Aspect => Number => Str;
participle : {aorist : Aspect => GenNum => Str; perfect : Aspect => Str}} ; participle : {aorist : Aspect => GenNum => Str;
imperfect : Aspect => GenNum => Str;
perfect : Aspect => Str}} ;
lincat VPSlash = {present : Aspect => Number => Person => Str; lincat VPSlash = {present : Aspect => Number => Person => Str;
aorist : Number => Person => Str; aorist : Number => Person => Str;
imperfect : Aspect => Number => Person => Str; imperfect : Aspect => Number => Person => Str;
imperative : Aspect => Number => Str; imperative : Aspect => Number => Str;
participle : {aorist : Aspect => GenNum => Str; participle : {aorist : Aspect => GenNum => Str;
imperfect : GenNum => Str; perfect : Aspect => Str; imperfect : Aspect => GenNum => Str;
adjectival : Aspect => Str; adverbial : Str}; perfect : Aspect => Str};
noun_from_verb : Str; vtype : VType; c2 : Compl} ; noun_from_verb : Str; vtype : VType; c2 : Compl} ;
lincat Cl = {present : Aspect => Str; lincat Cl = {s : ResMkd.Tense => Anteriority => Polarity => Order => Str} ;
aorist : Str;
participle : {aorist : Aspect => Str; perfect : Aspect => Str}} ;
lincat RP = {s : GenNum => Str} ; lincat RP = {s : GenNum => Str} ;
lincat IP = {s : Str} ; lincat IP = {s : Str} ;
lincat Subj = {s : Str} ; lincat Subj = {s : Str} ;

View File

@@ -121,7 +121,7 @@ lin
heading3 ("Партицип") ++ heading3 ("Партицип") ++
adjForms (v.participle.aorist ! Imperfective) ++ adjForms (v.participle.aorist ! Imperfective) ++
tag "br" ++ tag "br" ++
adjForms v.participle.imperfect ++ adjForms (v.participle.imperfect ! Imperfective) ++
heading2 ("Свършен вид") ++ heading2 ("Свършен вид") ++
heading3 ("Изявително наклонение") ++ heading3 ("Изявително наклонение") ++
heading4 ("Сегашно време") ++ heading4 ("Сегашно време") ++
@@ -134,6 +134,8 @@ lin
imperative (v.imperative ! Perfective) ++ imperative (v.imperative ! Perfective) ++
heading3 ("Партицип") ++ heading3 ("Партицип") ++
adjForms (v.participle.aorist ! Perfective) ++ adjForms (v.participle.aorist ! Perfective) ++
tag "br" ++
adjForms (v.participle.imperfect ! Perfective) ++
heading1 ("Именка") ++ heading1 ("Именка") ++
v.noun_from_verb ; v.noun_from_verb ;
s3= "" s3= ""

View File

@@ -1,5 +1,5 @@
--# -path=.:../abstract:../common:prelude --# -path=.:../abstract:../common:prelude
concrete ExtendMkd of Extend = CatMkd ** open ResMkd in { concrete ExtendMkd of Extend = CatMkd ** open ResMkd, ParadigmsMkd, StructuralMkd in {
lin lin
CompoundN n1 n2 = CompoundN n1 n2 =
@@ -10,11 +10,11 @@ lin
AdvMod => n2.s ! sp ! n ++ n1.rel ! sp ! genNum n2.g n AdvMod => n2.s ! sp ! n ++ n1.rel ! sp ! genNum n2.g n
} ; } ;
voc : Number => Str voc : Number => Str
= \\n => ""{-case n1.relType of { = \\n => case n1.relType of {
Pref => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; Pref => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ;
AdjMod => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ; AdjMod => n1.rel ! Indef ! genNum n2.g n ++ n2.vocative ! n ;
AdvMod => n2.vocative ! n ++ n1.rel ! Indef ! genNum n2.g n AdvMod => n2.vocative ! n ++ n1.rel ! Indef ! genNum n2.g n
}-} }
in { in {
s = comp ; s = comp ;
count_form = comp ! Indef ! Pl ; count_form = comp ! Indef ! Pl ;
@@ -23,5 +23,16 @@ lin
g = n2.g g = n2.g
} ; } ;
iFem_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Fem) P1 ;
youFem_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Fem) P2 ;
weFem_Pron = we_Pron ;
youPlFem_Pron = youPl_Pron ;
theyFem_Pron = they_Pron ;
youPolFem_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Fem) P2 ;
youPolPl_Pron = youPol_Pron ;
youPolPlFem_Pron = youPol_Pron ;
lin TPastSimple = {s = []} ** {t = VPastSimple} ; --# notpresent
} }

View File

@@ -1,2 +1,2 @@
concrete GrammarMkd of Grammar = VerbMkd,SentenceMkd,NounMkd,AdverbMkd,AdjectiveMkd,NumeralMkd,PhraseMkd,RelativeMkd,TextX,StructuralMkd,TenseX ** { concrete GrammarMkd of Grammar = VerbMkd,SentenceMkd,NounMkd,AdverbMkd,AdjectiveMkd,IdiomMkd,NumeralMkd,PhraseMkd,RelativeMkd,TextMkd,StructuralMkd,TenseMkd ** {
} }

View File

@@ -5,7 +5,14 @@ lin
airplane_N = mkN001 "авион" ; airplane_N = mkN001 "авион" ;
apple_N = mkN012 "јаболко" ; apple_N = mkN012 "јаболко" ;
bad_A = mkA004 "лош" ; bad_A = mkA004 "лош" ;
good_A = mkA021 "добар" ; close_V2 = mkV2 (dualV (mkV "затвара") (mkV "затвори")) ;
die_V = dualV (mkV002 "умира") (mkV021 "умре") ; die_V = dualV (mkV002 "умира") (mkV021 "умре") ;
door_N = mkN008 "врата" ;
factory_N = mkN008 "фабрика" ;
fish_N = mkN "риба" ;
good_A = mkA021 "добар" ;
play_V = mkV001 "игра" ;
man_N = mkN001 "маж" ;
woman_N = mkN "жена" ;
} }

View File

@@ -6864,13 +6864,14 @@ mkV001 base_1 =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
perfect = \\_ => nonExist ; perfect = \\_ => base_1+"но" ;
adjectival = \\_ => base_1+"н" ; adjectival = \\_ => base_1+"н" ;
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
@@ -6931,7 +6932,8 @@ mkV002 base_1 =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -6999,7 +7001,8 @@ mkV003 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7069,7 +7072,8 @@ mkV004 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7139,13 +7143,14 @@ mkV005 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
perfect = \\_ => nonExist ; perfect = \\_ => base_1+"ено" ;
adjectival = \\_ => base_1+"ен" ; adjectival = \\_ => base_1+"ен" ;
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
@@ -7209,7 +7214,8 @@ mkV006 base =
GSg Neuter => base_1+"ело" ; --guessed GSg Neuter => base_1+"ело" ; --guessed
GPl => base_1+"еле" --guessed GPl => base_1+"еле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7279,7 +7285,8 @@ mkV007 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7349,7 +7356,8 @@ mkV008 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7418,7 +7426,8 @@ mkV009 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -7486,7 +7495,8 @@ mkV010 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7556,7 +7566,8 @@ mkV011 base =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7626,7 +7637,8 @@ mkV012 base =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7695,13 +7707,14 @@ mkV013 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
perfect = \\_ => nonExist ; perfect = \\_ => base_1+"но" ;
adjectival = \\_ => base_1+"н" ; adjectival = \\_ => base_1+"н" ;
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
@@ -7763,7 +7776,8 @@ mkV014 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7833,7 +7847,8 @@ mkV015 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7903,7 +7918,8 @@ mkV016 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -7972,7 +7988,8 @@ mkV017 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -8040,7 +8057,8 @@ mkV018 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"дел" ; GSg Masc => base_1+"дел" ;
GSg Fem => base_1+"дела" ; GSg Fem => base_1+"дела" ;
GSg Neuter => base_1+"дело" ; GSg Neuter => base_1+"дело" ;
@@ -8110,7 +8128,8 @@ mkV019 base =
GSg Neuter => base_1+"гло" ; GSg Neuter => base_1+"гло" ;
GPl => base_1+"гле" GPl => base_1+"гле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"зел" ; GSg Masc => base_1+"зел" ;
GSg Fem => base_1+"зела" ; GSg Fem => base_1+"зела" ;
GSg Neuter => base_1+"зело" ; GSg Neuter => base_1+"зело" ;
@@ -8180,7 +8199,8 @@ mkV020 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8250,7 +8270,8 @@ mkV021 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8320,7 +8341,8 @@ mkV022 base =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8390,7 +8412,8 @@ mkV023 base =
GSg Neuter => base_1+"ало" ; --guessed GSg Neuter => base_1+"ало" ; --guessed
GPl => base_1+"але" --guessed GPl => base_1+"але" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8460,7 +8483,8 @@ mkV024 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8530,7 +8554,8 @@ mkV025 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"сел" ; GSg Masc => base_1+"сел" ;
GSg Fem => base_1+"села" ; GSg Fem => base_1+"села" ;
GSg Neuter => base_1+"село" ; GSg Neuter => base_1+"село" ;
@@ -8600,7 +8625,8 @@ mkV026 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"дел" ; GSg Masc => base_1+"дел" ;
GSg Fem => base_1+"дела" ; GSg Fem => base_1+"дела" ;
GSg Neuter => base_1+"дело" ; GSg Neuter => base_1+"дело" ;
@@ -8670,7 +8696,8 @@ mkV027 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"тел" ; GSg Masc => base_1+"тел" ;
GSg Fem => base_1+"тела" ; GSg Fem => base_1+"тела" ;
GSg Neuter => base_1+"тело" ; GSg Neuter => base_1+"тело" ;
@@ -8740,7 +8767,8 @@ mkV028 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -8810,7 +8838,8 @@ mkV029 base =
GSg Neuter => base_1+"кло" ; GSg Neuter => base_1+"кло" ;
GPl => base_1+"кле" GPl => base_1+"кле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"чел" ; GSg Masc => base_1+"чел" ;
GSg Fem => base_1+"чела" ; GSg Fem => base_1+"чела" ;
GSg Neuter => base_1+"чело" ; GSg Neuter => base_1+"чело" ;
@@ -8880,7 +8909,8 @@ mkV030 base =
GSg Neuter => base_1+"кло" ; GSg Neuter => base_1+"кло" ;
GPl => base_1+"кле" GPl => base_1+"кле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"чеел" ; GSg Masc => base_1+"чеел" ;
GSg Fem => base_1+"чеела" ; GSg Fem => base_1+"чеела" ;
GSg Neuter => base_1+"чеело" ; GSg Neuter => base_1+"чеело" ;
@@ -8950,7 +8980,8 @@ mkV031 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9020,7 +9051,8 @@ mkV032 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9090,7 +9122,8 @@ mkV033 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9160,7 +9193,8 @@ mkV034 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9230,7 +9264,8 @@ mkV035 base =
GSg Neuter => base_1+"ало" ; --guessed GSg Neuter => base_1+"ало" ; --guessed
GPl => base_1+"але" --guessed GPl => base_1+"але" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9300,7 +9335,8 @@ mkV036 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9370,7 +9406,8 @@ mkV037 base =
GSg Neuter => base_1+base_2+"ало" ; GSg Neuter => base_1+base_2+"ало" ;
GPl => base_1+base_2+"але" GPl => base_1+base_2+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"е"+base_2+"ел" ; GSg Masc => base_1+"е"+base_2+"ел" ;
GSg Fem => base_1+"е"+base_2+"ела" ; GSg Fem => base_1+"е"+base_2+"ела" ;
GSg Neuter => base_1+"е"+base_2+"ело" ; GSg Neuter => base_1+"е"+base_2+"ело" ;
@@ -9440,7 +9477,8 @@ mkV038 base =
GSg Neuter => base_1+"гло" ; GSg Neuter => base_1+"гло" ;
GPl => base_1+"гле" GPl => base_1+"гле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"зел" ; GSg Masc => base_1+"зел" ;
GSg Fem => base_1+"зела" ; GSg Fem => base_1+"зела" ;
GSg Neuter => base_1+"зело" ; GSg Neuter => base_1+"зело" ;
@@ -9510,7 +9548,8 @@ mkV039 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9580,7 +9619,8 @@ mkV040 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9650,7 +9690,8 @@ mkV041 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9720,7 +9761,8 @@ mkV042 base =
GSg Neuter => base_1+base_2+"ало" ; GSg Neuter => base_1+base_2+"ало" ;
GPl => base_1+base_2+"але" GPl => base_1+base_2+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"о"+base_2+"ел" ; GSg Masc => base_1+"о"+base_2+"ел" ;
GSg Fem => base_1+"о"+base_2+"ела" ; GSg Fem => base_1+"о"+base_2+"ела" ;
GSg Neuter => base_1+"о"+base_2+"ело" ; GSg Neuter => base_1+"о"+base_2+"ело" ;
@@ -9790,7 +9832,8 @@ mkV043 base =
GSg Neuter => base_1+"ало" ; --guessed GSg Neuter => base_1+"ало" ; --guessed
GPl => base_1+"але" --guessed GPl => base_1+"але" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -9859,7 +9902,8 @@ mkV044 base_1 =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -9927,7 +9971,8 @@ mkV045 base =
GSg Neuter => base_1+"шло" ; GSg Neuter => base_1+"шло" ;
GPl => base_1+"шле" GPl => base_1+"шле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"дел" ; GSg Masc => base_1+"дел" ;
GSg Fem => base_1+"дела" ; GSg Fem => base_1+"дела" ;
GSg Neuter => base_1+"дело" ; GSg Neuter => base_1+"дело" ;
@@ -9997,7 +10042,8 @@ mkV046 base =
GSg Neuter => nonExist ; GSg Neuter => nonExist ;
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10067,7 +10113,8 @@ mkV047 base =
GSg Neuter => base_1+"ало" ; --guessed GSg Neuter => base_1+"ало" ; --guessed
GPl => base_1+"але" --guessed GPl => base_1+"але" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10137,7 +10184,8 @@ mkV048 base =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => base_1+"ле" --guessed GPl => base_1+"ле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10207,7 +10255,8 @@ mkV049 base =
GSg Neuter => base_1+"јало" ; --guessed GSg Neuter => base_1+"јало" ; --guessed
GPl => base_1+"јале" --guessed GPl => base_1+"јале" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10277,7 +10326,8 @@ mkV050 base =
GSg Neuter => base_1+base_2+"ло" ; GSg Neuter => base_1+base_2+"ло" ;
GPl => base_1+base_2+"ле" GPl => base_1+base_2+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+base_2+"л" ; GSg Masc => base_1+base_2+"л" ;
GSg Fem => base_1+base_2+"ла" ; GSg Fem => base_1+base_2+"ла" ;
GSg Neuter => base_1+base_2+"ло" ; GSg Neuter => base_1+base_2+"ло" ;
@@ -10346,7 +10396,8 @@ mkV051 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -10414,7 +10465,8 @@ mkV052 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10484,7 +10536,8 @@ mkV053 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" --guessed GPl => base_1+"еле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10554,7 +10607,8 @@ mkV054 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10623,7 +10677,8 @@ mkV055 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"л" ; GSg Masc => base_1+"л" ;
GSg Fem => base_1+"ла" ; GSg Fem => base_1+"ла" ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -10691,7 +10746,8 @@ mkV056 base =
GSg Neuter => base_1+"шло" ; GSg Neuter => base_1+"шло" ;
GPl => base_1+"шле" GPl => base_1+"шле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"јдел" ; GSg Masc => base_1+"јдел" ;
GSg Fem => base_1+"јдела" ; GSg Fem => base_1+"јдела" ;
GSg Neuter => base_1+"јдело" ; GSg Neuter => base_1+"јдело" ;
@@ -10761,7 +10817,8 @@ mkV057 base =
GSg Neuter => base_1+"ило" ; --guessed GSg Neuter => base_1+"ило" ; --guessed
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10831,7 +10888,8 @@ mkV058 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -10901,7 +10959,8 @@ mkV059 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"мел" ; GSg Masc => base_1+"мел" ;
GSg Fem => base_1+"мела" ; GSg Fem => base_1+"мела" ;
GSg Neuter => base_1+"мело" ; GSg Neuter => base_1+"мело" ;
@@ -10971,7 +11030,8 @@ mkV060 base =
GSg Neuter => base_1+"јало" ; GSg Neuter => base_1+"јало" ;
GPl => base_1+"јале" GPl => base_1+"јале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11041,7 +11101,8 @@ mkV061 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11111,7 +11172,8 @@ mkV062 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11181,7 +11243,8 @@ mkV063 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11251,7 +11314,8 @@ mkV064 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11321,7 +11385,8 @@ mkV065 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11391,7 +11456,8 @@ mkV066 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11461,7 +11527,8 @@ mkV067 base =
GSg Neuter => base_1+base_2+"ало" ; GSg Neuter => base_1+base_2+"ало" ;
GPl => base_1+base_2+"але" GPl => base_1+base_2+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"те"+base_2+"ел" ; GSg Masc => base_1+"те"+base_2+"ел" ;
GSg Fem => base_1+"те"+base_2+"ела" ; GSg Fem => base_1+"те"+base_2+"ела" ;
GSg Neuter => base_1+"те"+base_2+"ело" ; GSg Neuter => base_1+"те"+base_2+"ело" ;
@@ -11531,7 +11598,8 @@ mkV068 base =
GSg Neuter => base_1+"јало" ; GSg Neuter => base_1+"јало" ;
GPl => base_1+"јале" GPl => base_1+"јале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11601,7 +11669,8 @@ mkV069 base =
GSg Neuter => base_1+"шло" ; GSg Neuter => base_1+"шло" ;
GPl => base_1+"шле" GPl => base_1+"шле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"јдел" ; GSg Masc => base_1+"јдел" ;
GSg Fem => base_1+"јдела" ; GSg Fem => base_1+"јдела" ;
GSg Neuter => base_1+"јдело" ; GSg Neuter => base_1+"јдело" ;
@@ -11671,7 +11740,8 @@ mkV070 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -11741,7 +11811,8 @@ mkV071 base =
GSg Neuter => base_1+"кало" ; GSg Neuter => base_1+"кало" ;
GPl => base_1+"кале" GPl => base_1+"кале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"чел" ; GSg Masc => base_1+"чел" ;
GSg Fem => base_1+"чела" ; GSg Fem => base_1+"чела" ;
GSg Neuter => base_1+"чело" ; GSg Neuter => base_1+"чело" ;
@@ -11811,7 +11882,8 @@ mkV072 base =
GSg Neuter => base_1+"кало" ; GSg Neuter => base_1+"кало" ;
GPl => base_1+"кале" GPl => base_1+"кале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"чел" ; GSg Masc => base_1+"чел" ;
GSg Fem => base_1+"чела" ; GSg Fem => base_1+"чела" ;
GSg Neuter => base_1+"чело" ; GSg Neuter => base_1+"чело" ;
@@ -11881,7 +11953,8 @@ mkV073 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"иел" ; GSg Masc => base_1+"иел" ;
GSg Fem => base_1+"иела" ; GSg Fem => base_1+"иела" ;
GSg Neuter => base_1+"иело" ; GSg Neuter => base_1+"иело" ;
@@ -11951,7 +12024,8 @@ mkV074 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => base_1+"але" GPl => base_1+"але"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"иел" ; GSg Masc => base_1+"иел" ;
GSg Fem => base_1+"иела" ; GSg Fem => base_1+"иела" ;
GSg Neuter => base_1+"иело" ; GSg Neuter => base_1+"иело" ;
@@ -12021,7 +12095,8 @@ mkV075 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => nonExist ; GSg Masc => nonExist ;
GSg Fem => nonExist ; GSg Fem => nonExist ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12091,7 +12166,8 @@ mkV076 base =
GSg Neuter => base_1+"јало" ; GSg Neuter => base_1+"јало" ;
GPl => base_1+"јале" GPl => base_1+"јале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12161,7 +12237,8 @@ mkV077 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12231,7 +12308,8 @@ mkV078 base =
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
GPl => base_1+"еле" GPl => base_1+"еле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"иел" ; GSg Masc => base_1+"иел" ;
GSg Fem => base_1+"иела" ; GSg Fem => base_1+"иела" ;
GSg Neuter => base_1+"иело" ; GSg Neuter => base_1+"иело" ;
@@ -12301,7 +12379,8 @@ mkV079 base =
GSg Neuter => base_1+"л"+base_2+"ло" ; GSg Neuter => base_1+"л"+base_2+"ло" ;
GPl => base_1+"л"+base_2+"ле" GPl => base_1+"л"+base_2+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+base_2+"лел" ; GSg Masc => base_1+base_2+"лел" ;
GSg Fem => base_1+base_2+"лела" ; GSg Fem => base_1+base_2+"лела" ;
GSg Neuter => base_1+base_2+"лело" ; GSg Neuter => base_1+base_2+"лело" ;
@@ -12371,7 +12450,8 @@ mkV080 base =
GSg Neuter => base_1+"јало" ; GSg Neuter => base_1+"јало" ;
GPl => base_1+"јале" GPl => base_1+"јале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12441,7 +12521,8 @@ mkV081 base =
GSg Neuter => base_1+"ало" ; GSg Neuter => base_1+"ало" ;
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => nonExist ; GSg Masc => nonExist ;
GSg Fem => nonExist ; GSg Fem => nonExist ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12511,7 +12592,8 @@ mkV082 base =
GSg Neuter => base_1+"гло" ; GSg Neuter => base_1+"гло" ;
GPl => base_1+"гле" GPl => base_1+"гле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"жел" ; GSg Masc => base_1+"жел" ;
GSg Fem => base_1+"жела" ; GSg Fem => base_1+"жела" ;
GSg Neuter => base_1+"жело" ; GSg Neuter => base_1+"жело" ;
@@ -12581,7 +12663,8 @@ mkV083 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" --guessed GPl => base_1+"иле" --guessed
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; --guessed GSg Masc => base_1+"ел" ; --guessed
GSg Fem => base_1+"ела" ; --guessed GSg Fem => base_1+"ела" ; --guessed
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12651,7 +12734,8 @@ mkV084 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12721,7 +12805,8 @@ mkV085 base =
GSg Neuter => base_1+"ило" ; GSg Neuter => base_1+"ило" ;
GPl => base_1+"иле" GPl => base_1+"иле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -12791,7 +12876,8 @@ mkV086 base =
GSg Neuter => base_1+"гло" ; GSg Neuter => base_1+"гло" ;
GPl => base_1+"гле" GPl => base_1+"гле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"жел" ; GSg Masc => base_1+"жел" ;
GSg Fem => base_1+"жела" ; GSg Fem => base_1+"жела" ;
GSg Neuter => base_1+"жело" ; GSg Neuter => base_1+"жело" ;
@@ -12861,7 +12947,8 @@ mkV087 base =
GSg Neuter => base_1+"шло" ; GSg Neuter => base_1+"шло" ;
GPl => base_1+"шле" GPl => base_1+"шле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"дел" ; GSg Masc => base_1+"дел" ;
GSg Fem => base_1+"дела" ; GSg Fem => base_1+"дела" ;
GSg Neuter => base_1+"дело" ; GSg Neuter => base_1+"дело" ;
@@ -12931,7 +13018,8 @@ mkV088 base =
GSg Neuter => base_1+"кло" ; GSg Neuter => base_1+"кло" ;
GPl => base_1+"кле" GPl => base_1+"кле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"чел" ; GSg Masc => base_1+"чел" ;
GSg Fem => base_1+"чела" ; GSg Fem => base_1+"чела" ;
GSg Neuter => base_1+"чело" ; GSg Neuter => base_1+"чело" ;
@@ -13001,7 +13089,8 @@ mkV089 base =
GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ; GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ;
GPl => base_1+base_2+"фи"+base_3+"ле" GPl => base_1+base_2+"фи"+base_3+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+base_2+"фи"+base_3+"л" ; GSg Masc => base_1+base_2+"фи"+base_3+"л" ;
GSg Fem => base_1+base_2+"фи"+base_3+"ла" ; GSg Fem => base_1+base_2+"фи"+base_3+"ла" ;
GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ; GSg Neuter => base_1+base_2+"фи"+base_3+"ло" ;
@@ -13070,7 +13159,8 @@ mkV090 base_1 =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => nonExist ; GSg Masc => nonExist ;
GSg Fem => nonExist ; GSg Fem => nonExist ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -13137,7 +13227,8 @@ mkV091 base_1 =
GSg Neuter => base_1+"ло" ; --guessed GSg Neuter => base_1+"ло" ; --guessed
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => nonExist ; GSg Masc => nonExist ;
GSg Fem => nonExist ; GSg Fem => nonExist ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -13205,7 +13296,8 @@ mkV092 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"тел" ; GSg Masc => base_1+"тел" ;
GSg Fem => base_1+"тела" ; GSg Fem => base_1+"тела" ;
GSg Neuter => base_1+"тело" ; GSg Neuter => base_1+"тело" ;
@@ -13275,7 +13367,8 @@ mkV093 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => "и"+base_1+"тел" ; GSg Masc => "и"+base_1+"тел" ;
GSg Fem => "и"+base_1+"тела" ; GSg Fem => "и"+base_1+"тела" ;
GSg Neuter => "и"+base_1+"тело" ; GSg Neuter => "и"+base_1+"тело" ;
@@ -13345,7 +13438,8 @@ mkV094 base =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => base_1+"ле" GPl => base_1+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -13415,7 +13509,8 @@ mkV097 base =
GSg Neuter => base_1+"гало" ; GSg Neuter => base_1+"гало" ;
GPl => base_1+"гале" GPl => base_1+"гале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"жел" ; GSg Masc => base_1+"жел" ;
GSg Fem => base_1+"жела" ; GSg Fem => base_1+"жела" ;
GSg Neuter => base_1+"жело" ; GSg Neuter => base_1+"жело" ;
@@ -13485,7 +13580,8 @@ mkV098 base =
GSg Neuter => base_1+"и"+base_2+"ло" ; GSg Neuter => base_1+"и"+base_2+"ло" ;
GPl => base_1+"и"+base_2+"ле" GPl => base_1+"и"+base_2+"ле"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"и"+base_2+"л" ; GSg Masc => base_1+"и"+base_2+"л" ;
GSg Fem => base_1+"и"+base_2+"ла" ; GSg Fem => base_1+"и"+base_2+"ла" ;
GSg Neuter => base_1+"и"+base_2+"ло" ; GSg Neuter => base_1+"и"+base_2+"ло" ;
@@ -13555,7 +13651,8 @@ mkV099 base =
GSg Neuter => base_1+"јало" ; GSg Neuter => base_1+"јало" ;
GPl => base_1+"јале" GPl => base_1+"јале"
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => base_1+"ел" ; GSg Masc => base_1+"ел" ;
GSg Fem => base_1+"ела" ; GSg Fem => base_1+"ела" ;
GSg Neuter => base_1+"ело" ; GSg Neuter => base_1+"ело" ;
@@ -13624,7 +13721,8 @@ mkV101 base_1 =
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
GPl => nonExist GPl => nonExist
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => nonExist ; GSg Masc => nonExist ;
GSg Fem => nonExist ; GSg Fem => nonExist ;
GSg Neuter => base_1+"ло" ; GSg Neuter => base_1+"ло" ;
@@ -15376,7 +15474,7 @@ mkAdv base_1 =
{ s = base_1 { s = base_1
} ; } ;
mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> GenNum -> Person -> Pron = mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> GenNum -> Person -> Pronoun =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,g,p -> \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,g,p ->
{ s = table { { s = table {
RSubj => f1 ; RSubj => f1 ;

View File

@@ -1073,7 +1073,10 @@ dualV : V -> V -> V = \impf,perf -> lin V
Imperfective => impf.participle.aorist ! Imperfective ; Imperfective => impf.participle.aorist ! Imperfective ;
Perfective => perf.participle.aorist ! Perfective Perfective => perf.participle.aorist ! Perfective
} ; } ;
imperfect = impf.participle.imperfect ; imperfect = table {
Imperfective => impf.participle.imperfect ! Imperfective ;
Perfective => perf.participle.imperfect ! Perfective
} ;
perfect = table { perfect = table {
Imperfective => impf.participle.perfect ! Imperfective ; Imperfective => impf.participle.perfect ! Imperfective ;
Perfective => perf.participle.perfect ! Perfective Perfective => perf.participle.perfect ! Perfective
@@ -1095,7 +1098,7 @@ compoundV = overload {
imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s ; imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s ;
imperative = \\a,n => v.imperative ! a ! n ++ s ; imperative = \\a,n => v.imperative ! a ! n ++ s ;
participle = { aorist = \\a,gn => v.participle.aorist ! a ! gn ++ s ; participle = { aorist = \\a,gn => v.participle.aorist ! a ! gn ++ s ;
imperfect = \\gn => v.participle.imperfect ! gn ++ s ; imperfect = \\a,gn => v.participle.imperfect ! a ! gn ++ s ;
perfect = \\a => v.participle.perfect ! a ++ s ; perfect = \\a => v.participle.perfect ! a ++ s ;
adjectival = \\a => v.participle.adjectival ! a ++ s ; adjectival = \\a => v.participle.adjectival ! a ++ s ;
adverbial = v.participle.adverbial adverbial = v.participle.adverbial

View File

@@ -1,10 +1,9 @@
resource ResMkd = ParamX [DTail,T1,T2,T3,inc] ** open Prelude in { resource ResMkd = ParamX - [Tense] ** open Prelude in {
oper Compl = {s : Str} ; oper Compl = {s : Str} ;
param Species = Indef | Def Distance ; param Species = Indef | Def Distance ;
param Distance = Unspecified | Distal | Proximal ; param Distance = Unspecified | Distal | Proximal ;
param Number = Sg | Pl ;
param NRelType = Pref | AdjMod | AdvMod ; param NRelType = Pref | AdjMod | AdvMod ;
param Gender = Masc | Fem | Neuter ; param Gender = Masc | Fem | Neuter ;
oper Noun = {s: Species => Number => Str; count_form: Str; vocative: Number => Str; rel: Species => GenNum => Str; relType : NRelType; g: Gender} ; -- 24855 oper Noun = {s: Species => Number => Str; count_form: Str; vocative: Number => Str; rel: Species => GenNum => Str; relType : NRelType; g: Gender} ; -- 24855
@@ -40,10 +39,18 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
param Aspect = Imperfective | Perfective ; param Aspect = Imperfective | Perfective ;
param Person = P1 | P3 | P2 ;
param GenNum = GSg Gender | GPl ; param GenNum = GSg Gender | GPl ;
param VType = VNormal | VMedial Case ; param VType = VNormal | VMedial Case ;
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; vtype: VType} ; -- 8174 Tense = VPresent
| VPastSimple --# notpresent
| VPastImperfect --# notpresent
| VFut --# notpresent
| VCond --# notpresent
;
Order = Main | Quest ;
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: Aspect => GenNum => Str; perfect: Aspect => Str; adjectival: Aspect => Str; adverbial: Str}; noun_from_verb: Str; vtype: VType} ; -- 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 = \\_ => { present = \\_ =>
@@ -96,7 +103,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
GSg Neuter => f23 ; GSg Neuter => f23 ;
GPl => f24 GPl => f24
} ; } ;
imperfect = table { imperfect = \\_ =>
table {
GSg Masc => f25 ; GSg Masc => f25 ;
GSg Fem => f26 ; GSg Fem => f26 ;
GSg Neuter => f27 ; GSg Neuter => f27 ;
@@ -154,7 +162,7 @@ oper mkAdv : Str -> Adv =
param Case = Acc | Dat ; param Case = Acc | Dat ;
param Role = RSubj | RObj Case | RPrep ; param Role = RSubj | RObj Case | RPrep ;
oper Pron = {s : Role => Str; clitic : Case => Str; g : GenNum; p : Person} ; oper Pronoun = {s : Role => Str; clitic : Case => Str; g : GenNum; p : Person} ;
genNum : Gender -> Number -> GenNum = \g,n -> genNum : Gender -> Number -> GenNum = \g,n ->
case n of { case n of {
@@ -162,4 +170,97 @@ genNum : Gender -> Number -> GenNum = \g,n ->
Pl => GPl Pl => GPl
} ; } ;
auxBe = {
present : Number => Person => Str
= table {
Sg => table {
P1 => "сум" ;
P2 => "си" ;
P3 => "е"
} ;
Pl => table {
P1 => "сме" ;
P2 => "сте" ;
P3 => "се"
}
} ;
imperfect : Number => Person => Str
= table {
Sg => table {
P1 => "бев" ;
P2 => "беше" ;
P3 => "беше"
} ;
Pl => table {
P1 => "бевме" ;
P2 => "бевте" ;
P3 => "беа"
}
} ;
imperative : Number => Str =
table {
Sg => "биди" ;
Pl => "бидете"
} ;
participle = {
aorist : GenNum => Str
= table {
GSg Masc => "бил" ;
GSg Fem => "била" ;
GSg Neuter => "било" ;
GPl => "биле"
} ;
imperfect : GenNum => Str
= table {
GSg Masc => "бидел" ;
GSg Fem => "бидела" ;
GSg Neuter => "бидело" ;
GPl => "биделе"
}
}
} ;
auxHave = {
present : Number => Person => Str
= table {
Sg => table {
P1 => "имам" ;
P2 => "имаш" ;
P3 => "има"
} ;
Pl => table {
P1 => "имаме" ;
P2 => "имате" ;
P3 => "имаат"
}
} ;
imperfect : Number => Person => Str
= table {
Sg => table {
P1 => "имав" ;
P2 => "имаше" ;
P3 => "имаше"
} ;
Pl => table {
P1 => "имавме" ;
P2 => "имавте" ;
P3 => "имаа"
}
} ;
imperative : Number => Str =
table {
Sg => "имај" ;
Pl => "имајте"
} ;
participle = {
imperfect : GenNum => Str
= table {
GSg Masc => "имал" ;
GSg Fem => "имала" ;
GSg Neuter => "имало" ;
GPl => "имале"
}
}
} ;
} }

View File

@@ -1,13 +1,40 @@
concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in { concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
lin PredVP np vp = lin PredVP np vp =
let n = case np.g of { let n = case np.g of {
GSg _ => Sg ; GSg _ => Sg ;
GPl => Pl GPl => Pl
} }
in {present = \\a => np.s ! RSubj ++ vp.present ! a ! n ! np.p ; in {s = \\t,a,p,o =>
aorist = np.s ! RSubj ++ vp.aorist ! n ! np.p ; case <t,a> of {
participle = {aorist = \\a => np.s ! RSubj ++ vp.participle.aorist ! a ! np.g; <VPresent,Simul> => np.s ! RSubj ++ neg ++ vp.present ! Imperfective ! n ! np.p ;
perfect = \\a => np.s ! RSubj ++ vp.participle.perfect ! a}} ; <VPresent,Anter> => np.s ! RSubj ++ neg ++ auxBe.present ! n ! np.p ++ vp.participle.imperfect ! Perfective ! np.g ;
<VPastSimple,Simul> => np.s ! RSubj ++ neg ++ vp.aorist ! n ! np.p ;
<VPastSimple,Anter> => np.s ! RSubj ++ neg ++ auxBe.imperfect ! n ! np.p ++ vp.participle.imperfect ! Perfective ! np.g ;
<VPastImperfect,Simul> => np.s ! RSubj ++ neg ++ vp.imperfect ! Perfective ! n ! np.p ;
<VPastImperfect,Anter> => np.s ! RSubj ++ neg ++ auxBe.imperfect ! n ! np.p ++ vp.participle.imperfect ! Perfective ! np.g ;
<VFut, Simul> => np.s ! RSubj ++ fut ++ vp.present ! Perfective ! n ! np.p ;
<VFut, Anter> => np.s ! RSubj ++ fut ++ auxHave.present ! n ! np.p ++ vp.participle.perfect ! Perfective ;
<VCond,Simul> => np.s ! RSubj ++ neg ++ "би" ++ vp.participle.imperfect ! Perfective ! np.g ;
<VCond,Anter> => np.s ! RSubj ++ neg ++ "би" ++ auxHave.participle.imperfect ! np.g ++ vp.participle.perfect ! Perfective
} where {
neg = case p of {
Pos => "" ;
Neg => "не"
} ;
fut = case p of {
Pos => "ке" ;
Neg => "нема да"
} ;
li = case o of {
Main => "" ;
Quest => "ли"
}
}
} ;
UseCl t p cl = {
s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! Main
} ;
} }

View File

@@ -3,8 +3,8 @@ concrete StructuralMkd of Structural = CatMkd ** open ResMkd,MorphoMkd in {
lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Masc) P1 ; lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" (GSg Masc) P1 ;
lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Masc) P2 ; lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" (GSg Masc) P2 ;
lin he_Pron = mkPron "тој" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Masc) P3 ; lin he_Pron = mkPron "тој" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Masc) P3 ;
lin she_Pron = mkPron "таа" "неа" "ја" "нејзе" "ѝ" "неа" "нејзин" "нејзиниот" "нејзина" "нејзината" "нејзино" "нејзиното" "нејзини" "нејзините" "ѝ" (GSg Masc) P3 ; lin she_Pron = mkPron "таа" "неа" "ја" "нејзе" "ѝ" "неа" "нејзин" "нејзиниот" "нејзина" "нејзината" "нејзино" "нејзиното" "нејзини" "нејзините" "ѝ" (GSg Fem) P3 ;
lin it_Pron = mkPron "тоа" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Masc) P3 ; lin it_Pron = mkPron "тоа" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" (GSg Neuter) P3 ;
lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш" "нашиот" "наша" "нашата" "наше" "нашето" "наши" "нашите" "ни" GPl P1 ; lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш" "нашиот" "наша" "нашата" "наше" "нашето" "наши" "нашите" "ни" GPl P1 ;
lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" GPl P2 ; lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" GPl P2 ;
lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Masc) P2 ; lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" (GSg Masc) P2 ;

View File

@@ -1,5 +1,6 @@
concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in { concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
lin UseV v = v ;
lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n
! p ! p
++ np.s ! RObj Acc ; ++ np.s ! RObj Acc ;
@@ -7,7 +8,8 @@ concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s ! RObj Acc; imperfect = \\a,n,p => vps.imperfect ! a ! n ! p ++ np.s ! RObj Acc;
imperative = \\a,n => vps.imperative ! a ! n ++ np.s ! RObj Acc; imperative = \\a,n => vps.imperative ! a ! n ++ np.s ! RObj Acc;
participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s ! RObj Acc; participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s ! RObj Acc;
perfect = \\a => vps.participle.perfect ! a ++ np.s ! RObj Acc}} ; perfect = \\a => vps.participle.perfect ! a ++ np.s ! RObj Acc;
imperfect = \\a,gn => vps.participle.imperfect ! a ! gn ++ np.s ! RObj Acc}} ;
lin SlashV2a v = v ; lin SlashV2a v = v ;
} }