1
0
forked from GitHub/gf-core

refactoring in Bulgarian: use explicit Animacy instead of fourth gender

This commit is contained in:
krasimir
2009-09-03 20:13:09 +00:00
parent d8ef62ae76
commit 366c7faf89
11 changed files with 178 additions and 192 deletions

View File

@@ -25,7 +25,7 @@ concrete CatBul of Cat = CommonX - [AAnter,ASimul,IAdv,CAdv] ** open ResBul, Pre
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 : AGender => QForm => Str; n : Number ; nonEmpty : Bool} ;
IQuant = {s : GenNum => QForm => Str} ; IQuant = {s : GenNum => QForm => Str} ;
-- Relative -- Relative
@@ -51,14 +51,14 @@ concrete CatBul of Cat = CommonX - [AAnter,ASimul,IAdv,CAdv] ** open ResBul, Pre
-- Noun -- Noun
CN = {s : NForm => Str; g : DGender} ; CN = {s : NForm => Str; g : AGender} ;
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 => AGender => 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 : CardForm => Str; n : Number; nonEmpty : Bool} ;
Card = {s : DGenderSpecies => Str; n : Number} ; Card = {s : CardForm => Str; n : Number} ;
Quant = {s : Bool => AForm => Str; nonEmpty : Bool; spec : Species} ; Quant = {s : Bool => AForm => Str; nonEmpty : Bool; spec : Species} ;
-- Numeral -- Numeral
@@ -83,9 +83,9 @@ concrete CatBul of Cat = CommonX - [AAnter,ASimul,IAdv,CAdv] ** open ResBul, Pre
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} ; N = {s : NForm => Str; g : AGender} ;
N2 = {s : NForm => Str; g : DGender} ** {c2 : Preposition} ; N2 = {s : NForm => Str; g : AGender} ** {c2 : Preposition} ;
N3 = {s : NForm => Str; g : DGender} ** {c2,c3 : Preposition} ; N3 = {s : NForm => Str; g : AGender} ** {c2,c3 : Preposition} ;
PN = {s : Str; g : Gender} ; PN = {s : Str; g : Gender} ;

View File

