This commit is contained in:
EkaterinaVoloshina
2026-04-10 15:14:39 +02:00
23 changed files with 561 additions and 249 deletions

View File

@@ -1,2 +1,6 @@
concrete GrammarHye of Grammar = TenseX ** { concrete GrammarHye of Grammar =
TenseX,
PhraseHye,
NounHye,
AdjectiveHye ** {
} }

View File

@@ -16,4 +16,5 @@ lincat S = {s : Str} ;
lincat LN,SN,GN,PN = {s : Str} ; lincat LN,SN,GN,PN = {s : Str} ;
linref V = \v -> v.Nonfinite ++ v.particle ;
} }

File diff suppressed because it is too large Load Diff

View File

@@ -501,7 +501,9 @@ oper
mkV = overload { mkV = overload {
mkV : Str -> V = regV; -- Nonfinite mkV : Str -> V = regV; -- Nonfinite
mkV : Str -> Str -> V = reg2V -- Nonfinite Indicative;Pres;('PSg', P2) mkV : Str -> Str -> V = reg2V ; -- Nonfinite Indicative;Pres;('PSg', P2)
mkV : V -> Str -> V -- particle verb
= \v,p -> v ** {particle = p}
} ; } ;
mkVV : V -> VV = \v -> lin VV v ; mkVV : V -> VV = \v -> lin VV v ;

View File

@@ -92,7 +92,7 @@ oper mkAdj : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Adj =
param Tense = Past | Pres ; param Tense = Past | Pres ;
param PersNum = PSg Person | PPl ; param PersNum = PSg Person | PPl ;
param Person = P1 | P3 | P2 ; param Person = P1 | P3 | P2 ;
oper Verb = {Converb: Str; Imperative_Jussive: Number => Str; Indicative: Tense => PersNum => Str; Nonfinite: Str; Participle: Tense => Str} ; -- 596 oper Verb = {Converb: Str; Imperative_Jussive: Number => Str; Indicative: Tense => PersNum => Str; Nonfinite: Str; Participle: Tense => Str ; particle : Str} ; -- 596
oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb = oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14 -> \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14 ->
{ Converb = f1 ; { Converb = f1 ;
@@ -118,7 +118,8 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Verb =
Participle = table { Participle = table {
Pres => f13 ; Pres => f13 ;
Past => f14 Past => f14
} } ;
particle = []
} ; } ;

View File

@@ -249,11 +249,23 @@ resource ParadigmsIce = open
in lin N (nForms2Noun nfs (nForms2Suffix nfs gend) gend) ; in lin N (nForms2Noun nfs (nForms2Suffix nfs gend) gend) ;
mkPN = overload { mkPN = overload {
-- this should be merged or swithced with N -> Gender -- this should be merged or swithced with N -> Gender
mkPN : Str -> Gender -> PN = mkPN : Str -> Gender -> PN
\name,g -> regPN name g ; = \name,g -> case name of {
head + " " + suf => suffixPN (regPN head g) suf ; -- fallback: use explicit constructors for more precision
_ => regPN name g } ;
mkPN : PN -> Str -> PN -- mkPN (mkPN "Annar" ) "í jólum"
= suffixPN ;
mkPN : Str -> PN -> PN -- mkPN "Sameinuðu" (mkPN "þjóðirnar")
= prefixPN
} ;
foreignPN : Str -> PN = \name -> lin PN {s = \\_ => name ; g = Masc} ;
prefixPN : Str -> PN -> PN = \prefix,pn -> pn ** {
s = \\c => prefix ++ pn.s ! c
} ;
suffixPN : PN -> Str -> PN = \pn,suffix -> pn ** {
s = \\c => pn.s ! c ++ suffix
} ; } ;
oper mkLN : Str -> LN = \s -> lin LN {s=s} ; oper mkLN : Str -> LN = \s -> lin LN {s=s} ;
@@ -810,7 +822,7 @@ resource ParadigmsIce = open
regPN : Str -> Gender -> PN = \name,g -> case <name,g> of { regPN : Str -> Gender -> PN = \name,g -> case <name,g> of {
<base + "i",Masc> => lin PN {s = caseList name (base + "a") (base + "a") (base + "a") ; g = Masc} ; <base + "i",Masc> => lin PN {s = caseList name (base + "a") (base + "a") (base + "a") ; g = Masc} ;
<base + "a",Masc> => lin PN {s = caseList name (base + "u") (base + "u") (base + "u") ; g = Masc} ; <base + "a",g> => lin PN {s = caseList name (base + "u") (base + "u") (base + "u") ; g = g} ;
<base + "ur",Masc> => lin PN {s = caseList name base (base + "i") (base + "s") ; g = Masc} ; <base + "ur",Masc> => lin PN {s = caseList name base (base + "i") (base + "s") ; g = Masc} ;
<base + "l",Masc> => lin PN {s = caseList name name name (name + "s") ; g = Masc} ; <base + "l",Masc> => lin PN {s = caseList name name name (name + "s") ; g = Masc} ;
<base + "s",Masc> => lin PN {s = caseList name name (name + "i") (name + "ar") ; g = Masc} ; <base + "s",Masc> => lin PN {s = caseList name name (name + "i") (name + "ar") ; g = Masc} ;

View File

@@ -83,6 +83,6 @@ flags coding = utf8 ;
-- counter : Str ; counterReplace : Bool ; counterTsu : Bool} ; -- counter : Str ; counterReplace : Bool ; counterTsu : Bool} ;
N2 = Noun ** {prep : Str; object : Style => Str} ; N2 = Noun ** {prep : Str; object : Style => Str} ;
N3 = Noun ** {prep1 : Str; prep2 : Str} ; N3 = Noun ** {prep1 : Str; prep2 : Str} ;
PN = PropNoun ; -- {s : Style => Str ; anim : Animateness} ; PN,LN,GN,SN = PropNoun ; -- {s : Style => Str ; anim : Animateness} ;
} }

