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 N = Noun ;
lincat N2 = Noun ** {c2 : Compl} ; 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 V3, V2A, V2V = Verb ** {c2,c3 : Compl} ;
lincat A = Adj ; lincat A = Adj ;
lincat A2 = Adj ** {c2 : Compl} ; lincat A2 = Adj ** {c2 : Compl} ;
lincat Adv, AdV, AdA, AdN = Adv ;
lincat Pron = Pron ; lincat Pron = Pron ;
lincat Prep = Compl ; lincat Prep = Compl ;
lincat Interj = {s : Str} ;
lincat Voc = {s : Str} ;
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 =

View File

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

View File

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

View File

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

View File

@@ -142,48 +142,9 @@ oper mkAdv : Str -> Adv =
{ s = f1 { s = f1
} ; } ;
param Case = Acc | Dat ;
param Role = RSubj | RObj Case | RPrep ;
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 Pron = {s : Role => Str; clitic : Case => Str} ;
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
}
}
} ;
genNum : Gender -> Number -> GenNum = \g,n -> genNum : Gender -> Number -> GenNum = \g,n ->
case n of { 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 "тие" "нив" "ги" "ним" "им" "нив" "нивен" "нивниот" "нивна" "нивната" "нивно" "нивното" "нивни" "нивните" "им" ;
}