@@ -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 (AMasc NonHuman) conj.n) ss.a.gn; p = ss.a.p}
} ; } ;
ConjAP conj ss = { ConjAP conj ss = {

View File

@@ -38,8 +38,8 @@ concrete ExtraBul of ExtraBulAbs = CatBul **
youPol8neut_Pron = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Neut) P2 ; youPol8neut_Pron = mkPron "âèå" "âàñ" "âè" "âàø" "âàøèÿ" "âàøèÿò" "âàøà" "âàøàòà" "âàøå" "âàøåòî" "âàøè" "âàøèòå" (GSg Neut) P2 ;
onePl_Num = {s = table { onePl_Num = {s = table {
DMascIndef | DMascPersonalIndef | DFemIndef | DNeutIndef => "åäíè" ; CFMasc Indef _ | CFFem Indef | CFNeut Indef => "åäíè" ;
DMascDef | DMascDefNom | DMascPersonalDef | DMascPersonalDefNom | DFemDef | DNeutDef => "åäíèòå" CFMasc Def _ | CFMascDefNom _ | CFFem Def | CFNeut Def => "åäíèòå"
} ; } ;
n = Pl; n = Pl;
nonEmpty = True nonEmpty = True

View File

@@ -21,9 +21,9 @@ 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 => AGender => 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 AGender [vseki;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 => AGender => 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 ->
@@ -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 -> AGender -> N = \sg,pl,count,voc,g -> {
s = table { s = table {
NF Sg Indef => sg ; NF Sg Indef => sg ;
NF Sg Def => case sg of { NF Sg Def => case sg of {
@@ -124,7 +124,7 @@ oper
|"çåò"|"ëàêúò"|"íîêúò") |"çåò"|"ëàêúò"|"íîêúò")
=>sg +"ÿ" ; =>sg +"ÿ" ;
_ =>case g of { _ =>case g of {
DFem => sg+"òà" ; AFem => sg+"òà" ;
_ => sg+"à" _ => sg+"à"
} }
} ; } ;
@@ -152,7 +152,7 @@ oper
|"çåò"|"ëàêúò"|"íîêúò") |"çåò"|"ëàêúò"|"íîêúò")
=>sg+"ÿò" ; =>sg+"ÿò" ;
_ =>case g of { _ =>case g of {
DFem => sg+"òà" ; AFem => sg+"òà" ;
_ => sg+"úò" _ => sg+"úò"
} }
} ; } ;

View File

@@ -15,11 +15,11 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
} ; } ;
<Pl,Def> => NF det.n det.spec ; <Pl,Def> => NF det.n det.spec ;
<Pl,Indef> => case cn.g of { <Pl,Indef> => case cn.g of {
DMascPersonal => NF Pl Indef; AMasc Human => NF Pl Indef;
_ => case det.countable of { _ => case det.countable of {
True => NFPlCount ; True => NFPlCount ;
False => NF Pl Indef False => NF Pl Indef
} }
} }
} ; } ;
s = det.s ! True ! cn.g ! role ++ cn.s ! nf s = det.s ! True ! cn.g ! role ++ cn.s ! nf
@@ -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 ! ANeut ! 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 ANeut det.n; p = P3} ;
} ; } ;
UsePN pn = { s = table { UsePN pn = { s = table {
@@ -167,7 +167,7 @@ concrete NounBul of Noun = CatBul ** open ResBul, Prelude in {
g = cn.g g = cn.g
} ; } ;
SentCN cn sc = {s = \\nf => cn.s ! nf ++ sc.s; g=DNeut} ; SentCN cn sc = {s = \\nf => cn.s ! nf ++ sc.s; g=ANeut} ;
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} ;

View File

@@ -22,16 +22,13 @@ lin n9 = mkDigit "
lin pot01 = lin pot01 =
{s = table { {s = table {
unit => table { unit => table {
NCard DMascIndef => "åäèí" ; NCard (CFMasc Indef _) => "åäèí" ;
NCard DMascDef => "åäèíèÿ" ; NCard (CFMasc Def _) => "åäèíèÿ" ;
NCard DMascDefNom => "åäèíèÿò" ; NCard (CFMascDefNom _) => "åäèíèÿò" ;
NCard DMascPersonalIndef => "åäèí" ; NCard (CFFem Indef) => "åäíà" ;
NCard DMascPersonalDef => "åäèíèÿ" ; NCard (CFFem Def) => "åäíàòà" ;
NCard DMascPersonalDefNom => "åäèíèÿò" ; NCard (CFNeut Indef) => "åäíî" ;
NCard DFemIndef => "åäíà" ; NCard (CFNeut Def) => "åäíîòî" ;
NCard DFemDef => "åäíàòà" ;
NCard DNeutIndef => "åäíî" ;
NCard DNeutDef => "åäíîòî" ;
NOrd aform => case aform of { NOrd aform => case aform of {
ASg Masc Indef => "ïúðâè" ; ASg Masc Indef => "ïúðâè" ;
ASg Masc Def => "ïúðâèÿ" ; ASg Masc Def => "ïúðâèÿ" ;
@@ -61,12 +58,12 @@ lin pot1to19 d = {s = \\c,nf => d.s ! teen nf ! c; n = Pl; i = True} ;
lin pot0as1 n = {s = \\c,nf => n.s ! unit ! c; n = n.n; i = True} ; lin pot0as1 n = {s = \\c,nf => n.s ! unit ! c; n = n.n; i = True} ;
lin pot1 d = {s = \\c,nf => d.s ! ten nf ! c; n = Pl; i = True} ; lin pot1 d = {s = \\c,nf => d.s ! ten nf ! c; n = Pl; i = True} ;
lin pot1plus d e = { lin pot1plus d e = {
s = \\c,nf => d.s ! ten nf ! NCard DMascIndef ++ "è" ++ e.s ! unit ! c ; n = Pl; i = False} ; s = \\c,nf => d.s ! ten nf ! NCard (CFMasc Indef NonHuman) ++ "è" ++ e.s ! unit ! c ; n = Pl; i = False} ;
lin pot1as2 n = n ; lin pot1as2 n = n ;
lin pot2 n = {s = \\c,nf => n.s ! hundred ! c; n = Pl; i = True} ; lin pot2 n = {s = \\c,nf => n.s ! hundred ! c; n = Pl; i = True} ;
lin pot2plus d e = { lin pot2plus d e = {
s = \\c,nf => d.s ! hundred ! NCard DMascIndef ++ case e.i of {False => []; True => "è"} ++ e.s ! c ! nf ; s = \\c,nf => d.s ! hundred ! NCard (CFMasc Indef NonHuman) ++ case e.i of {False => []; True => "è"} ++ e.s ! c ! nf ;
n = Pl ; n = Pl ;
i = False i = False
} ; } ;
@@ -75,12 +72,12 @@ lin pot2as3 n = n ;
lin pot3 n = { lin pot3 n = {
s = \\c,nf => case n.n of { s = \\c,nf => case n.n of {
Sg => mkCardOrd100 "õèëÿäà" "õèëÿäåí" ! c ; Sg => mkCardOrd100 "õèëÿäà" "õèëÿäåí" ! c ;
Pl => n.s ! NCard DFemIndef ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäåí" ! c Pl => n.s ! NCard (CFFem Indef) ! nf ++ mkCardOrd100 "õèëÿäè" "õèëÿäåí" ! c
} ; } ;
n = Pl n = Pl
} ; } ;
lin pot3plus n m = { lin pot3plus n m = {
s = \\c,nf => (pot3 (n ** {lock_Sub1000=<>})).s ! NCard DMascIndef ! nf ++ case m.i of {False => []; True => "è"} ++ m.s ! c ! nf ; s = \\c,nf => (pot3 (n ** {lock_Sub1000=<>})).s ! NCard (CFMasc Indef NonHuman) ! nf ++ case m.i of {False => []; True => "è"} ++ m.s ! c ! nf ;
n = Pl n = Pl
} ; } ;
@@ -94,7 +91,7 @@ lin pot3plus n m = {
IDig d = d ** {tail = T1} ; IDig d = d ** {tail = T1} ;
IIDig d i = { IIDig d i = {
s = \\o => d.s ! NCard DMascIndef ++ commaIf i.tail ++ i.s ! o ; s = \\o => d.s ! NCard (CFMasc Indef NonHuman) ++ commaIf i.tail ++ i.s ! o ;
n = Pl ; n = Pl ;
tail = inc i.tail tail = inc i.tail
} ; } ;

View File

@@ -15,7 +15,7 @@ oper
(v0+"îâĺ") (v0+"îâĺ")
(v0+"ŕ") (v0+"ŕ")
(v0) (v0)
DMasc ; (AMasc NonHuman) ;
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)
@@ -23,7 +23,7 @@ oper
(v0+"ĺ"+v1+"îâĺ") (v0+"ĺ"+v1+"îâĺ")
(v0+"˙"+v1+"ŕ") (v0+"˙"+v1+"ŕ")
(v0+"˙"+v1) (v0+"˙"+v1)
DMasc ; (AMasc NonHuman) ;
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)
@@ -31,7 +31,7 @@ oper
(v0+"ĺ"+v1+"îâĺ") (v0+"ĺ"+v1+"îâĺ")
(v0+"˙"+v1+"ŕ") (v0+"˙"+v1+"ŕ")
(v0+"˙"+v1) (v0+"˙"+v1)
DMasc ; (AMasc NonHuman) ;
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)
@@ -39,49 +39,49 @@ oper
(v0+"úđ"+v1+"îâĺ") (v0+"úđ"+v1+"îâĺ")
(v0+"úđ"+v1+"ŕ") (v0+"úđ"+v1+"ŕ")
(v0+"đú"+v1) (v0+"đú"+v1)
DMasc ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc Human) ;
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)
@@ -89,7 +89,7 @@ oper
(v0+v1+"č") (v0+v1+"č")
(v0+"ĺ"+v1+"ŕ") (v0+"ĺ"+v1+"ŕ")
(v0+"ĺ"+v1+"î") (v0+"ĺ"+v1+"î")
DMasc ; (AMasc NonHuman) ;
mkN008b : Str -> N ; mkN008b : Str -> N ;
mkN008b base = let v0 = tk 2 base; mkN008b base = let v0 = tk 2 base;
v1 = last (base) v1 = last (base)
@@ -97,7 +97,7 @@ oper
(v0+v1+"č") (v0+v1+"č")
(v0+"ĺ"+v1+"ŕ") (v0+"ĺ"+v1+"ŕ")
(v0+"ĺ"+v1+"ĺ") (v0+"ĺ"+v1+"ĺ")
DMasc ; (AMasc NonHuman) ;
mkN008c : Str -> N ; mkN008c : Str -> N ;
mkN008c base = let v0 = tk 2 base; mkN008c base = let v0 = tk 2 base;
v1 = last (base) v1 = last (base)
@@ -105,14 +105,14 @@ oper
(v0+v1+"č") (v0+v1+"č")
(v0+"ĺ"+v1+"ŕ") (v0+"ĺ"+v1+"ŕ")
(v0+v1+"ĺ") (v0+v1+"ĺ")
DMasc ; (AMasc NonHuman) ;
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+"ĺöî")
DMascPersonal ; (AMasc Human) ;
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)
@@ -120,98 +120,98 @@ oper
(v0+v1+"č") (v0+v1+"č")
(v0+"ú"+v1+"ŕ") (v0+"ú"+v1+"ŕ")
(v0+v1+"ĺ") (v0+v1+"ĺ")
DMasc ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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+"ĺöî")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
mkN015a : Str -> N ; mkN015a : Str -> N ;
mkN015a base = let v0 = tk 1 base mkN015a base = let v0 = tk 1 base
in mkNoun (v0+"ă") in mkNoun (v0+"ă")
(v0+"çč") (v0+"çč")
(v0+"ăŕ") (v0+"ăŕ")
(v0+"çĺ") (v0+"çĺ")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
mkN016a : Str -> N ; mkN016a : Str -> N ;
mkN016a base = let v0 = tk 1 base mkN016a base = let v0 = tk 1 base
in mkNoun (v0+"ő") in mkNoun (v0+"ő")
(v0+"ńč") (v0+"ńč")
(v0+"őŕ") (v0+"őŕ")
(v0+"ńĺ") (v0+"ńĺ")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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)
@@ -219,21 +219,21 @@ oper
(v0+"č") (v0+"č")
(v0+"č") (v0+"č")
(v0+"č"+v1+"î") (v0+"č"+v1+"î")
DMasc ; (AMasc NonHuman) ;
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+"ęî")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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)
@@ -241,105 +241,105 @@ oper
(v0+"ú"+v1+"öč") (v0+"ú"+v1+"öč")
(v0+"ú"+v1+"öč") (v0+"ú"+v1+"öč")
(v0+v1+"ĺöî") (v0+v1+"ĺöî")
DMascPersonal ; (AMasc Human) ;
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+"÷číî")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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+"číĺ")
DMascPersonal ; (AMasc Human) ;
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+"ćĺ")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc Human) ;
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 ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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+"ęî")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc Human) ;
mkN032 : Str -> N ; mkN032 : Str -> N ;
mkN032 base = let v0 = base ; mkN032 base = let v0 = base ;
v1 = tk 1 base v1 = tk 1 base
@@ -347,112 +347,112 @@ oper
(v1+"č") (v1+"č")
(v1+"˙") (v1+"˙")
(v0+"î") (v0+"î")
DMasc ; (AMasc NonHuman) ;
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 ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc NonHuman) ;
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 ; (AMasc Human) ;
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+"éo") (v0+"éo")
DMascPersonal ; (AMasc Human) ;
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+"î")
DMascPersonal ; (AMasc Human) ;
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 ; (AMasc NonHuman) ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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)
@@ -460,7 +460,7 @@ oper
(v0+"ĺ"+v1+"č") (v0+"ĺ"+v1+"č")
(v0+"ĺ"+v1+"č") (v0+"ĺ"+v1+"č")
(v0+"î") (v0+"î")
DFem ; AFem ;
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)
@@ -468,56 +468,56 @@ oper
(v0+"ĺ"+v1+"ęč") (v0+"ĺ"+v1+"ęč")
(v0+"ĺ"+v1+"ęč") (v0+"ĺ"+v1+"ęč")
(v0+"î") (v0+"î")
DFem ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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 ; AFem ;
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)
@@ -525,21 +525,21 @@ oper
(v0+v1+"č") (v0+v1+"č")
(v0+v1+"č") (v0+v1+"č")
(v0+"ú"+v1) (v0+"ú"+v1)
DFem ; AFem ;
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 ; AFem ;
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 ; AFem ;
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)
@@ -547,28 +547,28 @@ oper
(v0+"úđ"+v1+"č") (v0+"úđ"+v1+"č")
(v0+"úđ"+v1+"č") (v0+"úđ"+v1+"č")
(v0+"đú"+v1) (v0+"đú"+v1)
DFem ; AFem ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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)
@@ -576,126 +576,126 @@ oper
(v0+"ĺ"+v1+"ŕ") (v0+"ĺ"+v1+"ŕ")
(v0+"ĺ"+v1+"ŕ") (v0+"ĺ"+v1+"ŕ")
(v0+"˙"+v1+"î") (v0+"˙"+v1+"î")
DNeut ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
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 ; ANeut ;
mkN074 : Str -> N ; mkN074 : Str -> N ;
mkN074 base = let v0 = base mkN074 base = let v0 = base
in { s = table { in { s = table {
@@ -706,7 +706,7 @@ oper
NFPlCount => v0 ; NFPlCount => v0 ;
NFVocative => v0 NFVocative => v0
} ; } ;
g = DNeut ; g = ANeut ;
lock_N = <> lock_N = <>
} ; } ;
mkN075 : Str -> N ; mkN075 : Str -> N ;
@@ -719,7 +719,7 @@ oper
NFPlCount => v0 ; NFPlCount => v0 ;
NFVocative => v0 NFVocative => v0
} ; } ;
g = DNeut ; g = ANeut ;
lock_N = <> lock_N = <>
} ; } ;
mkA076 : Str -> A ; mkA076 : Str -> A ;