View File

@@ -50,6 +50,10 @@ oper
= \jon,jonsan -> lin PN (personPN jon jonsan) = \jon,jonsan -> lin PN (personPN jon jonsan)
} ; } ;
mkGN : Str -> GN = \s -> lin GN (regPN s);
mkLN : Str -> LN = \s -> lin LN (regPN s);
mkSN : Str -> SN = \s -> lin SN (regPN s);
mkPron = overload { mkPron = overload {
mkPron : (kare : Str) -> (Pron1Sg : Bool) -> (anim : Animacy) -> Pron mkPron : (kare : Str) -> (Pron1Sg : Bool) -> (anim : Animacy) -> Pron
= \kare,b,a -> lin Pron (regPron kare b a) ; = \kare,b,a -> lin Pron (regPron kare b a) ;

View File

@@ -0,0 +1,4 @@
concrete AdjectiveMkd of Adjective = CatMkd ** open Prelude,ResMkd in {
lin PositA a = a ** {isPre = True} ;
}

View File

@@ -0,0 +1,3 @@
concrete AdverbMkd of Adverb = CatMkd ** open Prelude,ResMkd in {
lin PrepNP p np = {s = p.s ++ np.s ! RPrep} ;
}

View File

@@ -1,7 +1,8 @@
--# -path=.:../abstract:../common:../prelude:../api --# -path=.:../abstract:../common:../prelude:../api
concrete AllMkd of AllMkdAbs = concrete AllMkd of AllMkdAbs =
LangMkd LangMkd,
ExtendMkd
** { ** {
} ; } ;

View File

@@ -17,10 +17,37 @@ lincat Digits = {s : Str; n : Number; tail : DTail} ;
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 ! Imperfective ! Sg ! P3 ++ \v -> v.present ! Imperfective ! Sg ! P3 ++
case v.isRefl of { case v.vtype of {
True => "се" ; VNormal => [] ;
False => [] VMedial Acc => "се" ;
VMedial Dat => "си"
} ; } ;
linref A, A2 = \a -> a.s ! Indef ! GSg Masc ; linref A, A2 = \a -> a.s ! Indef ! GSg Masc ;
lincat AP = {s : Species => GenNum => Str; isPre : Bool} ;
lincat NP = {s : Role => Str; vocative: Str; g : GenNum; p : Person} ;
lincat Num = {s : Str; n : Number} ;
lincat Quant = {s : Str; sp : Species} ;
lincat Det = {s : Str; n : Number; sp : Species} ;
lincat VP = {present : Aspect => Number => Person => Str;
aorist : Number => Person => Str;
imperfect : Aspect => Number => Person => Str;
imperative : Aspect => Number => Str;
participle : {aorist : Aspect => GenNum => Str; perfect : Aspect => Str}} ;
lincat VPSlash = {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; c2 : Compl} ;
lincat Cl = {present : Aspect => Str;
aorist : Str;
participle : {aorist : Aspect => Str; perfect : Aspect => Str}} ;
lincat RP = {s : GenNum => Str} ;
lincat IP = {s : Str} ;
lincat Subj = {s : Str} ;
} }

