forked from GitHub/gf-core
initial Slavic grammar, shared between Bulgarian and Russian
This commit is contained in:
@@ -1,9 +1,7 @@
|
|||||||
concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
concrete CatBul of Cat = CatSlavic with (ResSlavic = ResBul) ** open Prelude, (R = ParamX) in {
|
||||||
flags coding=cp1251 ;
|
|
||||||
|
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
|
||||||
|
|
||||||
|
flags
|
||||||
|
coding=cp1251; optimize=all_subs;
|
||||||
|
|
||||||
lincat
|
lincat
|
||||||
|
|
||||||
@@ -44,7 +42,7 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
|||||||
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
|
QCl = {s : ResBul.Tense => Anteriority => Polarity => QForm => Str} ;
|
||||||
IP = {s : Role => QForm => Str; gn : GenNum} ;
|
IP = {s : Role => QForm => Str; gn : GenNum} ;
|
||||||
IComp = {s : QForm => Str} ;
|
IComp = {s : QForm => Str} ;
|
||||||
IDet = {s : DGender => QForm => Str; n : Number ; nonEmpty : Bool} ;
|
IDet = {s : Gender => Animacy => QForm => Str; n : Number ; nonEmpty : Bool} ;
|
||||||
IQuant = {s : GenNum => QForm => Str} ;
|
IQuant = {s : GenNum => QForm => Str} ;
|
||||||
|
|
||||||
-- Relative
|
-- Relative
|
||||||
@@ -73,10 +71,9 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
|||||||
|
|
||||||
-- Noun
|
-- Noun
|
||||||
|
|
||||||
CN = {s : NForm => Str; g : DGender} ;
|
|
||||||
NP = {s : Role => Str; a : Agr} ;
|
NP = {s : Role => Str; a : Agr} ;
|
||||||
Pron = {s : Role => Str; gen : AForm => Str; a : Agr} ;
|
Pron = {s : Role => Str; gen : AForm => Str; a : Agr} ;
|
||||||
Det = {s : Bool => DGender => Role => Str; n : Number; countable : Bool; spec : Species} ;
|
Det = {s : Bool => Gender => Animacy => Role => Str; n : Number; countable : Bool; spec : Species} ;
|
||||||
Predet = {s : GenNum => Str} ;
|
Predet = {s : GenNum => Str} ;
|
||||||
Ord = {s : AForm => Str} ;
|
Ord = {s : AForm => Str} ;
|
||||||
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
Num = {s : DGenderSpecies => Str; n : Number; nonEmpty : Bool} ;
|
||||||
@@ -106,9 +103,6 @@ concrete CatBul of Cat = open ResBul, Prelude, (R = ParamX) in {
|
|||||||
A = {s : AForm => Str; adv : Str} ;
|
A = {s : AForm => Str; adv : Str} ;
|
||||||
A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
|
A2 = {s : AForm => Str; adv : Str; c2 : Str} ;
|
||||||
|
|
||||||
N = {s : NForm => Str; g : DGender} ;
|
|
||||||
N2 = {s : NForm => Str; g : DGender} ** {c2 : Preposition} ;
|
|
||||||
N3 = {s : NForm => Str; g : DGender} ** {c2,c3 : Preposition} ;
|
|
||||||
PN = {s : Str; g : Gender} ;
|
PN = {s : Str; g : Gender} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ concrete ConjunctionBul of Conjunction =
|
|||||||
|
|
||||||
ConjNP conj ss = {
|
ConjNP conj ss = {
|
||||||
s = \\role => (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj!role;
|
s = \\role => (linCoordSep [])!conj.distr!conj.conj++ss.s!conj.distr!conj.conj!role;
|
||||||
a = {gn = conjGenNum (gennum DMasc conj.n) ss.a.gn; p = ss.a.p}
|
a = {gn = conjGenNum (gennum Masc conj.n) ss.a.gn; p = ss.a.p}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
ConjAP conj ss = {
|
ConjAP conj ss = {
|
||||||
|
|||||||
15
next-lib/src/bulgarian/DiffBul.gf
Normal file
15
next-lib/src/bulgarian/DiffBul.gf
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
instance DiffBul of DiffSlavic = open CommonSlavic, Prelude in {
|
||||||
|
|
||||||
|
param
|
||||||
|
Case = Acc | Dat ;
|
||||||
|
|
||||||
|
Species = Indef | Def ;
|
||||||
|
|
||||||
|
NForm =
|
||||||
|
NF Number Species
|
||||||
|
| NFSgDefNom
|
||||||
|
| NFPlCount
|
||||||
|
| NFVocative
|
||||||
|
;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
--# -path=.:../abstract:../common:src/prelude
|
--# -path=.:../abstract:../common:../slavic
|
||||||
|
|
||||||
concrete LangBul of Lang =
|
concrete LangBul of Lang =
|
||||||
GrammarBul,
|
GrammarBul,
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ resource MorphoBul = ResBul ** open
|
|||||||
oper
|
oper
|
||||||
--2 Determiners
|
--2 Determiners
|
||||||
|
|
||||||
mkDeterminerSg : Str -> Str -> Str -> {s : Bool => DGender => Role => Str; n : Number; countable : Bool ; spec : Species} = \vseki,vsiaka,vsiako ->
|
mkDeterminerSg : Str -> Str -> Str -> {s : Bool => Gender => Animacy => Role => Str; n : Number; countable : Bool ; spec : Species} = \vseki,vsiaka,vsiako ->
|
||||||
{s = \\_,g,_ => table DGender [vseki;vseki;vsiaka;vsiako] ! g; n = Sg; countable = False; spec = Indef} ;
|
{s = \\_,g,_,_ => table Gender [vseki;vsiaka;vsiako] ! g; n = Sg; countable = False; spec = Indef} ;
|
||||||
mkDeterminerPl : Str -> {s : Bool => DGender => Role => Str ; n : Number; countable : Bool ; spec : Species} = \vsicki ->
|
mkDeterminerPl : Str -> {s : Bool => Gender => Animacy => Role => Str ; n : Number; countable : Bool ; spec : Species} = \vsicki ->
|
||||||
{s = \\_,_,_ => vsicki; sp = \\_,_ => vsicki; n = Pl; countable = False; spec = Indef} ;
|
{s = \\_,_,_,_ => vsicki; sp = \\_,_ => vsicki; n = Pl; countable = False; spec = Indef} ;
|
||||||
|
|
||||||
mkQuant : Str -> Str -> Str -> Str -> {s : Bool => AForm => Str; nonEmpty : Bool; spec : Species} = \tozi,tazi,towa,tezi ->
|
mkQuant : Str -> Str -> Str -> Str -> {s : Bool => AForm => Str; nonEmpty : Bool; spec : Species} = \tozi,tazi,towa,tezi ->
|
||||||
{ s = \\_ => table {
|
{ s = \\_ => table {
|
||||||
@@ -105,7 +105,7 @@ oper
|
|||||||
|
|
||||||
--2 Nouns
|
--2 Nouns
|
||||||
|
|
||||||
mkNoun : Str -> Str -> Str -> Str -> DGender -> N = \sg,pl,count,voc,g -> {
|
mkNoun : Str -> Str -> Str -> Str -> Gender -> Animacy -> N = \sg,pl,count,voc,g,anim -> {
|
||||||
s = table {
|
s = table {
|
||||||
NF Sg Indef => sg ;
|
NF Sg Indef => sg ;
|
||||||
NF Sg Def => case sg of {
|
NF Sg Def => case sg of {
|
||||||
@@ -154,6 +154,7 @@ oper
|
|||||||
NFVocative => voc
|
NFVocative => voc
|
||||||
} ;
|
} ;
|
||||||
g = g ;
|
g = g ;
|
||||||
|
anim = anim ;
|
||||||
lock_N = <>
|
lock_N = <>
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ oper
|
|||||||
--
|
--
|
||||||
|
|
||||||
prepN2 : N -> Prep -> N2 ;
|
prepN2 : N -> Prep -> N2 ;
|
||||||
prepN2 n p = {s = n.s; g = n.g; c2 = p; lock_N2 = <>} ;
|
prepN2 n p = {s = n.s; g = n.g; anim=n.anim ; c2 = p; lock_N2 = <>} ;
|
||||||
|
|
||||||
dirN2 : N -> N2 ;
|
dirN2 : N -> N2 ;
|
||||||
dirN2 n = prepN2 n noPrep ;
|
dirN2 n = prepN2 n noPrep ;
|
||||||
@@ -152,7 +152,7 @@ oper
|
|||||||
--
|
--
|
||||||
|
|
||||||
prepN3 : N -> Prep -> Prep -> N3 ;
|
prepN3 : N -> Prep -> Prep -> N3 ;
|
||||||
prepN3 n p q = {s = n.s; g = n.g; c2 = p; c3 = q; lock_N3 = <>} ;
|
prepN3 n p q = {s = n.s; g = n.g; anim=n.anim ; c2 = p; c3 = q; lock_N3 = <>} ;
|
||||||
|
|
||||||
dirN3 : N -> Prep -> N3 ;
|
dirN3 : N -> Prep -> N3 ;
|
||||||
dirN3 n p = prepN3 n noPrep p ;
|
dirN3 n p = prepN3 n noPrep p ;
|
||||||
@@ -160,6 +160,13 @@ oper
|
|||||||
dirdirN3 : N -> N3 ;
|
dirdirN3 : N -> N3 ;
|
||||||
dirdirN3 n = dirN3 n noPrep ;
|
dirdirN3 n = dirN3 n noPrep ;
|
||||||
|
|
||||||
|
compoundN = overload {
|
||||||
|
compoundN : Str -> N -> N
|
||||||
|
= \s,n -> {s = \\nform => s ++ n.s ! nform ; g=n.g ; anim=n.anim ; lock_N = <>} ;
|
||||||
|
compoundN : N -> Str -> N
|
||||||
|
= \n,s -> {s = \\nform => s ++ n.s ! nform ; g=n.g ; anim=n.anim ; lock_N = <>} ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
--2 Prepositions
|
--2 Prepositions
|
||||||
--
|
--
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
s = det.s ! True ! cn.g ! role ++ cn.s ! nf
|
s = det.s ! True ! cn.g ! cn.anim ! role ++ cn.s ! nf
|
||||||
in case role of {
|
in case role of {
|
||||||
RObj Dat => "íà" ++ s;
|
RObj Dat => "íà" ++ s;
|
||||||
_ => s
|
_ => s
|
||||||
@@ -31,12 +31,12 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetNP det =
|
DetNP det =
|
||||||
{ s = \\role => let s = det.s ! False ! DNeut ! role
|
{ s = \\role => let s = det.s ! False ! Neut ! Inanimate ! role
|
||||||
in case role of {
|
in case role of {
|
||||||
RObj Dat => "íà" ++ s;
|
RObj Dat => "íà" ++ s;
|
||||||
_ => s
|
_ => s
|
||||||
} ;
|
} ;
|
||||||
a = {gn = gennum DNeut det.n; p = P3} ;
|
a = {gn = gennum Neut det.n; p = P3} ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
UsePN pn = { s = table {
|
UsePN pn = { s = table {
|
||||||
@@ -63,19 +63,19 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetQuant quant num = {
|
DetQuant quant num = {
|
||||||
s = \\sp,g,c => let sp' = case num.nonEmpty of { True => True ;
|
s = \\sp,g,anim,c => let sp' = case num.nonEmpty of { True => True ;
|
||||||
False => sp }
|
False => sp }
|
||||||
in quant.s ! sp' ! aform (gennum g num.n) (case c of {RVoc=>Indef; _=>Def}) c ++
|
in quant.s ! sp' ! aform (gennum g num.n) (case c of {RVoc=>Indef; _=>Def}) c ++
|
||||||
num.s ! dgenderSpecies g quant.spec c ;
|
num.s ! dgenderSpecies g anim quant.spec c ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
countable = num.nonEmpty ;
|
countable = num.nonEmpty ;
|
||||||
spec = case num.nonEmpty of {True=>Indef; _=>quant.spec}
|
spec = case num.nonEmpty of {True=>Indef; _=>quant.spec}
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
DetQuantOrd = \quant, num, ord -> {
|
DetQuantOrd = \quant, num, ord -> {
|
||||||
s = \\_,g,c => quant.s ! True ! aform (gennum g num.n) (case c of {RVoc=>Indef; _=>Def}) c ++
|
s = \\_,g,anim,c => quant.s ! True ! aform (gennum g num.n) (case c of {RVoc=>Indef; _=>Def}) c ++
|
||||||
num.s ! dgenderSpecies g quant.spec c ++
|
num.s ! dgenderSpecies g anim quant.spec c ++
|
||||||
ord.s ! aform (gennum g num.n) (case num.nonEmpty of {True=>Indef; _=>quant.spec}) c ;
|
ord.s ! aform (gennum g num.n) (case num.nonEmpty of {True=>Indef; _=>quant.spec}) c ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
countable = num.nonEmpty ;
|
countable = num.nonEmpty ;
|
||||||
spec=Indef
|
spec=Indef
|
||||||
@@ -144,11 +144,21 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
UseN noun = noun ;
|
UseN noun = noun ;
|
||||||
UseN2 noun = noun ;
|
UseN2 noun = noun ;
|
||||||
|
|
||||||
ComplN2 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; g=f.g} ;
|
ComplN2 f x = {
|
||||||
ComplN3 f x = {s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c; c2 = f.c3; g=f.g} ;
|
s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c ;
|
||||||
|
g=f.g ;
|
||||||
|
anim = f.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
Use2N3 f = {s = f.s ; g=f.g ; c2 = f.c2} ;
|
ComplN3 f x = {
|
||||||
Use3N3 f = {s = f.s ; g=f.g ; c2 = f.c3} ;
|
s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! RObj f.c2.c ;
|
||||||
|
c2 = f.c3 ;
|
||||||
|
g=f.g ;
|
||||||
|
anim = f.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Use2N3 f = {s = f.s ; g=f.g ; anim=f.anim ; c2 = f.c2} ;
|
||||||
|
Use3N3 f = {s = f.s ; g=f.g ; anim=f.anim ; c2 = f.c3} ;
|
||||||
|
|
||||||
|
|
||||||
AdjCN ap cn = {
|
AdjCN ap cn = {
|
||||||
@@ -156,20 +166,27 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
|
|||||||
True => (ap.s ! nform2aform nf cn.g) ++ (cn.s ! (indefNForm nf)) ;
|
True => (ap.s ! nform2aform nf cn.g) ++ (cn.s ! (indefNForm nf)) ;
|
||||||
False => (cn.s ! nf) ++ (ap.s ! nform2aform (indefNForm nf) cn.g)
|
False => (cn.s ! nf) ++ (ap.s ! nform2aform (indefNForm nf) cn.g)
|
||||||
} ;
|
} ;
|
||||||
g = cn.g
|
g = cn.g ;
|
||||||
|
anim = cn.anim
|
||||||
} ;
|
} ;
|
||||||
RelCN cn rs = {
|
RelCN cn rs = {
|
||||||
s = \\nf => cn.s ! nf ++ rs.s ! {gn=gennum cn.g (numNForm nf); p=P3} ;
|
s = \\nf => cn.s ! nf ++ rs.s ! {gn=gennum cn.g (numNForm nf); p=P3} ;
|
||||||
g = cn.g
|
g = cn.g ;
|
||||||
|
anim = cn.anim
|
||||||
} ;
|
} ;
|
||||||
AdvCN cn ad = {
|
AdvCN cn ad = {
|
||||||
s = \\nf => cn.s ! nf ++ ad.s ;
|
s = \\nf => cn.s ! nf ++ ad.s ;
|
||||||
g = cn.g
|
g = cn.g ;
|
||||||
|
anim = cn.anim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
SentCN cn sc = {s = \\nf => cn.s ! nf ++ sc.s; g=DNeut} ;
|
SentCN cn sc = {s = \\nf => cn.s ! nf ++ sc.s; g=Neut; anim=Inanimate} ;
|
||||||
|
|
||||||
ApposCN cn np = {s = \\nf => cn.s ! nf ++ np.s ! RSubj; g=cn.g} ;
|
ApposCN cn np = {
|
||||||
|
s = \\nf => cn.s ! nf ++ np.s ! RSubj;
|
||||||
|
g=cn.g ;
|
||||||
|
anim = cn.anim
|
||||||
|
} ;
|
||||||
|
|
||||||
RelNP np rs = {
|
RelNP np rs = {
|
||||||
s = \\r => np.s ! r ++ rs.s ! np.a ;
|
s = \\r => np.s ! r ++ rs.s ! np.a ;
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ oper
|
|||||||
(v0+"îâĺ")
|
(v0+"îâĺ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN002 : Str -> N ;
|
mkN002 : Str -> N ;
|
||||||
mkN002 base = let v0 = tk 2 base;
|
mkN002 base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -21,7 +22,8 @@ oper
|
|||||||
(v0+"ĺ"+v1+"îâĺ")
|
(v0+"ĺ"+v1+"îâĺ")
|
||||||
(v0+"˙"+v1+"ŕ")
|
(v0+"˙"+v1+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN002a : Str -> N ;
|
mkN002a : Str -> N ;
|
||||||
mkN002a base = let v0 = tk 2 base;
|
mkN002a base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -29,7 +31,8 @@ oper
|
|||||||
(v0+"ĺ"+v1+"îâĺ")
|
(v0+"ĺ"+v1+"îâĺ")
|
||||||
(v0+"˙"+v1+"ŕ")
|
(v0+"˙"+v1+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN003 : Str -> N ;
|
mkN003 : Str -> N ;
|
||||||
mkN003 base = let v0 = tk 3 base;
|
mkN003 base = let v0 = tk 3 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -37,49 +40,56 @@ oper
|
|||||||
(v0+"úđ"+v1+"îâĺ")
|
(v0+"úđ"+v1+"îâĺ")
|
||||||
(v0+"úđ"+v1+"ŕ")
|
(v0+"úđ"+v1+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN004 : Str -> N ;
|
mkN004 : Str -> N ;
|
||||||
mkN004 base = let v0 = tk 4 base
|
mkN004 base = let v0 = tk 4 base
|
||||||
in mkNoun (v0+"˙ňúđ")
|
in mkNoun (v0+"˙ňúđ")
|
||||||
(v0+"ĺňđîâĺ")
|
(v0+"ĺňđîâĺ")
|
||||||
(v0+"˙ňúđŕ")
|
(v0+"˙ňúđŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN005 : Str -> N ;
|
mkN005 : Str -> N ;
|
||||||
mkN005 base = let v0 = base
|
mkN005 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"îâĺ")
|
(v0+"îâĺ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN006 : Str -> N ;
|
mkN006 : Str -> N ;
|
||||||
mkN006 base = let v0 = base
|
mkN006 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"îâĺ")
|
(v0+"îâĺ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN007 : Str -> N ;
|
mkN007 : Str -> N ;
|
||||||
mkN007 base = let v0 = base
|
mkN007 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN007b : Str -> N ;
|
mkN007b : Str -> N ;
|
||||||
mkN007b base = let v0 = base
|
mkN007b base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN007a : Str -> N ;
|
mkN007a : Str -> N ;
|
||||||
mkN007a base = let v0 = base
|
mkN007a base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN008 : Str -> N ;
|
mkN008 : Str -> N ;
|
||||||
mkN008 base = let v0 = tk 2 base;
|
mkN008 base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -87,14 +97,16 @@ oper
|
|||||||
(v0+v1+"č")
|
(v0+v1+"č")
|
||||||
(v0+"ĺ"+v1+"ŕ")
|
(v0+"ĺ"+v1+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN008a : Str -> N ;
|
mkN008a : Str -> N ;
|
||||||
mkN008a base = let v0 = tk 2 base
|
mkN008a base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺö")
|
in mkNoun (v0+"ĺö")
|
||||||
(v0+"öč")
|
(v0+"öč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ĺöî")
|
(v0+"ĺöî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN009 : Str -> N ;
|
mkN009 : Str -> N ;
|
||||||
mkN009 base = let v0 = tk 2 base;
|
mkN009 base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -102,84 +114,96 @@ oper
|
|||||||
(v0+v1+"č")
|
(v0+v1+"č")
|
||||||
(v0+"ú"+v1+"ŕ")
|
(v0+"ú"+v1+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN009a : Str -> N ;
|
mkN009a : Str -> N ;
|
||||||
mkN009a base = let v0 = tk 2 base
|
mkN009a base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úđ")
|
in mkNoun (v0+"úđ")
|
||||||
(v0+"đîâĺ")
|
(v0+"đîâĺ")
|
||||||
(v0+"úđŕ")
|
(v0+"úđŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN010 : Str -> N ;
|
mkN010 : Str -> N ;
|
||||||
mkN010 base = let v0 = tk 2 base
|
mkN010 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úđ")
|
in mkNoun (v0+"úđ")
|
||||||
(v0+"đč")
|
(v0+"đč")
|
||||||
(v0+"đŕ")
|
(v0+"đŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN011 : Str -> N ;
|
mkN011 : Str -> N ;
|
||||||
mkN011 base = let v0 = tk 2 base
|
mkN011 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úě")
|
in mkNoun (v0+"úě")
|
||||||
(v0+"ěč")
|
(v0+"ěč")
|
||||||
(v0+"úěŕ")
|
(v0+"úěŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN012 : Str -> N ;
|
mkN012 : Str -> N ;
|
||||||
mkN012 base = let v0 = tk 3 base
|
mkN012 base = let v0 = tk 3 base
|
||||||
in mkNoun (v0+"đúę")
|
in mkNoun (v0+"đúę")
|
||||||
(v0+"úđöč")
|
(v0+"úđöč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"úđęî")
|
(v0+"úđęî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN013 : Str -> N ;
|
mkN013 : Str -> N ;
|
||||||
mkN013 base = let v0 = tk 2 base
|
mkN013 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺö")
|
in mkNoun (v0+"ĺö")
|
||||||
(v0+"éöč")
|
(v0+"éöč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ĺöî")
|
(v0+"ĺöî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN014 : Str -> N ;
|
mkN014 : Str -> N ;
|
||||||
mkN014 base = let v0 = tk 1 base
|
mkN014 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ę")
|
in mkNoun (v0+"ę")
|
||||||
(v0+"öč")
|
(v0+"öč")
|
||||||
(v0+"ęŕ")
|
(v0+"ęŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN014a : Str -> N ;
|
mkN014a : Str -> N ;
|
||||||
mkN014a base = let v0 = tk 1 base
|
mkN014a base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ę")
|
in mkNoun (v0+"ę")
|
||||||
(v0+"öč")
|
(v0+"öč")
|
||||||
(v0+"ęŕ")
|
(v0+"ęŕ")
|
||||||
(v0+"ęî")
|
(v0+"ęî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN015 : Str -> N ;
|
mkN015 : Str -> N ;
|
||||||
mkN015 base = let v0 = tk 1 base
|
mkN015 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ă")
|
in mkNoun (v0+"ă")
|
||||||
(v0+"çč")
|
(v0+"çč")
|
||||||
(v0+"ăŕ")
|
(v0+"ăŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN016 : Str -> N ;
|
mkN016 : Str -> N ;
|
||||||
mkN016 base = let v0 = tk 1 base
|
mkN016 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ő")
|
in mkNoun (v0+"ő")
|
||||||
(v0+"ńč")
|
(v0+"ńč")
|
||||||
(v0+"őŕ")
|
(v0+"őŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN017 : Str -> N ;
|
mkN017 : Str -> N ;
|
||||||
mkN017 base = let v0 = tk 1 base
|
mkN017 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ę")
|
in mkNoun (v0+"ę")
|
||||||
(v0+"íč")
|
(v0+"íč")
|
||||||
(v0+"ęŕ")
|
(v0+"ęŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN018 : Str -> N ;
|
mkN018 : Str -> N ;
|
||||||
mkN018 base = let v0 = tk 2 base
|
mkN018 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"čí")
|
in mkNoun (v0+"čí")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"číî")
|
(v0+"číî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN018a : Str -> N ;
|
mkN018a : Str -> N ;
|
||||||
mkN018a base = let v0 = tk 2 base;
|
mkN018a base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -187,21 +211,24 @@ oper
|
|||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN019 : Str -> N ;
|
mkN019 : Str -> N ;
|
||||||
mkN019 base = let v0 = tk 2 base
|
mkN019 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úę")
|
in mkNoun (v0+"úę")
|
||||||
(v0+"öč")
|
(v0+"öč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ęî")
|
(v0+"ęî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN019a : Str -> N ;
|
mkN019a : Str -> N ;
|
||||||
mkN019a base = let v0 = tk 2 base
|
mkN019a base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺę")
|
in mkNoun (v0+"ĺę")
|
||||||
(v0+"éöč")
|
(v0+"éöč")
|
||||||
(v0+"ĺęŕ")
|
(v0+"ĺęŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN020 : Str -> N ;
|
mkN020 : Str -> N ;
|
||||||
mkN020 base = let v0 = tk 3 base;
|
mkN020 base = let v0 = tk 3 base;
|
||||||
v1 = last (tk 2 base)
|
v1 = last (tk 2 base)
|
||||||
@@ -209,217 +236,248 @@ oper
|
|||||||
(v0+"ú"+v1+"öč")
|
(v0+"ú"+v1+"öč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+v1+"ĺöî")
|
(v0+v1+"ĺöî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN021 : Str -> N ;
|
mkN021 : Str -> N ;
|
||||||
mkN021 base = let v0 = tk 3 base
|
mkN021 base = let v0 = tk 3 base
|
||||||
in mkNoun (v0+"÷čí")
|
in mkNoun (v0+"÷čí")
|
||||||
(v0+"öč")
|
(v0+"öč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"÷číî")
|
(v0+"÷číî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN022 : Str -> N ;
|
mkN022 : Str -> N ;
|
||||||
mkN022 base = let v0 = base
|
mkN022 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN023 : Str -> N ;
|
mkN023 : Str -> N ;
|
||||||
mkN023 base = let v0 = tk 2 base
|
mkN023 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"čí")
|
in mkNoun (v0+"čí")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"číĺ")
|
(v0+"číĺ")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN024a : Str -> N ;
|
mkN024a : Str -> N ;
|
||||||
mkN024a base = let v0 = tk 1 base
|
mkN024a base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ç")
|
in mkNoun (v0+"ç")
|
||||||
(v0+"çĺ")
|
(v0+"çĺ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ćĺ")
|
(v0+"ćĺ")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN024 : Str -> N ;
|
mkN024 : Str -> N ;
|
||||||
mkN024 base = let v0 = base
|
mkN024 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN025 : Str -> N ;
|
mkN025 : Str -> N ;
|
||||||
mkN025 base = let v0 = base
|
mkN025 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN026 : Str -> N ;
|
mkN026 : Str -> N ;
|
||||||
mkN026 base = let v0 = base
|
mkN026 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"čëčůŕ")
|
(v0+"čëčůŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN027 : Str -> N ;
|
mkN027 : Str -> N ;
|
||||||
mkN027 base = let v0 = tk 2 base
|
mkN027 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺö")
|
in mkNoun (v0+"ĺö")
|
||||||
(v0+"îâöĺ")
|
(v0+"îâöĺ")
|
||||||
(v0+"ĺöŕ")
|
(v0+"ĺöŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN028 : Str -> N ;
|
mkN028 : Str -> N ;
|
||||||
mkN028 base = let v0 = tk 1 base
|
mkN028 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"é")
|
in mkNoun (v0+"é")
|
||||||
(v0+"ĺâĺ")
|
(v0+"ĺâĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN028a : Str -> N ;
|
mkN028a : Str -> N ;
|
||||||
mkN028a base = let v0 = tk 1 base
|
mkN028a base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"é")
|
in mkNoun (v0+"é")
|
||||||
(v0+"éîâĺ")
|
(v0+"éîâĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN029 : Str -> N ;
|
mkN029 : Str -> N ;
|
||||||
mkN029 base = let v0 = base
|
mkN029 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"üîâĺ")
|
(v0+"üîâĺ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ęî")
|
(v0+"ęî")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN030 : Str -> N ;
|
mkN030 : Str -> N ;
|
||||||
mkN030 base = let v0 = tk 2 base
|
mkN030 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úí")
|
in mkNoun (v0+"úí")
|
||||||
(v0+"íüîâĺ")
|
(v0+"íüîâĺ")
|
||||||
(v0+"úí˙")
|
(v0+"úí˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN031 : Str -> N ;
|
mkN031 : Str -> N ;
|
||||||
mkN031 base = let v0 = base
|
mkN031 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN031a : Str -> N ;
|
mkN031a : Str -> N ;
|
||||||
mkN031a base = let v0 = base
|
mkN031a base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"ţ")
|
(v0+"ţ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN032 : Str -> N ;
|
mkN032 : Str -> N ;
|
||||||
mkN032 base = let v0 = tk 1 base
|
mkN032 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"é")
|
in mkNoun (v0+"é")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN032a : Str -> N ;
|
mkN032a : Str -> N ;
|
||||||
mkN032a base = let v0 = tk 1 base
|
mkN032a base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"é")
|
in mkNoun (v0+"é")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"ţ")
|
(v0+"ţ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN033 : Str -> N ;
|
mkN033 : Str -> N ;
|
||||||
mkN033 base = let v0 = tk 2 base
|
mkN033 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺí")
|
in mkNoun (v0+"ĺí")
|
||||||
(v0+"íč")
|
(v0+"íč")
|
||||||
(v0+"ĺíŕ")
|
(v0+"ĺíŕ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN034 : Str -> N ;
|
mkN034 : Str -> N ;
|
||||||
mkN034 base = let v0 = tk 2 base
|
mkN034 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"úň")
|
in mkNoun (v0+"úň")
|
||||||
(v0+"ňč")
|
(v0+"ňč")
|
||||||
(v0+"úň˙")
|
(v0+"úň˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN035 : Str -> N ;
|
mkN035 : Str -> N ;
|
||||||
mkN035 base = let v0 = base
|
mkN035 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN035a : Str -> N ;
|
mkN035a : Str -> N ;
|
||||||
mkN035a base = let v0 = base
|
mkN035a base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"ţ")
|
(v0+"ţ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN036 : Str -> N ;
|
mkN036 : Str -> N ;
|
||||||
mkN036 base = let v0 = tk 1 base
|
mkN036 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"é")
|
in mkNoun (v0+"é")
|
||||||
(v0+"čůŕ")
|
(v0+"čůŕ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN037 : Str -> N ;
|
mkN037 : Str -> N ;
|
||||||
mkN037 base = let v0 = base
|
mkN037 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"čůŕ")
|
(v0+"čůŕ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN038 : Str -> N ;
|
mkN038 : Str -> N ;
|
||||||
mkN038 base = let v0 = tk 1 base
|
mkN038 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ŕ")
|
in mkNoun (v0+"ŕ")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
DMascPersonal ;
|
Masc
|
||||||
|
Animate ;
|
||||||
mkN039 : Str -> N ;
|
mkN039 : Str -> N ;
|
||||||
mkN039 base = let v0 = tk 1 base
|
mkN039 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"˙")
|
in mkNoun (v0+"˙")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN040 : Str -> N ;
|
mkN040 : Str -> N ;
|
||||||
mkN040 base = let v0 = tk 1 base
|
mkN040 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"îâöč")
|
(v0+"îâöč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN040a : Str -> N ;
|
mkN040a : Str -> N ;
|
||||||
mkN040a base = let v0 = base
|
mkN040a base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DMasc ;
|
Masc
|
||||||
|
Inanimate ;
|
||||||
mkN041 : Str -> N ;
|
mkN041 : Str -> N ;
|
||||||
mkN041 base = let v0 = tk 1 base
|
mkN041 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ŕ")
|
in mkNoun (v0+"ŕ")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN041a : Str -> N ;
|
mkN041a : Str -> N ;
|
||||||
mkN041a base = let v0 = tk 1 base
|
mkN041a base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ŕ")
|
in mkNoun (v0+"ŕ")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN041b : Str -> N ;
|
mkN041b : Str -> N ;
|
||||||
mkN041b base = let v0 = tk 1 base
|
mkN041b base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ŕ")
|
in mkNoun (v0+"ŕ")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN042 : Str -> N ;
|
mkN042 : Str -> N ;
|
||||||
mkN042 base = let v0 = base
|
mkN042 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0)
|
(v0)
|
||||||
(v0)
|
(v0)
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN043 : Str -> N ;
|
mkN043 : Str -> N ;
|
||||||
mkN043 base = let v0 = tk 3 base;
|
mkN043 base = let v0 = tk 3 base;
|
||||||
v1 = last (tk 1 base)
|
v1 = last (tk 1 base)
|
||||||
@@ -427,7 +485,8 @@ oper
|
|||||||
(v0+"ĺ"+v1+"č")
|
(v0+"ĺ"+v1+"č")
|
||||||
(v0+"ĺ"+v1+"č")
|
(v0+"ĺ"+v1+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN043a : Str -> N ;
|
mkN043a : Str -> N ;
|
||||||
mkN043a base = let v0 = tk 4 base;
|
mkN043a base = let v0 = tk 4 base;
|
||||||
v1 = last (tk 2 base)
|
v1 = last (tk 2 base)
|
||||||
@@ -435,56 +494,64 @@ oper
|
|||||||
(v0+"ĺ"+v1+"ęč")
|
(v0+"ĺ"+v1+"ęč")
|
||||||
(v0+"ĺ"+v1+"ęč")
|
(v0+"ĺ"+v1+"ęč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN044 : Str -> N ;
|
mkN044 : Str -> N ;
|
||||||
mkN044 base = let v0 = tk 1 base
|
mkN044 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ŕ")
|
in mkNoun (v0+"ŕ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN045 : Str -> N ;
|
mkN045 : Str -> N ;
|
||||||
mkN045 base = let v0 = tk 2 base
|
mkN045 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ęŕ")
|
in mkNoun (v0+"ęŕ")
|
||||||
(v0+"öĺ")
|
(v0+"öĺ")
|
||||||
(v0+"öĺ")
|
(v0+"öĺ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN046 : Str -> N ;
|
mkN046 : Str -> N ;
|
||||||
mkN046 base = let v0 = tk 2 base
|
mkN046 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ăŕ")
|
in mkNoun (v0+"ăŕ")
|
||||||
(v0+"çĺ")
|
(v0+"çĺ")
|
||||||
(v0+"çĺ")
|
(v0+"çĺ")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN047 : Str -> N ;
|
mkN047 : Str -> N ;
|
||||||
mkN047 base = let v0 = tk 1 base
|
mkN047 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"˙")
|
in mkNoun (v0+"˙")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN048 : Str -> N ;
|
mkN048 : Str -> N ;
|
||||||
mkN048 base = let v0 = tk 1 base
|
mkN048 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"˙")
|
in mkNoun (v0+"˙")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
(v0+"üî")
|
(v0+"üî")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN049 : Str -> N ;
|
mkN049 : Str -> N ;
|
||||||
mkN049 base = let v0 = base
|
mkN049 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN050 : Str -> N ;
|
mkN050 : Str -> N ;
|
||||||
mkN050 base = let v0 = tk 2 base
|
mkN050 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ĺí")
|
in mkNoun (v0+"ĺí")
|
||||||
(v0+"íč")
|
(v0+"íč")
|
||||||
(v0+"íč")
|
(v0+"íč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN051 : Str -> N ;
|
mkN051 : Str -> N ;
|
||||||
mkN051 base = let v0 = tk 2 base;
|
mkN051 base = let v0 = tk 2 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -492,21 +559,24 @@ oper
|
|||||||
(v0+v1+"č")
|
(v0+v1+"č")
|
||||||
(v0+v1+"č")
|
(v0+v1+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN052 : Str -> N ;
|
mkN052 : Str -> N ;
|
||||||
mkN052 base = let v0 = tk 5 base
|
mkN052 base = let v0 = tk 5 base
|
||||||
in mkNoun (v0+"˙ëîńň")
|
in mkNoun (v0+"˙ëîńň")
|
||||||
(v0+"˙ëîńňč")
|
(v0+"˙ëîńňč")
|
||||||
(v0+"˙ëîńňč")
|
(v0+"˙ëîńňč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN052a : Str -> N ;
|
mkN052a : Str -> N ;
|
||||||
mkN052a base = let v0 = tk 6 base
|
mkN052a base = let v0 = tk 6 base
|
||||||
in mkNoun (v0+"˙đíîńň")
|
in mkNoun (v0+"˙đíîńň")
|
||||||
(v0+"˙đíîńňč")
|
(v0+"˙đíîńňč")
|
||||||
(v0+"˙đíîńňč")
|
(v0+"˙đíîńňč")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN053 : Str -> N ;
|
mkN053 : Str -> N ;
|
||||||
mkN053 base = let v0 = tk 3 base;
|
mkN053 base = let v0 = tk 3 base;
|
||||||
v1 = last (base)
|
v1 = last (base)
|
||||||
@@ -514,28 +584,32 @@ oper
|
|||||||
(v0+"úđ"+v1+"č")
|
(v0+"úđ"+v1+"č")
|
||||||
(v0+"úđ"+v1+"č")
|
(v0+"úđ"+v1+"č")
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DFem ;
|
Fem
|
||||||
|
Inanimate ;
|
||||||
mkN054 : Str -> N ;
|
mkN054 : Str -> N ;
|
||||||
mkN054 base = let v0 = tk 1 base
|
mkN054 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN055 : Str -> N ;
|
mkN055 : Str -> N ;
|
||||||
mkN055 base = let v0 = tk 1 base
|
mkN055 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN056 : Str -> N ;
|
mkN056 : Str -> N ;
|
||||||
mkN056 base = let v0 = tk 1 base
|
mkN056 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN057 : Str -> N ;
|
mkN057 : Str -> N ;
|
||||||
mkN057 base = let v0 = tk 3 base;
|
mkN057 base = let v0 = tk 3 base;
|
||||||
v1 = last (tk 1 base)
|
v1 = last (tk 1 base)
|
||||||
@@ -543,140 +617,160 @@ oper
|
|||||||
(v0+"ĺ"+v1+"ŕ")
|
(v0+"ĺ"+v1+"ŕ")
|
||||||
(v0+"ĺ"+v1+"ŕ")
|
(v0+"ĺ"+v1+"ŕ")
|
||||||
(v0+"˙"+v1+"î")
|
(v0+"˙"+v1+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN057a : Str -> N ;
|
mkN057a : Str -> N ;
|
||||||
mkN057a base = let v0 = tk 4 base
|
mkN057a base = let v0 = tk 4 base
|
||||||
in mkNoun (v0+"˙ńňî")
|
in mkNoun (v0+"˙ńňî")
|
||||||
(v0+"ĺńňŕ")
|
(v0+"ĺńňŕ")
|
||||||
(v0+"ĺńňŕ")
|
(v0+"ĺńňŕ")
|
||||||
(v0+"˙ńňî")
|
(v0+"˙ńňî")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN058 : Str -> N ;
|
mkN058 : Str -> N ;
|
||||||
mkN058 base = let v0 = tk 3 base
|
mkN058 base = let v0 = tk 3 base
|
||||||
in mkNoun (v0+"˙íî")
|
in mkNoun (v0+"˙íî")
|
||||||
(v0+"ĺíŕ")
|
(v0+"ĺíŕ")
|
||||||
(v0+"ĺíŕ")
|
(v0+"ĺíŕ")
|
||||||
(v0+"˙íî")
|
(v0+"˙íî")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN059 : Str -> N ;
|
mkN059 : Str -> N ;
|
||||||
mkN059 base = let v0 = tk 1 base
|
mkN059 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ĺíĺ")
|
(v0+"ĺíĺ")
|
||||||
(v0+"ĺíĺ")
|
(v0+"ĺíĺ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN060 : Str -> N ;
|
mkN060 : Str -> N ;
|
||||||
mkN060 base = let v0 = tk 1 base
|
mkN060 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ĺńŕ")
|
(v0+"ĺńŕ")
|
||||||
(v0+"ĺńŕ")
|
(v0+"ĺńŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN061 : Str -> N ;
|
mkN061 : Str -> N ;
|
||||||
mkN061 base = let v0 = tk 1 base
|
mkN061 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN062 : Str -> N ;
|
mkN062 : Str -> N ;
|
||||||
mkN062 base = let v0 = tk 1 base
|
mkN062 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"î")
|
in mkNoun (v0+"î")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"č")
|
(v0+"č")
|
||||||
(v0+"î")
|
(v0+"î")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN063 : Str -> N ;
|
mkN063 : Str -> N ;
|
||||||
mkN063 base = let v0 = tk 2 base
|
mkN063 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ęî")
|
in mkNoun (v0+"ęî")
|
||||||
(v0+"÷č")
|
(v0+"÷č")
|
||||||
(v0+"÷č")
|
(v0+"÷č")
|
||||||
(v0+"ęî")
|
(v0+"ęî")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN064 : Str -> N ;
|
mkN064 : Str -> N ;
|
||||||
mkN064 base = let v0 = tk 2 base
|
mkN064 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"őî")
|
in mkNoun (v0+"őî")
|
||||||
(v0+"řč")
|
(v0+"řč")
|
||||||
(v0+"řč")
|
(v0+"řč")
|
||||||
(v0+"őî")
|
(v0+"őî")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN065 : Str -> N ;
|
mkN065 : Str -> N ;
|
||||||
mkN065 base = let v0 = base
|
mkN065 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ňŕ")
|
(v0+"ňŕ")
|
||||||
(v0+"ňŕ")
|
(v0+"ňŕ")
|
||||||
(v0)
|
(v0)
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN066 : Str -> N ;
|
mkN066 : Str -> N ;
|
||||||
mkN066 base = let v0 = tk 1 base
|
mkN066 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ĺ")
|
in mkNoun (v0+"ĺ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ŕ")
|
(v0+"ŕ")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN067 : Str -> N ;
|
mkN067 : Str -> N ;
|
||||||
mkN067 base = let v0 = tk 2 base
|
mkN067 base = let v0 = tk 2 base
|
||||||
in mkNoun (v0+"ňĺ")
|
in mkNoun (v0+"ňĺ")
|
||||||
(v0+"öŕ")
|
(v0+"öŕ")
|
||||||
(v0+"öŕ")
|
(v0+"öŕ")
|
||||||
(v0+"ňĺ")
|
(v0+"ňĺ")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN068 : Str -> N ;
|
mkN068 : Str -> N ;
|
||||||
mkN068 base = let v0 = tk 1 base
|
mkN068 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ĺ")
|
in mkNoun (v0+"ĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN069 : Str -> N ;
|
mkN069 : Str -> N ;
|
||||||
mkN069 base = let v0 = base
|
mkN069 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"íŕ")
|
(v0+"íŕ")
|
||||||
(v0+"íŕ")
|
(v0+"íŕ")
|
||||||
(v0)
|
(v0)
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN070 : Str -> N ;
|
mkN070 : Str -> N ;
|
||||||
mkN070 base = let v0 = base
|
mkN070 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ńŕ")
|
(v0+"ńŕ")
|
||||||
(v0+"ńŕ")
|
(v0+"ńŕ")
|
||||||
(v0)
|
(v0)
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN071 : Str -> N ;
|
mkN071 : Str -> N ;
|
||||||
mkN071 base = let v0 = tk 1 base
|
mkN071 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ĺ")
|
in mkNoun (v0+"ĺ")
|
||||||
(v0+"č˙")
|
(v0+"č˙")
|
||||||
(v0+"č˙")
|
(v0+"č˙")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN072 : Str -> N ;
|
mkN072 : Str -> N ;
|
||||||
mkN072 base = let v0 = tk 1 base
|
mkN072 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"ĺ")
|
in mkNoun (v0+"ĺ")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"˙")
|
(v0+"˙")
|
||||||
(v0+"ĺ")
|
(v0+"ĺ")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN073 : Str -> N ;
|
mkN073 : Str -> N ;
|
||||||
mkN073 base = let v0 = base
|
mkN073 base = let v0 = base
|
||||||
in mkNoun (v0)
|
in mkNoun (v0)
|
||||||
(v0+"ňŕ")
|
(v0+"ňŕ")
|
||||||
(v0+"ňŕ")
|
(v0+"ňŕ")
|
||||||
(v0)
|
(v0)
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN074 : Str -> N ;
|
mkN074 : Str -> N ;
|
||||||
mkN074 base = let v0 = tk 1 base
|
mkN074 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"-")
|
in mkNoun (v0+"-")
|
||||||
(v0)
|
(v0)
|
||||||
(v0)
|
(v0)
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkN075 : Str -> N ;
|
mkN075 : Str -> N ;
|
||||||
mkN075 base = let v0 = tk 1 base
|
mkN075 base = let v0 = tk 1 base
|
||||||
in mkNoun (v0+"-")
|
in mkNoun (v0+"-")
|
||||||
(v0)
|
(v0)
|
||||||
(v0)
|
(v0)
|
||||||
(v0+"-")
|
(v0+"-")
|
||||||
DNeut ;
|
Neut
|
||||||
|
Inanimate ;
|
||||||
mkA076 : Str -> A ;
|
mkA076 : Str -> A ;
|
||||||
mkA076 base = let v0 = base
|
mkA076 base = let v0 = base
|
||||||
in mkAdjective (v0)
|
in mkAdjective (v0)
|
||||||
|
|||||||
@@ -41,20 +41,20 @@ concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in {
|
|||||||
IdetCN idet cn = {
|
IdetCN idet cn = {
|
||||||
s = \\_,qform => let nf = case <idet.n, idet.nonEmpty> of {
|
s = \\_,qform => let nf = case <idet.n, idet.nonEmpty> of {
|
||||||
<Pl,True> => NFPlCount ;
|
<Pl,True> => NFPlCount ;
|
||||||
_ => NF idet.n Indef
|
_ => NF idet.n Indef
|
||||||
}
|
}
|
||||||
in idet.s ! cn.g ! qform ++ cn.s ! nf ;
|
in idet.s ! cn.g ! cn.anim ! qform ++ cn.s ! nf ;
|
||||||
gn = gennum cn.g idet.n
|
gn = gennum cn.g idet.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IdetIP idet = {
|
IdetIP idet = {
|
||||||
s = \\_ => idet.s ! DNeut ;
|
s = \\_ => idet.s ! Neut ! Inanimate ;
|
||||||
gn = gennum DNeut idet.n
|
gn = gennum Neut idet.n
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IdetQuant iquant num = {
|
IdetQuant iquant num = {
|
||||||
s = \\g,qform => iquant.s ! gennum g num.n ! qform ++
|
s = \\g,anim,qform => iquant.s ! gennum g num.n ! qform ++
|
||||||
num.s ! dgenderSpecies g Indef RSubj ;
|
num.s ! dgenderSpecies g anim Indef RSubj ;
|
||||||
n = num.n ;
|
n = num.n ;
|
||||||
nonEmpty = num.nonEmpty
|
nonEmpty = num.nonEmpty
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -7,11 +7,11 @@
|
|||||||
-- implement $Test$, it moreover contains regular lexical
|
-- implement $Test$, it moreover contains regular lexical
|
||||||
-- patterns needed for $Lex$.
|
-- patterns needed for $Lex$.
|
||||||
|
|
||||||
resource ResBul = ParamX ** open Prelude in {
|
instance ResBul of ResSlavic = ParamX, DiffBul, CommonSlavic ** open Prelude in {
|
||||||
flags coding=cp1251 ;
|
|
||||||
|
|
||||||
|
flags
|
||||||
|
coding=cp1251 ; optimize=all ;
|
||||||
|
|
||||||
flags optimize=all ;
|
|
||||||
|
|
||||||
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
||||||
|
|
||||||
@@ -21,14 +21,6 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
|
|
||||||
param
|
param
|
||||||
Role = RSubj | RObj Case | RVoc ;
|
Role = RSubj | RObj Case | RVoc ;
|
||||||
Case = Acc | Dat;
|
|
||||||
|
|
||||||
NForm =
|
|
||||||
NF Number Species
|
|
||||||
| NFSgDefNom
|
|
||||||
| NFPlCount
|
|
||||||
| NFVocative
|
|
||||||
;
|
|
||||||
|
|
||||||
GenNum = GSg Gender | GPl ;
|
GenNum = GSg Gender | GPl ;
|
||||||
|
|
||||||
@@ -37,11 +29,7 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
oper
|
oper
|
||||||
Agr = {gn : GenNum ; p : Person} ;
|
Agr = {gn : GenNum ; p : Person} ;
|
||||||
|
|
||||||
param
|
param
|
||||||
Gender = Masc | Fem | Neut ;
|
|
||||||
|
|
||||||
Species = Indef | Def ;
|
|
||||||
|
|
||||||
-- The plural never makes a gender distinction.
|
-- The plural never makes a gender distinction.
|
||||||
|
|
||||||
--2 For $Verb$
|
--2 For $Verb$
|
||||||
@@ -79,13 +67,6 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
;
|
;
|
||||||
|
|
||||||
--2 For $Numeral$
|
--2 For $Numeral$
|
||||||
|
|
||||||
DGender =
|
|
||||||
DMasc
|
|
||||||
| DMascPersonal
|
|
||||||
| DFem
|
|
||||||
| DNeut
|
|
||||||
;
|
|
||||||
|
|
||||||
DGenderSpecies =
|
DGenderSpecies =
|
||||||
DMascIndef
|
DMascIndef
|
||||||
@@ -120,14 +101,9 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
p = conjPerson a.p b.p
|
p = conjPerson a.p b.p
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
gennum : DGender -> Number -> GenNum = \g,n ->
|
gennum : Gender -> Number -> GenNum = \g,n ->
|
||||||
case n of {
|
case n of {
|
||||||
Sg => GSg (case g of {
|
Sg => GSg g ;
|
||||||
DMasc => Masc ;
|
|
||||||
DMascPersonal => Masc ;
|
|
||||||
DFem => Fem ;
|
|
||||||
DNeut => Neut
|
|
||||||
}) ;
|
|
||||||
Pl => GPl
|
Pl => GPl
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -146,25 +122,30 @@ resource ResBul = ParamX ** open Prelude in {
|
|||||||
GPl => APl spec
|
GPl => APl spec
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
dgenderSpecies : DGender -> Species -> Role -> DGenderSpecies =
|
dgenderSpecies : Gender -> Animacy -> Species -> Role -> DGenderSpecies =
|
||||||
\g,spec,role -> case <g,spec> of {
|
\g,anim,spec,role ->
|
||||||
<DMasc,Indef> => DMascIndef ;
|
case <g,spec> of {
|
||||||
<DMasc,Def> => case role of {
|
<Masc,Indef> => case anim of {
|
||||||
RSubj => DMascDefNom ;
|
Inanimate => DMascIndef ;
|
||||||
_ => DMascDef
|
Animate => DMascPersonalIndef
|
||||||
} ;
|
} ;
|
||||||
<DMascPersonal,Indef> => DMascPersonalIndef ;
|
<Masc,Def> => case anim of {
|
||||||
<DMascPersonal,Def> => case role of {
|
Inanimate => case role of {
|
||||||
RSubj => DMascPersonalDefNom ;
|
RSubj => DMascDefNom ;
|
||||||
_ => DMascPersonalDef
|
_ => DMascDef
|
||||||
} ;
|
} ;
|
||||||
<DFem ,Indef> => DFemIndef ;
|
Animate => case role of {
|
||||||
<DFem ,Def> => DFemDef ;
|
RSubj => DMascPersonalDefNom ;
|
||||||
<DNeut,Indef> => DNeutIndef ;
|
_ => DMascPersonalDef
|
||||||
<DNeut,Def> => DNeutDef
|
}
|
||||||
|
} ;
|
||||||
|
<Fem ,Indef> => DFemIndef ;
|
||||||
|
<Fem ,Def> => DFemDef ;
|
||||||
|
<Neut,Indef> => DNeutIndef ;
|
||||||
|
<Neut,Def> => DNeutDef
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
nform2aform : NForm -> DGender -> AForm
|
nform2aform : NForm -> Gender -> AForm
|
||||||
= \nf,g -> case nf of {
|
= \nf,g -> case nf of {
|
||||||
NF n spec => aform (gennum g n) spec (RObj Acc) ;
|
NF n spec => aform (gennum g n) spec (RObj Acc) ;
|
||||||
NFSgDefNom => aform (gennum g Sg) Def RSubj ;
|
NFSgDefNom => aform (gennum g Sg) Def RSubj ;
|
||||||
|
|||||||
@@ -68,5 +68,5 @@ concrete SentenceBul of Sentence = CatBul ** open Prelude, ResBul in {
|
|||||||
|
|
||||||
AdvS a s = {s = a.s ++ "," ++ s.s} ;
|
AdvS a s = {s = a.s ++ "," ++ s.s} ;
|
||||||
|
|
||||||
RelS s r = {s = s.s ++ "," ++ r.s ! {gn=gennum DNeut Sg; p=P3}} ;
|
RelS s r = {s = s.s ++ "," ++ r.s ! {gn=gennum Neut Sg; p=P3}} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
every_Det = mkDeterminerSg "âñåêè" "âñÿêà" "âñÿêî";
|
every_Det = mkDeterminerSg "âñåêè" "âñÿêà" "âñÿêî";
|
||||||
everything_NP = mkNP "âñè÷êî" (GSg Neut) P3 ;
|
everything_NP = mkNP "âñè÷êî" (GSg Neut) P3 ;
|
||||||
everywhere_Adv = ss "íàâñÿêúäå" ;
|
everywhere_Adv = ss "íàâñÿêúäå" ;
|
||||||
few_Det = {s = \\_,_,_ => "íÿêîëêî"; n = Pl; countable = True; spec = Indef} ;
|
few_Det = {s = \\_,_,_,_ => "íÿêîëêî"; n = Pl; countable = True; spec = Indef} ;
|
||||||
--- first_Ord = ss "first" ; DEPRECATED
|
--- first_Ord = ss "first" ; DEPRECATED
|
||||||
for_Prep = mkPrep "çà" Acc ;
|
for_Prep = mkPrep "çà" Acc ;
|
||||||
from_Prep = mkPrep "îò" Acc ;
|
from_Prep = mkPrep "îò" Acc ;
|
||||||
@@ -37,7 +37,7 @@ concrete StructuralBul of Structural = CatBul **
|
|||||||
here7to_Adv = ss ["äî òóê"] ;
|
here7to_Adv = ss ["äî òóê"] ;
|
||||||
here7from_Adv = ss ["îò òóê"] ;
|
here7from_Adv = ss ["îò òóê"] ;
|
||||||
how_IAdv = mkIAdv "êàê" ;
|
how_IAdv = mkIAdv "êàê" ;
|
||||||
how8many_IDet = {s = \\_ => table QForm ["êîëêî";"êîëêîòî"]; n = Pl; nonEmpty = False} ;
|
how8many_IDet = {s = \\_,_ => table QForm ["êîëêî";"êîëêîòî"]; n = Pl; nonEmpty = False} ;
|
||||||
if_Subj = ss "àêî" ;
|
if_Subj = ss "àêî" ;
|
||||||
in8front_Prep = mkPrep "ïðåä" Acc ;
|
in8front_Prep = mkPrep "ïðåä" Acc ;
|
||||||
i_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ;
|
i_Pron = mkPron "àç" "ìåí" "ìè" "ìîé" "ìîÿ" "ìîÿò" "ìîÿ" "ìîÿòà" "ìîå" "ìîåòî" "ìîè" "ìîèòå" (GSg Masc) P1 ;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
--# -path=.:../abstract:../common:../../prelude
|
--# -path=.:../abstract:../common:../../prelude
|
||||||
|
|
||||||
concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
|
concrete CatRus of Cat = CommonX ** CatSlavic with (ResSlavic = ResRus) ** open ResRus, Prelude, (R = ParamX) in {
|
||||||
|
|
||||||
flags optimize=all_subs ; coding=utf8 ;
|
flags optimize=all_subs ; coding=utf8 ;
|
||||||
|
|
||||||
@@ -44,7 +44,6 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
|
|||||||
|
|
||||||
-- Noun
|
-- Noun
|
||||||
|
|
||||||
CN = {s : NForm => Str; g : Gender; anim : Animacy} ;
|
|
||||||
NP = { s : PronForm => Str ; n : Number ; p : Person ;
|
NP = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||||
g: PronGen ; anim : Animacy ; pron: Bool} ;
|
g: PronGen ; anim : Animacy ; pron: Bool} ;
|
||||||
Pron = { s : PronForm => Str ; n : Number ; p : Person ;
|
Pron = { s : PronForm => Str ; n : Number ; p : Person ;
|
||||||
@@ -89,9 +88,6 @@ concrete CatRus of Cat = CommonX ** open ResRus, Prelude in {
|
|||||||
A2 = A ** Complement ;
|
A2 = A ** Complement ;
|
||||||
|
|
||||||
-- Substantives moreover have an inherent gender.
|
-- Substantives moreover have an inherent gender.
|
||||||
N = {s : NForm => Str; g : Gender; anim : Animacy} ;
|
|
||||||
N2 = {s : NForm => Str; g : Gender; anim : Animacy} ** Complement ;
|
|
||||||
N3 = {s : NForm => Str; g : Gender; anim : Animacy} ** Complement ** {s3 : Str; c2: Case} ;
|
|
||||||
PN = {s : Case => Str ; g : Gender ; anim : Animacy} ;
|
PN = {s : Case => Str ; g : Gender ; anim : Animacy} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
9
next-lib/src/russian/DiffRus.gf
Normal file
9
next-lib/src/russian/DiffRus.gf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
instance DiffRus of DiffSlavic = open CommonSlavic, Prelude in {
|
||||||
|
|
||||||
|
param
|
||||||
|
PrepKind = PrepOther | PrepVNa;
|
||||||
|
Case = Nom | Gen | Dat | Acc | Inst | Prepos PrepKind ;
|
||||||
|
|
||||||
|
NForm = NF Number Case ;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
--# -path=.:../abstract:../common:prelude
|
--# -path=.:../abstract:../common:../slavic:prelude
|
||||||
|
|
||||||
concrete LangRus of Lang =
|
concrete LangRus of Lang =
|
||||||
GrammarRus,
|
GrammarRus,
|
||||||
|
|||||||
@@ -166,8 +166,8 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
|||||||
ComplN2 f x = {
|
ComplN2 f x = {
|
||||||
s = \\nf => case x.pron of {
|
s = \\nf => case x.pron of {
|
||||||
True => x.s ! (case nf of {NF n c => mkPronForm c No (Poss (gNum f.g n))}) ++ f.s ! nf ;
|
True => x.s ! (case nf of {NF n c => mkPronForm c No (Poss (gNum f.g n))}) ++ f.s ! nf ;
|
||||||
False => f.s ! nf ++ f.s2 ++
|
False => f.s ! nf ++ f.c2.s ++
|
||||||
x.s ! (case nf of {NF n c => mkPronForm f.c Yes (Poss (gNum f.g n))})
|
x.s ! (case nf of {NF n c => mkPronForm f.c2.c Yes (Poss (gNum f.g n))})
|
||||||
};
|
};
|
||||||
g = f.g ;
|
g = f.g ;
|
||||||
anim = f.anim
|
anim = f.anim
|
||||||
@@ -177,11 +177,10 @@ concrete NounRus of Noun = CatRus ** open ResRus, Prelude, MorphoRus in {
|
|||||||
-- There application starts by filling the first place.
|
-- There application starts by filling the first place.
|
||||||
|
|
||||||
ComplN3 f x = {
|
ComplN3 f x = {
|
||||||
s = \\nf => f.s ! nf ++ f.s2 ++ x.s ! (PF f.c Yes NonPoss) ;
|
s = \\nf => f.s ! nf ++ f.c2.s ++ x.s ! (PF f.c2.c Yes NonPoss) ;
|
||||||
g = f.g ;
|
g = f.g ;
|
||||||
anim = f.anim ;
|
anim = f.anim ;
|
||||||
s2 = f.s3 ;
|
c2 = f.c3 ;
|
||||||
c = f.c2
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -352,11 +352,11 @@ foreign = Foreign; -- +++ MG_UR: added +++
|
|||||||
mkN2 : N -> Prep -> N2 = mkFun;
|
mkN2 : N -> Prep -> N2 = mkFun;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
mkFun : N -> Prep -> N2 = \f,p -> (UseN f) ** {s2 = p.s ; c = p.c}** {lock_N2 = <>} ;
|
mkFun : N -> Prep -> N2 = \f,p -> UseN f ** {c2 = p ; lock_N2 = <>} ;
|
||||||
|
|
||||||
nullPrep : Prep = {s = []; c= Gen; lock_Prep=<>} ;
|
nullPrep : Prep = {s = []; c= Gen; lock_Prep=<>} ;
|
||||||
|
|
||||||
mkN3 f p r = (UseN f) ** {s2 = p.s ; c=p.c; s3=r.s ; c2=r.c; lock_N3 = <>} ;
|
mkN3 f p2 p3 = (UseN f) ** {c2 = p2; c3 = p3; lock_N3 = <>} ;
|
||||||
|
|
||||||
|
|
||||||
mkPN = \ivan, g, anim ->
|
mkPN = \ivan, g, anim ->
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-- implement $Test$, it moreover contains regular lexical
|
-- implement $Test$, it moreover contains regular lexical
|
||||||
-- patterns needed for $Lex$.
|
-- patterns needed for $Lex$.
|
||||||
|
|
||||||
resource ResRus = ParamX ** open Prelude in {
|
instance ResRus of ResSlavic = ParamX, DiffRus, CommonSlavic ** open Prelude in {
|
||||||
|
|
||||||
flags coding=utf8 ; optimize=all ;
|
flags coding=utf8 ; optimize=all ;
|
||||||
|
|
||||||
@@ -18,10 +18,6 @@ flags coding=utf8 ; optimize=all ;
|
|||||||
|
|
||||||
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
-- Some parameters, such as $Number$, are inherited from $ParamX$.
|
||||||
param
|
param
|
||||||
Gender = Masc | Fem | Neut ;
|
|
||||||
Case = Nom | Gen | Dat | Acc | Inst | Prepos PrepKind ;
|
|
||||||
PrepKind = PrepOther | PrepVNa;
|
|
||||||
Animacy = Animate | Inanimate ;
|
|
||||||
Voice = Act | Pass ;
|
Voice = Act | Pass ;
|
||||||
Aspect = Imperfective | Perfective ;
|
Aspect = Imperfective | Perfective ;
|
||||||
RusTense = Present | PastRus | Future ;
|
RusTense = Present | PastRus | Future ;
|
||||||
|
|||||||
9
next-lib/src/slavic/CatSlavic.gf
Normal file
9
next-lib/src/slavic/CatSlavic.gf
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
incomplete concrete CatSlavic of Cat = open Prelude, CommonSlavic, ResSlavic in {
|
||||||
|
|
||||||
|
lincat
|
||||||
|
CN = {s : NForm => Str; g : Gender; anim : Animacy} ;
|
||||||
|
|
||||||
|
N = {s : NForm => Str; g : Gender; anim : Animacy} ;
|
||||||
|
N2 = {s : NForm => Str; g : Gender; anim : Animacy} ** {c2 : Preposition} ;
|
||||||
|
N3 = {s : NForm => Str; g : Gender; anim : Animacy} ** {c2,c3 : Preposition} ;
|
||||||
|
}
|
||||||
6
next-lib/src/slavic/CommonSlavic.gf
Normal file
6
next-lib/src/slavic/CommonSlavic.gf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
resource CommonSlavic = ParamX ** open Prelude in {
|
||||||
|
|
||||||
|
param
|
||||||
|
Gender = Masc | Fem | Neut ;
|
||||||
|
Animacy = Animate | Inanimate ;
|
||||||
|
}
|
||||||
5
next-lib/src/slavic/DiffSlavic.gf
Normal file
5
next-lib/src/slavic/DiffSlavic.gf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
interface DiffSlavic = open Prelude in {
|
||||||
|
|
||||||
|
param NForm ;
|
||||||
|
|
||||||
|
}
|
||||||
6
next-lib/src/slavic/ResSlavic.gf
Normal file
6
next-lib/src/slavic/ResSlavic.gf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
interface ResSlavic = DiffSlavic ** open CommonSlavic, Prelude in {
|
||||||
|
|
||||||
|
oper
|
||||||
|
Preposition : Type = {s : Str; c : Case};
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user