View File

@@ -48,8 +48,8 @@ concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in {
} ; } ;
IdetIP idet = { IdetIP idet = {
s = \\_ => idet.s ! DNeut ; s = \\_ => idet.s ! ANeut ;
gn = gennum DNeut idet.n gn = gennum ANeut idet.n
} ; } ;
IdetQuant iquant num = { IdetQuant iquant num = {

View File

@@ -80,27 +80,22 @@ resource ResBul = ParamX ** open Prelude in {
--2 For $Numeral$ --2 For $Numeral$
DGender = Animacy = Human | NonHuman ;
DMasc
| DMascPersonal AGender =
| DFem AMasc Animacy
| DNeut | AFem
| ANeut
; ;
DGenderSpecies = CardForm =
DMascIndef CFMasc Species Animacy
| DMascDef | CFMascDefNom Animacy
| DMascDefNom | CFFem Species
| DMascPersonalIndef | CFNeut Species
| DMascPersonalDef
| DMascPersonalDefNom
| DFemIndef
| DFemDef
| DNeutIndef
| DNeutDef
; ;
CardOrd = NCard DGenderSpecies | NOrd AForm ; CardOrd = NCard CardForm | NOrd AForm ;
NumF = Formal | Informal ; NumF = Formal | Informal ;
DForm = unit | teen NumF | ten NumF | hundred ; DForm = unit | teen NumF | ten NumF | hundred ;
@@ -121,13 +116,12 @@ 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 : AGender -> Number -> GenNum = \g,n ->
case n of { case n of {
Sg => GSg (case g of { Sg => GSg (case g of {
DMasc => Masc ; AMasc _ => Masc ;
DMascPersonal => Masc ; AFem => Fem ;
DFem => Fem ; ANeut => Neut
DNeut => Neut
}) ; }) ;
Pl => GPl Pl => GPl
} ; } ;
@@ -147,25 +141,20 @@ resource ResBul = ParamX ** open Prelude in {
GPl => APl spec GPl => APl spec
} ; } ;
dgenderSpecies : DGender -> Species -> Role -> DGenderSpecies = dgenderSpecies : AGender -> Species -> Role -> CardForm =
\g,spec,role -> case <g,spec> of { \g,spec,role -> case <g,spec> of {
<DMasc,Indef> => DMascIndef ; <AMasc a,Indef> => CFMasc Indef a ;
<DMasc,Def> => case role of { <AMasc a,Def> => case role of {
RSubj => DMascDefNom ; RSubj => CFMascDefNom a ;
_ => DMascDef _ => CFMasc Def a
} ; } ;
<DMascPersonal,Indef> => DMascPersonalIndef ; <AFem ,Indef> => CFFem Indef ;
<DMascPersonal,Def> => case role of { <AFem ,Def> => CFFem Def ;
RSubj => DMascPersonalDefNom ; <ANeut ,Indef> => CFNeut Indef ;
_ => DMascPersonalDef <ANeut ,Def> => CFNeut Def
} ;
<DFem ,Indef> => DFemIndef ;
<DFem ,Def> => DFemDef ;
<DNeut,Indef> => DNeutIndef ;
<DNeut,Def> => DNeutDef
} ; } ;
nform2aform : NForm -> DGender -> AForm nform2aform : NForm -> AGender -> 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 ;
@@ -535,7 +524,7 @@ resource ResBul = ParamX ** open Prelude in {
} }
} ; } ;
digitGenderSpecies : Str -> Str -> Str -> DGenderSpecies => Str = digitGenderSpecies : Str -> Str -> Str -> CardForm => Str =
\dva, dvama, dve \dva, dvama, dve
-> let addDef : Str -> Str = -> let addDef : Str -> Str =
\s -> case s of { \s -> case s of {
@@ -544,16 +533,16 @@ resource ResBul = ParamX ** open Prelude in {
x => x+"òå" x => x+"òå"
} }
in table { in table {
DMascIndef => dva ; CFMasc Indef NonHuman => dva ;
DMascDef => addDef dva ; CFMasc Def NonHuman => addDef dva ;
DMascDefNom => addDef dva ; CFMascDefNom NonHuman => addDef dva ;
DMascPersonalIndef => dvama ; CFMasc Indef Human => dvama ;
DMascPersonalDef => addDef dvama ; CFMasc Def Human => addDef dvama ;
DMascPersonalDefNom => addDef dvama ; CFMascDefNom Human => addDef dvama ;
DFemIndef => dve ; CFFem Indef => dve ;
DFemDef => addDef dve ; CFFem Def => addDef dve ;
DNeutIndef => dve ; CFNeut Indef => dve ;
DNeutDef => addDef dve CFNeut Def => addDef dve
} ; } ;
mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} = mkIP : Str -> Str -> GenNum -> {s : Role => QForm => Str ; gn : GenNum} =