View File

@@ -0,0 +1,27 @@
--# -path=.:../abstract:../common:prelude
concrete ExtendMkd of Extend = CatMkd ** open ResMkd in {
lin
CompoundN n1 n2 =
let comp : Species => Number => Str
= \\sp,n => case n1.relType of {
Pref => n1.rel ! sp ! genNum n2.g n ++ n2.s ! sp ! n ;
AdjMod => n1.rel ! sp ! genNum n2.g n ++ n2.s ! Indef ! n ;
AdvMod => n2.s ! sp ! n ++ n1.rel ! sp ! genNum n2.g n
} ;
voc : Number => Str
= \\n => ""{-case n1.relType of {
Pref => 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
}-}
in {
s = comp ;
count_form = comp ! Indef ! Pl ;
vocative = voc ;
rel = \\sp,n => "на" ++ comp ! sp ! Sg ; relType = AdvMod ;
g = n2.g
} ;
}

View File

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

View File

@@ -6875,7 +6875,7 @@ mkV001 base_1 =
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV002 : Str -> V ; mkV002 : Str -> V ;
@@ -6942,7 +6942,7 @@ mkV002 base_1 =
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV003 : Str -> V ; mkV003 : Str -> V ;
@@ -7010,7 +7010,7 @@ mkV003 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV003" _ => error "Can't apply paradigm mkV003"
} ; } ;
@@ -7080,7 +7080,7 @@ mkV004 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV004" _ => error "Can't apply paradigm mkV004"
} ; } ;
@@ -7150,7 +7150,7 @@ mkV005 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV005" _ => error "Can't apply paradigm mkV005"
} ; } ;
@@ -7220,7 +7220,7 @@ mkV006 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV006" _ => error "Can't apply paradigm mkV006"
} ; } ;
@@ -7290,7 +7290,7 @@ mkV007 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV007" _ => error "Can't apply paradigm mkV007"
} ; } ;
@@ -7360,7 +7360,7 @@ mkV008 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV008" _ => error "Can't apply paradigm mkV008"
} ; } ;
@@ -7429,7 +7429,7 @@ mkV009 base_1 =
adverbial = base_1+"јќи" --guessed adverbial = base_1+"јќи" --guessed
} ; } ;
noun_from_verb = base_1+"ње" ; --guessed noun_from_verb = base_1+"ње" ; --guessed
isRefl = False vtype = VNormal
} ; } ;
mkV010 : Str -> V ; mkV010 : Str -> V ;
@@ -7497,7 +7497,7 @@ mkV010 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV010" _ => error "Can't apply paradigm mkV010"
} ; } ;
@@ -7567,7 +7567,7 @@ mkV011 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV011" _ => error "Can't apply paradigm mkV011"
} ; } ;
@@ -7637,7 +7637,7 @@ mkV012 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV012" _ => error "Can't apply paradigm mkV012"
} ; } ;
@@ -7706,7 +7706,7 @@ mkV013 base_1 =
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV014 : Str -> V ; mkV014 : Str -> V ;
@@ -7774,7 +7774,7 @@ mkV014 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV014" _ => error "Can't apply paradigm mkV014"
} ; } ;
@@ -7844,7 +7844,7 @@ mkV015 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV015" _ => error "Can't apply paradigm mkV015"
} ; } ;
@@ -7914,7 +7914,7 @@ mkV016 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV016" _ => error "Can't apply paradigm mkV016"
} ; } ;
@@ -7983,7 +7983,7 @@ mkV017 base_1 =
adverbial = base_1+"јќи" --guessed adverbial = base_1+"јќи" --guessed
} ; } ;
noun_from_verb = base_1+"ње" ; --guessed noun_from_verb = base_1+"ње" ; --guessed
isRefl = False vtype = VNormal
} ; } ;
mkV018 : Str -> V ; mkV018 : Str -> V ;
@@ -8051,7 +8051,7 @@ mkV018 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV018" _ => error "Can't apply paradigm mkV018"
} ; } ;
@@ -8121,7 +8121,7 @@ mkV019 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV019" _ => error "Can't apply paradigm mkV019"
} ; } ;
@@ -8191,7 +8191,7 @@ mkV020 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV020" _ => error "Can't apply paradigm mkV020"
} ; } ;
@@ -8261,7 +8261,7 @@ mkV021 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV021" _ => error "Can't apply paradigm mkV021"
} ; } ;
@@ -8331,7 +8331,7 @@ mkV022 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV022" _ => error "Can't apply paradigm mkV022"
} ; } ;
@@ -8401,7 +8401,7 @@ mkV023 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV023" _ => error "Can't apply paradigm mkV023"
} ; } ;
@@ -8471,7 +8471,7 @@ mkV024 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV024" _ => error "Can't apply paradigm mkV024"
} ; } ;
@@ -8541,7 +8541,7 @@ mkV025 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV025" _ => error "Can't apply paradigm mkV025"
} ; } ;
@@ -8611,7 +8611,7 @@ mkV026 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV026" _ => error "Can't apply paradigm mkV026"
} ; } ;
@@ -8681,7 +8681,7 @@ mkV027 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV027" _ => error "Can't apply paradigm mkV027"
} ; } ;
@@ -8751,7 +8751,7 @@ mkV028 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV028" _ => error "Can't apply paradigm mkV028"
} ; } ;
@@ -8821,7 +8821,7 @@ mkV029 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV029" _ => error "Can't apply paradigm mkV029"
} ; } ;
@@ -8891,7 +8891,7 @@ mkV030 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV030" _ => error "Can't apply paradigm mkV030"
} ; } ;
@@ -8961,7 +8961,7 @@ mkV031 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV031" _ => error "Can't apply paradigm mkV031"
} ; } ;
@@ -9031,7 +9031,7 @@ mkV032 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV032" _ => error "Can't apply paradigm mkV032"
} ; } ;
@@ -9101,7 +9101,7 @@ mkV033 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV033" _ => error "Can't apply paradigm mkV033"
} ; } ;
@@ -9171,7 +9171,7 @@ mkV034 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV034" _ => error "Can't apply paradigm mkV034"
} ; } ;
@@ -9241,7 +9241,7 @@ mkV035 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV035" _ => error "Can't apply paradigm mkV035"
} ; } ;
@@ -9311,7 +9311,7 @@ mkV036 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV036" _ => error "Can't apply paradigm mkV036"
} ; } ;
@@ -9381,7 +9381,7 @@ mkV037 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV037" _ => error "Can't apply paradigm mkV037"
} ; } ;
@@ -9451,7 +9451,7 @@ mkV038 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV038" _ => error "Can't apply paradigm mkV038"
} ; } ;
@@ -9521,7 +9521,7 @@ mkV039 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV039" _ => error "Can't apply paradigm mkV039"
} ; } ;
@@ -9591,7 +9591,7 @@ mkV040 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV040" _ => error "Can't apply paradigm mkV040"
} ; } ;
@@ -9661,7 +9661,7 @@ mkV041 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV041" _ => error "Can't apply paradigm mkV041"
} ; } ;
@@ -9731,7 +9731,7 @@ mkV042 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV042" _ => error "Can't apply paradigm mkV042"
} ; } ;
@@ -9801,7 +9801,7 @@ mkV043 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV043" _ => error "Can't apply paradigm mkV043"
} ; } ;
@@ -9870,7 +9870,7 @@ mkV044 base_1 =
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV045 : Str -> V ; mkV045 : Str -> V ;
@@ -9938,7 +9938,7 @@ mkV045 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV045" _ => error "Can't apply paradigm mkV045"
} ; } ;
@@ -10008,7 +10008,7 @@ mkV046 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV046" _ => error "Can't apply paradigm mkV046"
} ; } ;
@@ -10078,7 +10078,7 @@ mkV047 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV047" _ => error "Can't apply paradigm mkV047"
} ; } ;
@@ -10148,7 +10148,7 @@ mkV048 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV048" _ => error "Can't apply paradigm mkV048"
} ; } ;
@@ -10218,7 +10218,7 @@ mkV049 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV049" _ => error "Can't apply paradigm mkV049"
} ; } ;
@@ -10288,7 +10288,7 @@ mkV050 base =
adverbial = base_1+"и"+base_2+"јќи" adverbial = base_1+"и"+base_2+"јќи"
} ; } ;
noun_from_verb = base_1+"и"+base_2+"ње" ; noun_from_verb = base_1+"и"+base_2+"ње" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV050" _ => error "Can't apply paradigm mkV050"
} ; } ;
@@ -10357,7 +10357,7 @@ mkV051 base_1 =
adverbial = base_1+"јќи" adverbial = base_1+"јќи"
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV052 : Str -> V ; mkV052 : Str -> V ;
@@ -10425,7 +10425,7 @@ mkV052 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV052" _ => error "Can't apply paradigm mkV052"
} ; } ;
@@ -10495,7 +10495,7 @@ mkV053 base =
adverbial = base_1+"ејќи" --guessed adverbial = base_1+"ејќи" --guessed
} ; } ;
noun_from_verb = base_1+"ење" ; --guessed noun_from_verb = base_1+"ење" ; --guessed
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV053" _ => error "Can't apply paradigm mkV053"
} ; } ;
@@ -10565,7 +10565,7 @@ mkV054 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV054" _ => error "Can't apply paradigm mkV054"
} ; } ;
@@ -10634,7 +10634,7 @@ mkV055 base_1 =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ње" ; --guessed noun_from_verb = base_1+"ње" ; --guessed
isRefl = False vtype = VNormal
} ; } ;
mkV056 : Str -> V ; mkV056 : Str -> V ;
@@ -10702,7 +10702,7 @@ mkV056 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV056" _ => error "Can't apply paradigm mkV056"
} ; } ;
@@ -10772,7 +10772,7 @@ mkV057 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV057" _ => error "Can't apply paradigm mkV057"
} ; } ;
@@ -10842,7 +10842,7 @@ mkV058 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV058" _ => error "Can't apply paradigm mkV058"
} ; } ;
@@ -10912,7 +10912,7 @@ mkV059 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV059" _ => error "Can't apply paradigm mkV059"
} ; } ;
@@ -10982,7 +10982,7 @@ mkV060 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV060" _ => error "Can't apply paradigm mkV060"
} ; } ;
@@ -11052,7 +11052,7 @@ mkV061 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV061" _ => error "Can't apply paradigm mkV061"
} ; } ;
@@ -11122,7 +11122,7 @@ mkV062 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV062" _ => error "Can't apply paradigm mkV062"
} ; } ;
@@ -11192,7 +11192,7 @@ mkV063 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV063" _ => error "Can't apply paradigm mkV063"
} ; } ;
@@ -11262,7 +11262,7 @@ mkV064 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV064" _ => error "Can't apply paradigm mkV064"
} ; } ;
@@ -11332,7 +11332,7 @@ mkV065 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV065" _ => error "Can't apply paradigm mkV065"
} ; } ;
@@ -11402,7 +11402,7 @@ mkV066 base =
adverbial = base_1+"ејќи" adverbial = base_1+"ејќи"
} ; } ;
noun_from_verb = base_1+"ење" ; noun_from_verb = base_1+"ење" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV066" _ => error "Can't apply paradigm mkV066"
} ; } ;
@@ -11472,7 +11472,7 @@ mkV067 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV067" _ => error "Can't apply paradigm mkV067"
} ; } ;
@@ -11542,7 +11542,7 @@ mkV068 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV068" _ => error "Can't apply paradigm mkV068"
} ; } ;
@@ -11612,7 +11612,7 @@ mkV069 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV069" _ => error "Can't apply paradigm mkV069"
} ; } ;
@@ -11682,7 +11682,7 @@ mkV070 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV070" _ => error "Can't apply paradigm mkV070"
} ; } ;
@@ -11752,7 +11752,7 @@ mkV071 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV071" _ => error "Can't apply paradigm mkV071"
} ; } ;
@@ -11822,7 +11822,7 @@ mkV072 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV072" _ => error "Can't apply paradigm mkV072"
} ; } ;
@@ -11892,7 +11892,7 @@ mkV073 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV073" _ => error "Can't apply paradigm mkV073"
} ; } ;
@@ -11962,7 +11962,7 @@ mkV074 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV074" _ => error "Can't apply paradigm mkV074"
} ; } ;
@@ -12032,7 +12032,7 @@ mkV075 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV075" _ => error "Can't apply paradigm mkV075"
} ; } ;
@@ -12102,7 +12102,7 @@ mkV076 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV076" _ => error "Can't apply paradigm mkV076"
} ; } ;
@@ -12172,7 +12172,7 @@ mkV077 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV077" _ => error "Can't apply paradigm mkV077"
} ; } ;
@@ -12242,7 +12242,7 @@ mkV078 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV078" _ => error "Can't apply paradigm mkV078"
} ; } ;
@@ -12312,7 +12312,7 @@ mkV079 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV079" _ => error "Can't apply paradigm mkV079"
} ; } ;
@@ -12382,7 +12382,7 @@ mkV080 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV080" _ => error "Can't apply paradigm mkV080"
} ; } ;
@@ -12452,7 +12452,7 @@ mkV081 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV081" _ => error "Can't apply paradigm mkV081"
} ; } ;
@@ -12522,7 +12522,7 @@ mkV082 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV082" _ => error "Can't apply paradigm mkV082"
} ; } ;
@@ -12592,7 +12592,7 @@ mkV083 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV083" _ => error "Can't apply paradigm mkV083"
} ; } ;
@@ -12662,7 +12662,7 @@ mkV084 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV084" _ => error "Can't apply paradigm mkV084"
} ; } ;
@@ -12732,7 +12732,7 @@ mkV085 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV085" _ => error "Can't apply paradigm mkV085"
} ; } ;
@@ -12802,7 +12802,7 @@ mkV086 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV086" _ => error "Can't apply paradigm mkV086"
} ; } ;
@@ -12872,7 +12872,7 @@ mkV087 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV087" _ => error "Can't apply paradigm mkV087"
} ; } ;
@@ -12942,7 +12942,7 @@ mkV088 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV088" _ => error "Can't apply paradigm mkV088"
} ; } ;
@@ -13012,7 +13012,7 @@ mkV089 base =
adverbial = base_1+"фи"+base_2+base_3+"јќи" adverbial = base_1+"фи"+base_2+base_3+"јќи"
} ; } ;
noun_from_verb = base_1+"фи"+base_2+base_3+"ње" ; noun_from_verb = base_1+"фи"+base_2+base_3+"ње" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV089" _ => error "Can't apply paradigm mkV089"
} ; } ;
@@ -13081,7 +13081,7 @@ mkV090 base_1 =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV091 : Str -> V ; mkV091 : Str -> V ;
@@ -13148,7 +13148,7 @@ mkV091 base_1 =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = base_1+"ње" ; noun_from_verb = base_1+"ње" ;
isRefl = False vtype = VNormal
} ; } ;
mkV092 : Str -> V ; mkV092 : Str -> V ;
@@ -13216,7 +13216,7 @@ mkV092 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV092" _ => error "Can't apply paradigm mkV092"
} ; } ;
@@ -13286,7 +13286,7 @@ mkV093 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV093" _ => error "Can't apply paradigm mkV093"
} ; } ;
@@ -13356,7 +13356,7 @@ mkV094 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV094" _ => error "Can't apply paradigm mkV094"
} ; } ;
@@ -13426,7 +13426,7 @@ mkV097 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV097" _ => error "Can't apply paradigm mkV097"
} ; } ;
@@ -13496,7 +13496,7 @@ mkV098 base =
adverbial = base_1+base_2+"јќи" adverbial = base_1+base_2+"јќи"
} ; } ;
noun_from_verb = base_1+base_2+"ње" ; noun_from_verb = base_1+base_2+"ње" ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV098" _ => error "Can't apply paradigm mkV098"
} ; } ;
@@ -13566,7 +13566,7 @@ mkV099 base =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
}; };
_ => error "Can't apply paradigm mkV099" _ => error "Can't apply paradigm mkV099"
} ; } ;
@@ -13635,7 +13635,7 @@ mkV101 base_1 =
adverbial = nonExist adverbial = nonExist
} ; } ;
noun_from_verb = nonExist ; noun_from_verb = nonExist ;
isRefl = False vtype = VNormal
} ; } ;
mkA001 : Str -> A ; mkA001 : Str -> A ;
@@ -15376,8 +15376,8 @@ mkAdv base_1 =
{ s = base_1 { s = base_1
} ; } ;
mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron = mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> GenNum -> Person -> Pron =
\f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15 -> \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 ;
RObj Acc => f2 ; RObj Acc => f2 ;
@@ -15404,7 +15404,9 @@ mkPron : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Pron =
GPl => f14 GPl => f14
} }
} ; } ;
poss_clitic = f15 poss_clitic = f15 ;
g = g ;
p = p ;
} ; } ;
} }

