added pronouns

This commit is contained in:
Krasimir Angelov
2024-10-31 16:14:35 +01:00
parent 576e17f03a
commit f8bb75a13c
6 changed files with 55 additions and 89 deletions

View File

@@ -1,4 +1,4 @@
concrete CatMkd of Cat = open ResMkd, Prelude in {
concrete CatMkd of Cat = CommonX ** open ResMkd, Prelude in {
lincat N = Noun ;
lincat N2 = Noun ** {c2 : Compl} ;
@@ -8,11 +8,8 @@ lincat V2, V2S, V2Q = Verb ** {c2 : Compl} ;
lincat V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
lincat A = Adj ;
lincat A2 = Adj ** {c2 : Compl} ;
lincat Adv, AdV, AdA, AdN = Adv ;
lincat Pron = Pron ;
lincat Prep = Compl ;
lincat Interj = {s : Str} ;
lincat Voc = {s : Str} ;
linref N,N2,N3 = \n -> n.s ! Indef ! Sg ;
linref V, VA, VV, VS, VQ, V2, V2S, V2Q, V3, V2A, V2V =

View File

@@ -0,0 +1,6 @@
concrete GrammarMkd of Grammar =
TextX,
StructuralMkd,
TenseX ** {
} ;

View File

@@ -1,6 +1,7 @@
--# -path=.:../abstract:../common:../api
concrete LangMkd of Lang =
GrammarMkd,
LexiconMkd
,DocumentationMkd --# notpresent

View File

@@ -9963,47 +9963,35 @@ mkAdv base_1 =
{ s = base_1
} ;
mkPron : Str -> Pron ;
mkPron base =
case base of {
"јас" => lin Pron
{ Sg = { P1 = { subjective = "јас" ;
error_unrecognized_form = "ми" ;
possessive = "мој"
mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15 ->
{ s = table {
RSubj => f1 ;
RObj Acc => f2 ;
RObj Dat => f4 ;
RPrep => f6
} ;
P2 = { subjective = "ти" ;
error_unrecognized_form = "ти" ;
possessive = "твој"
clitic =
table {
Acc => f3 ;
Dat => f5
} ;
P3 = { subjective = "тоа" ;
error_unrecognized_form = "ѝ" ;
possessive = "нејзин"
poss =
table {
Indef => table {
GSg Masc => f7 ;
GSg Fem => f9 ;
GSg Neuter => f11 ;
GPl => f13
} ;
reflexive = { subjective = "-"
} ;
error_unrecognized_form = { reflexive = "си"
} ;
possessive = { reflexive = "свој"
Def _ => table {
GSg Masc => f8 ;
GSg Fem => f10 ;
GSg Neuter => f12 ;
GPl => f14
}
} ;
Pl = { P1 = { subjective = "ние" ;
error_unrecognized_form = "ни" ;
possessive = "наш"
} ;
P2 = { subjective = "вие" ;
error_unrecognized_form = "ви" ;
possessive = "ваш"
} ;
P3 = { subjective = "тие" ;
error_unrecognized_form = "им" ;
possessive = "нивен"
} ;
reflexive = { subjective = "-"
} ;
possessive = { reflexive = "свој"
}
}
};
_ => error "Can't apply paradigm mkPron"
poss_clitic = f15
} ;
}

View File

@@ -142,48 +142,9 @@ oper mkAdv : Str -> Adv =
{ s = f1
} ;
oper Pron = {Sg: {P1: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; P2: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; P3: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; reflexive: {subjective: Str}; error_unrecognized_form: {reflexive: Str}; possessive: {reflexive: Str}}; Pl: {P1: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; P2: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; P3: {subjective: Str; error_unrecognized_form: Str; possessive: Str}; reflexive: {subjective: Str}; possessive: {reflexive: Str}}} ; -- 8
oper mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23 ->
{ Sg = { P1 = { subjective = f1 ;
error_unrecognized_form = f2 ;
possessive = f3
} ;
P2 = { subjective = f4 ;
error_unrecognized_form = f5 ;
possessive = f6
} ;
P3 = { subjective = f7 ;
error_unrecognized_form = f8 ;
possessive = f9
} ;
reflexive = { subjective = f10
} ;
error_unrecognized_form = { reflexive = f11
} ;
possessive = { reflexive = f12
}
} ;
Pl = { P1 = { subjective = f13 ;
error_unrecognized_form = f14 ;
possessive = f15
} ;
P2 = { subjective = f16 ;
error_unrecognized_form = f17 ;
possessive = f18
} ;
P3 = { subjective = f19 ;
error_unrecognized_form = f20 ;
possessive = f21
} ;
reflexive = { subjective = f22
} ;
possessive = { reflexive = f23
}
}
} ;
param Case = Acc | Dat ;
param Role = RSubj | RObj Case | RPrep ;
oper Pron = {s : Role => Str; clitic : Case => Str} ;
genNum : Gender -> Number -> GenNum = \g,n ->
case n of {

View File

@@ -0,0 +1,13 @@
concrete StructuralMkd of Structural = CatMkd ** open MorphoMkd in {
lin i_Pron = mkPron "јас" "мене" "ме" "мене" "ми" "мене" "мој" "мојот" "моја" "мојата" "мое" "моето" "мои" "моите" "ми" ;
lin youSg_Pron = mkPron "ти" "тебе" "те" "тебе" "ти" "тебе" "твој" "твојот" "твоја" "твојата" "твое" "твоето" "твои" "твоите" "ти" ;
lin he_Pron = mkPron "тој" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" ;
lin she_Pron = mkPron "таа" "неа" "ја" "нејзе" "ѝ" "неа" "нејзин" "нејзиниот" "нејзина" "нејзината" "нејзино" "нејзиното" "нејзини" "нејзините" "ѝ" ;
lin it_Pron = mkPron "тоа" "него" "го" "нему" "му" "него" "негов" "неговиот" "негова" "неговата" "негово" "неговото" "негови" "неговите" "му" ;
lin we_Pron = mkPron "ние" "нас" "нѐ" "нам" "ни" "нас" "наш" "нашиот" "наша" "нашата" "наше" "нашето" "наши" "нашите" "ни" ;
lin youPl_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" ;
lin youPol_Pron = mkPron "вие" "вас" "ве" "вам" "ви" "вас" "ваш" "вашиот" "ваша" "вашата" "ваше" "вашето" "ваши" "вашите" "ви" ;
lin they_Pron = mkPron "тие" "нив" "ги" "ним" "им" "нив" "нивен" "нивниот" "нивна" "нивната" "нивно" "нивното" "нивни" "нивните" "им" ;
}