View File

@@ -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 ANeut Sg; p=P3}} ;
} }

View File

@@ -9,7 +9,7 @@ lin
SymbPN i = {s = i.s ; g = Neut} ; SymbPN i = {s = i.s ; g = Neut} ;
IntPN i = {s = i.s ; g = Neut} ; IntPN i = {s = i.s ; g = Neut} ;
FloatPN i = {s = i.s ; g = Neut} ; FloatPN i = {s = i.s ; g = Neut} ;
NumPN i = {s = i.s ! DNeutIndef ; g = Neut} ; NumPN i = {s = i.s ! CFNeut Indef ; g = Neut} ;
CNIntNP cn i = { CNIntNP cn i = {
s = \\c => cn.s ! NF Sg Indef ++ i.s ; s = \\c => cn.s ! NF Sg Indef ++ i.s ;
a = agrP3 (gennum cn.g Sg) a = agrP3 (gennum cn.g Sg)
@@ -19,7 +19,7 @@ lin
a = agrP3 (gennum cn.g det.n) a = agrP3 (gennum cn.g det.n)
} ; } ;
CNNumNP cn i = { CNNumNP cn i = {
s = \\c => (cn.s ! NF Sg Indef ++ i.s ! DNeutIndef) ; s = \\c => (cn.s ! NF Sg Indef ++ i.s ! CFNeut Indef) ;
a = agrP3 (gennum cn.g Sg) a = agrP3 (gennum cn.g Sg)
} ; } ;