forked from GitHub/gf-rgl
Macedonian morphology
This commit is contained in:
7
src/macedonian/AllMkd.gf
Normal file
7
src/macedonian/AllMkd.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract:../common:../prelude:../api
|
||||
|
||||
concrete AllMkd of AllMkdAbs =
|
||||
LangMkd
|
||||
** {
|
||||
|
||||
} ;
|
||||
7
src/macedonian/AllMkdAbs.gf
Normal file
7
src/macedonian/AllMkdAbs.gf
Normal file
@@ -0,0 +1,7 @@
|
||||
--# -path=.:../abstract:../common:prelude
|
||||
|
||||
abstract AllMkdAbs =
|
||||
Lang
|
||||
** {
|
||||
|
||||
} ;
|
||||
17
src/macedonian/CatMkd.gf
Normal file
17
src/macedonian/CatMkd.gf
Normal file
@@ -0,0 +1,17 @@
|
||||
concrete CatMkd of Cat = open ResMkd in {
|
||||
|
||||
lincat N = Noun ;
|
||||
lincat N2 = Noun ** {c2 : Compl} ;
|
||||
lincat N3 = Noun ** {c2,c3 : Compl} ;
|
||||
lincat V, VA, VV, VS, VQ = Verb ;
|
||||
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} ;
|
||||
|
||||
}
|
||||
11
src/macedonian/LangMkd.gf
Normal file
11
src/macedonian/LangMkd.gf
Normal file
@@ -0,0 +1,11 @@
|
||||
--# -path=.:../abstract:../common:../api
|
||||
|
||||
concrete LangMkd of Lang =
|
||||
LexiconMkd
|
||||
,DocumentationMkd --# notpresent
|
||||
|
||||
** {
|
||||
|
||||
flags startcat = Phr ;
|
||||
|
||||
} ;
|
||||
11
src/macedonian/LexiconMkd.gf
Normal file
11
src/macedonian/LexiconMkd.gf
Normal file
@@ -0,0 +1,11 @@
|
||||
concrete LexiconMkd of Lexicon = CatMkd **
|
||||
open ParadigmsMkd in {
|
||||
|
||||
lin
|
||||
airplane_N = mkN001 "авион" ;
|
||||
apple_N = mkN013 "јаболко" ;
|
||||
bad_A = mkA004 "лош" ;
|
||||
good_A = mkA005 "добар" ;
|
||||
die_V = mkV001 "умира" ;
|
||||
|
||||
}
|
||||
9956
src/macedonian/MorphoMkd.gf
Normal file
9956
src/macedonian/MorphoMkd.gf
Normal file
File diff suppressed because it is too large
Load Diff
1606
src/macedonian/ParadigmsMkd.gf
Normal file
1606
src/macedonian/ParadigmsMkd.gf
Normal file
File diff suppressed because it is too large
Load Diff
187
src/macedonian/ResMkd.gf
Normal file
187
src/macedonian/ResMkd.gf
Normal file
@@ -0,0 +1,187 @@
|
||||
resource ResMkd = {
|
||||
|
||||
oper Compl = {s : Str} ;
|
||||
|
||||
param Species = Def Distance | Indef ;
|
||||
param Distance = Distal | Unspecified | Proximal ;
|
||||
param Number = Sg | Pl ;
|
||||
param Gender = Masc | Fem | Neuter ;
|
||||
oper Noun = {s: Species => Number => Str; count_form: Str; vocative: Number => Str; g: Gender} ; -- 24855
|
||||
oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
|
||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,g ->
|
||||
{ s = table {
|
||||
Indef => table {
|
||||
Sg => f1 ;
|
||||
Pl => f2
|
||||
} ;
|
||||
Def Unspecified => table {
|
||||
Sg => f3 ;
|
||||
Pl => f4
|
||||
} ;
|
||||
Def Proximal => table {
|
||||
Sg => f5 ;
|
||||
Pl => f6
|
||||
} ;
|
||||
Def Distal => table {
|
||||
Sg => f7 ;
|
||||
Pl => f8
|
||||
}
|
||||
} ;
|
||||
count_form = f9 ;
|
||||
vocative = table {
|
||||
Sg => f10 ;
|
||||
Pl => f11
|
||||
} ;
|
||||
g = g
|
||||
} ;
|
||||
|
||||
|
||||
param Person = P1 | P3 | P2 ;
|
||||
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} ; -- 8174
|
||||
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 ->
|
||||
{ present = table {
|
||||
Sg => table {
|
||||
P1 => f1 ;
|
||||
P2 => f2 ;
|
||||
P3 => f3
|
||||
} ;
|
||||
Pl => table {
|
||||
P1 => f4 ;
|
||||
P2 => f5 ;
|
||||
P3 => f6
|
||||
}
|
||||
} ;
|
||||
aorist = table {
|
||||
Sg => table {
|
||||
P1 => f7 ;
|
||||
P2 => f8 ;
|
||||
P3 => f9
|
||||
} ;
|
||||
Pl => table {
|
||||
P1 => f10 ;
|
||||
P2 => f11 ;
|
||||
P3 => f12
|
||||
}
|
||||
} ;
|
||||
imperfect = table {
|
||||
Sg => table {
|
||||
P1 => f13 ;
|
||||
P2 => f14 ;
|
||||
P3 => f15
|
||||
} ;
|
||||
Pl => table {
|
||||
P1 => f16 ;
|
||||
P2 => f17 ;
|
||||
P3 => f18
|
||||
}
|
||||
} ;
|
||||
Imperative = table {
|
||||
Sg => f19 ;
|
||||
Pl => f20
|
||||
} ;
|
||||
participle = { aorist = table {
|
||||
GSg Masc => f21 ;
|
||||
GSg Fem => f22 ;
|
||||
GSg Neuter => f23 ;
|
||||
GPl => f24
|
||||
} ;
|
||||
imperfect = table {
|
||||
GSg Masc => f25 ;
|
||||
GSg Fem => f26 ;
|
||||
GSg Neuter => f27 ;
|
||||
GPl => f28
|
||||
} ;
|
||||
perfect = f29 ;
|
||||
adjectival = f30 ;
|
||||
adverbial = f31
|
||||
} ;
|
||||
noun_from_verb = f32
|
||||
} ;
|
||||
|
||||
|
||||
oper Adj = {s: Species => GenNum => Str; adverb: Str} ; -- 15929
|
||||
oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj =
|
||||
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17 ->
|
||||
{ s = table {
|
||||
Indef => table {
|
||||
GSg Masc => f1 ;
|
||||
GSg Fem => f2 ;
|
||||
GSg Neuter => f3 ;
|
||||
GPl => f4
|
||||
} ;
|
||||
Def Unspecified => table {
|
||||
GSg Masc => f5 ;
|
||||
GSg Fem => f6 ;
|
||||
GSg Neuter => f7 ;
|
||||
GPl => f8
|
||||
} ;
|
||||
Def Proximal => table {
|
||||
GSg Masc => f9 ;
|
||||
GSg Fem => f10 ;
|
||||
GSg Neuter => f11 ;
|
||||
GPl => f12
|
||||
} ;
|
||||
Def Distal => table {
|
||||
GSg Masc => f13 ;
|
||||
GSg Fem => f14 ;
|
||||
GSg Neuter => f15 ;
|
||||
GPl => f16
|
||||
}
|
||||
} ;
|
||||
adverb = f17
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
oper Adv = {s: Str} ; -- 1963
|
||||
oper mkAdv : Str -> Adv =
|
||||
\f1 ->
|
||||
{ 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
|
||||
}
|
||||
}
|
||||
} ;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user