47
src/macedonian/NounMkd.gf Normal file
View File

@@ -0,0 +1,47 @@
concrete NounMkd of Noun = CatMkd ** open Prelude,ResMkd in {
lin AdjCN ap cn = {
s = case ap.isPre of {
True => \\s,n => ap.s ! s
! case n of {
Sg => GSg cn.g;
Pl => GPl
} ++
cn.s ! Indef ! n;
False => \\s,n => cn.s ! s ! n ++
ap.s ! Indef
! case n of {
Sg => GSg cn.g;
Pl => GPl
}
};
vocative = \\n => ap.s ! Indef
! case n of {
Sg => GSg cn.g;
Pl => GPl
} ++
cn.vocative ! n;
count_form = ap.s ! Indef ! GPl ++ cn.count_form; g = cn.g} ;
lin AdvCN cn adv = {
s = \\s,n => cn.s ! s ! n ++ adv.s;
count_form = cn.count_form ++ adv.s;
vocative = \\n => cn.vocative ! n ++ adv.s;
g = cn.g
} ;
lin DefArt = {s = []; sp = Def Unspecified} ;
lin DetCN det cn = {
s = \\r => det.s ++ cn.s ! det.sp ! det.n;
vocative = det.s ++ cn.vocative ! det.n;
g = case det.n of {
Sg => GSg cn.g;
Pl => GPl
} ;
p = P3;
} ;
lin DetQuant det num = {s = det.s ++ num.s; n = num.n;
sp = det.sp} ;
lin IndefArt = {s = []; sp = Indef} ;
lin NumPl = {s = []; n = Pl} ;
lin NumSg = {s = []; n = Sg} ;
lin UseN s = s ;
lin UsePron p = p ** {vocative=p.s ! RSubj} ;
}

View File

@@ -1051,7 +1051,9 @@ mkV = overload {
mkV : Str -> Str -> Str -> V = reg3V -- present;Sg;P3 participle;adverbial participle;adjectival mkV : Str -> Str -> Str -> V = reg3V -- present;Sg;P3 participle;adverbial participle;adjectival
} ; } ;
reflV : V -> V = \v -> v ** {isRefl=True} ; accusative : Case = Acc ;
dative : Case = Dat ;
medialV : V -> Case -> V = \v,c -> v ** {vtype=VMedial c} ;
dualV : V -> V -> V = \impf,perf -> lin V dualV : V -> V -> V = \impf,perf -> lin V
{ present = table { { present = table {
@@ -1083,7 +1085,24 @@ dualV : V -> V -> V = \impf,perf -> lin V
adverbial = impf.participle.adverbial adverbial = impf.participle.adverbial
} ; } ;
noun_from_verb = impf.noun_from_verb ; noun_from_verb = impf.noun_from_verb ;
isRefl = impf.isRefl vtype = impf.vtype
} ;
compoundV = overload {
compoundV : V -> Str -> V = \v,s -> lin V {
present = \\a,n,p => v.present ! a ! n ! p ++ s ;
aorist = \\n,p => v.aorist ! n ! p ++ s ;
imperfect = \\a,n,p => v.imperfect ! a ! n ! p ++ s ;
imperative = \\a,n => v.imperative ! a ! n ++ s ;
participle = { aorist = \\a,gn => v.participle.aorist ! a ! gn ++ s ;
imperfect = \\gn => v.participle.imperfect ! gn ++ s ;
perfect = \\a => v.participle.perfect ! a ++ s ;
adjectival = \\a => v.participle.adjectival ! a ++ s ;
adverbial = v.participle.adverbial
} ;
noun_from_verb = v.noun_from_verb ++ s ;
vtype = v.vtype
}
} ; } ;
mkV2 = overload { mkV2 = overload {
@@ -1142,4 +1161,19 @@ mkVoc : Str -> Voc = \s -> lin Voc {s=s} ;
mkPrep : Str -> Prep = \s -> lin Prep {s=s} ; mkPrep : Str -> Prep = \s -> lin Prep {s=s} ;
noPrep : Prep = lin Prep {s=""} ; noPrep : Prep = lin Prep {s=""} ;
mkIP : Str -> IP = \s -> lin IP {s=s} ;
mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ;
mkIQuant : Str -> IQuant = \s -> lin IQuant {s=s} ;
mkIDet : Str -> IDet = \s -> lin IDet {s=s} ;
mkMU : Str -> MU = \s -> lin MU {s=s; isPre = False} ;
mkSubj : Str -> Subj = \s -> lin Subj {s=s} ;
mkQuant : Str -> Quant = \s -> lin Quant {s=s; sp=Indef} ;
mkDet : Str -> Det = \s -> lin Det {s=s; n=Sg; sp=Indef} ;
mkConj : Str -> Conj = \s -> lin Conj {s=s} ;
mkPConj : Str -> PConj = \s -> lin PConj {s=s} ;
mkPredet : Str -> Predet = \s -> lin Predet {s=s} ;
mkCAdv : Str -> CAdv = \s -> lin CAdv {s=s; p=""} ;
mkCard : Str -> Card = \s -> lin Card {s=s} ;
mkACard : Str -> ACard = \s -> lin ACard {s=s} ;
} }

View File

@@ -9,5 +9,6 @@ concrete PhraseMkd of Phrase = CatMkd ** open Prelude, ResMkd in {
NoPConj = {s = []} ; NoPConj = {s = []} ;
NoVoc = {s = []} ; NoVoc = {s = []} ;
VocNP np = {s = SOFT_BIND++"," ++ np.vocative} ;
} }

View File

@@ -0,0 +1,9 @@
concrete RelativeMkd of Relative = CatMkd ** open Prelude,ResMkd in {
lin IdRP = {s = table {
GSg Masc => "кој" ;
GSg Fem => "која" ;
GSg Neuter => "кое" ;
GPl => "кои"
}
} ;
}

View File

@@ -42,7 +42,8 @@ oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> Noun =
param Aspect = Imperfective | Perfective ; 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: 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 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
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 = \\_ =>
@@ -106,7 +107,7 @@ oper mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ :
adverbial = f31 adverbial = f31
} ; } ;
noun_from_verb = f32 ; noun_from_verb = f32 ;
isRefl = False vtype = VNormal
} ; } ;
@@ -153,7 +154,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} ; oper Pron = {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 {

View File

@@ -0,0 +1,13 @@
concrete SentenceMkd of Sentence = CatMkd ** open Prelude,ResMkd in {
lin PredVP np vp =
let n = case np.g of {
GSg _ => Sg ;
GPl => Pl
}
in {present = \\a => np.s ! RSubj ++ vp.present ! a ! n ! np.p ;
aorist = np.s ! RSubj ++ vp.aorist ! n ! np.p ;
participle = {aorist = \\a => np.s ! RSubj ++ vp.participle.aorist ! a ! np.g;
perfect = \\a => np.s ! RSubj ++ vp.participle.perfect ! a}} ;
}

View File

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

13
src/macedonian/VerbMkd.gf Normal file
View File

@@ -0,0 +1,13 @@
concrete VerbMkd of Verb = CatMkd ** open Prelude,ResMkd in {
lin ComplSlash vps np = {present = \\a,n,p => vps.present ! a ! n
! p
++ np.s ! RObj Acc ;
aorist = \\n,p => vps.aorist ! 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;
participle = {aorist = \\a,gn => vps.participle.aorist ! a ! gn ++ np.s ! RObj Acc;
perfect = \\a => vps.participle.perfect ! a ++ np.s ! RObj Acc}} ;
lin SlashV2a v = v ;
}