forked from GitHub/gf-rgl
first version of Slovak noun paradigms
This commit is contained in:
@@ -25,7 +25,7 @@ param
|
|||||||
|
|
||||||
oper
|
oper
|
||||||
hardConsonant : pattern Str = #("d"|"t"|"g"|"h"|"k"|"n"|"r") ;
|
hardConsonant : pattern Str = #("d"|"t"|"g"|"h"|"k"|"n"|"r") ;
|
||||||
softConsonant : pattern Str = #("ť"|"ď"|"j"|"ň"|"ř"|"š"|"c"|"č"|"ž") ;
|
softConsonant : pattern Str = #("ť"|"ď"|"j"|"ň"|"š"|"c"|"č"|"ž"|"ľ"|"ĺ"|"ŕ"|"dz") ;
|
||||||
neutralConsonant : pattern Str = #("b"|"f"|"l"|"m"|"p"|"s"|"v") ;
|
neutralConsonant : pattern Str = #("b"|"f"|"l"|"m"|"p"|"s"|"v") ;
|
||||||
|
|
||||||
consonant : pattern Str =
|
consonant : pattern Str =
|
||||||
@@ -93,6 +93,9 @@ oper
|
|||||||
-- Nouns
|
-- Nouns
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
-- https://en.wikipedia.org/wiki/Slovak_declension
|
||||||
|
-- http://www.angelfire.com/sk3/quality/Slovak_declension.html
|
||||||
|
|
||||||
-- novel idea (for RGL): lexical items stored as records rather than tables
|
-- novel idea (for RGL): lexical items stored as records rather than tables
|
||||||
-- advantages:
|
-- advantages:
|
||||||
-- - easier to make exceptions to paradigms (by ** {})
|
-- - easier to make exceptions to paradigms (by ** {})
|
||||||
@@ -133,14 +136,17 @@ oper
|
|||||||
g = forms.g
|
g = forms.g
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
-- terminology of CEG
|
-- terminology of CEG
|
||||||
DeclensionType : Type = Str -> NounForms ;
|
DeclensionType : Type = Str -> NounForms ;
|
||||||
|
|
||||||
|
{- -----
|
||||||
declensionNounForms : (nom,gen : Str) -> Gender -> NounForms
|
declensionNounForms : (nom,gen : Str) -> Gender -> NounForms
|
||||||
= \nom,gen,g ->
|
= \nom,gen,g ->
|
||||||
let decl : DeclensionType = case <g, nom, gen> of {
|
let decl : DeclensionType = case <g, nom, gen> of {
|
||||||
<Masc Anim, _ + #hardConsonant, _ + "a"> => declPAN ;
|
<Masc Anim, _ + "a" , _ + "u"> => declHRDINA ;
|
||||||
<Masc Anim, _ + "a" , _ + "a"> => declPREDSEDA ;
|
|
||||||
|
<Masc Anim, _ , _ + "a"> => declCHLAP ;
|
||||||
<Masc Inanim, _ + #hardConsonant, _ + "u"> => declHRAD ;
|
<Masc Inanim, _ + #hardConsonant, _ + "u"> => declHRAD ;
|
||||||
<Fem, _ + "a" , _ + "y"> => declZENA ;
|
<Fem, _ + "a" , _ + "y"> => declZENA ;
|
||||||
<Neutr, _ + "o" , _ + "a"> => declMESTO ;
|
<Neutr, _ + "o" , _ + "a"> => declMESTO ;
|
||||||
@@ -173,243 +179,296 @@ oper
|
|||||||
_ + "í" => declSTAVENI s ;
|
_ + "í" => declSTAVENI s ;
|
||||||
_ => Predef.error ("cannot guess declension type for" ++ s)
|
_ => Predef.error ("cannot guess declension type for" ++ s)
|
||||||
} ;
|
} ;
|
||||||
|
-}
|
||||||
|
|
||||||
-- the traditional declensions, in both CEG and Wiki
|
-- the traditional declensions, in both CEG and Wiki
|
||||||
-- they are also exported in ParadigmsSlo with names panN etc
|
-- they are also exported in ParadigmsSlo with names chlapN etc
|
||||||
|
|
||||||
declPAN : DeclensionType = \pan -> --- plural nom ové|i|é can be changed with ** {pnom = ...} CEG 3.5.1
|
chlapN : DeclensionType = \chlap ->
|
||||||
{
|
{
|
||||||
snom = pan ;
|
snom = chlap ;
|
||||||
sgen,sacc = pan + "a" ;
|
sgen,sacc = chlap + "a" ;
|
||||||
sdat,sloc = pan + "ovi" ; --- pánu
|
sdat,sloc = chlap + "ovi" ;
|
||||||
sins = pan + "em" ;
|
sins = chlap + "om" ;
|
||||||
|
|
||||||
pnom = addI pan ; -- pani, kluk-kluci --- panové, host-hosté
|
pnom = chlap + "i" ;
|
||||||
pgen = pan + "ů" ;
|
pgen,pacc = chlap + "ov" ;
|
||||||
pdat = pan + "ům" ;
|
pdat = chlap + "om" ;
|
||||||
pacc,pins = pan + "y" ;
|
ploc = chlap + "och" ;
|
||||||
ploc = addEch pan ;
|
pins = chlap + "mi" ;
|
||||||
g = Masc Anim
|
g = Masc Anim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declPREDSEDA : DeclensionType = \predseda -> --- 3.5.4: sgen y/i
|
hrdinaN : DeclensionType = \hrdina ->
|
||||||
let predsed = init predseda
|
let hrdin = init hrdina
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = predseda ;
|
snom = hrdina ;
|
||||||
sgen = predsed + "y" ; -- pacc,pins --- i
|
sgen,sacc = hrdin + "u" ;
|
||||||
sdat,sloc = predsed + "ovi" ;
|
sdat,sloc = hrdin + "ovi" ;
|
||||||
sacc = predsed + "u" ;
|
sins = hrdin + "om" ;
|
||||||
sins = predsed + "ou" ;
|
|
||||||
|
pnom = hrdin + "ovia" ;
|
||||||
|
pgen,pacc = hrdin + "ov" ;
|
||||||
|
pdat = hrdin + "om" ;
|
||||||
|
ploc = hrdin + "och" ;
|
||||||
|
pins = hrdin + "ami" ;
|
||||||
|
|
||||||
pnom = case predseda of {
|
|
||||||
tur + "ista" => tur + "isté" ;
|
|
||||||
_ => predsed + "ové"
|
|
||||||
} ;
|
|
||||||
pgen = predsed + "ů" ;
|
|
||||||
pdat = predsed + "ům" ;
|
|
||||||
pacc,pins = predsed + "y" ;
|
|
||||||
ploc = addEch predsed ;
|
|
||||||
g = Masc Anim
|
g = Masc Anim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declHRAD : DeclensionType = \hrad -> --- 3.5.2: sloc u/ě/e extra arg, sport-u, hrad-ě ; sgen u/a
|
dubN : DeclensionType = \dub ->
|
||||||
let hrd = dropFleetingE hrad
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
snom,sacc = hrad ;
|
snom = dub ;
|
||||||
sgen,sdat = hrd + "u" ; --- Berlín-a
|
sgen = dub + "a" ;
|
||||||
sloc = hrd + "u" ; --- addE hrad ; -- stůl-stole
|
sdat = dub + "u" ;
|
||||||
sins = hrd + "em" ;
|
sacc = dub + "" ;
|
||||||
|
sloc = dub + "e" ;
|
||||||
|
sins = dub + "om" ;
|
||||||
|
|
||||||
|
pnom = dub + "y" ;
|
||||||
|
pgen = dub + "ov" ;
|
||||||
|
pdat = dub + "om" ;
|
||||||
|
pacc = dub + "y" ;
|
||||||
|
ploc = dub + "och" ;
|
||||||
|
pins = dub + "mi" ;
|
||||||
|
|
||||||
pnom,pacc,pins = hrd + "y" ;
|
|
||||||
pgen = hrd + "ů" ;
|
|
||||||
pdat = hrd + "ům" ;
|
|
||||||
ploc = addEch hrd ;
|
|
||||||
g = Masc Inanim
|
g = Masc Inanim
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declZENA : DeclensionType = \zena -> --- 3.6.1 sge y/i ; pgen sometimes shortening
|
strojN : DeclensionType = \stroj ->
|
||||||
let zen = init zena
|
{
|
||||||
|
snom = stroj ;
|
||||||
|
sgen = stroj + "a" ;
|
||||||
|
sdat = stroj + "u" ;
|
||||||
|
sacc = stroj + "" ;
|
||||||
|
sloc = stroj + "i" ;
|
||||||
|
sins = stroj + "om" ;
|
||||||
|
|
||||||
|
pnom = stroj + "e" ;
|
||||||
|
pgen = stroj + "ov" ;
|
||||||
|
pdat = stroj + "om" ;
|
||||||
|
pacc = stroj + "e" ;
|
||||||
|
ploc = stroj + "och" ;
|
||||||
|
pins = stroj + "mi" ;
|
||||||
|
|
||||||
|
g = Masc Inanim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- "fifth type"
|
||||||
|
ponyN : DeclensionType = \pony ->
|
||||||
|
{
|
||||||
|
snom = pony ;
|
||||||
|
sgen = pony + "ho" ;
|
||||||
|
sdat = pony + "mu" ;
|
||||||
|
sacc = pony + "ho" ;
|
||||||
|
sloc = pony + "m" ;
|
||||||
|
sins = pony + "m" ;
|
||||||
|
|
||||||
|
pnom = pony + "ovia" ;
|
||||||
|
pgen = pony + "ov" ;
|
||||||
|
pdat = pony + "om" ;
|
||||||
|
pacc = pony + "ov" ;
|
||||||
|
ploc = pony + "och" ;
|
||||||
|
pins = pony + "mi" ;
|
||||||
|
|
||||||
|
g = Masc Anim
|
||||||
|
} ;
|
||||||
|
|
||||||
|
zenaN : DeclensionType = \zena ->
|
||||||
|
let
|
||||||
|
zen = init zena ;
|
||||||
|
zien : Str = case zen of {
|
||||||
|
z + "e" + c@? => z + "ie" + c ;
|
||||||
|
_ => zen ---- TODO: many more rules
|
||||||
|
}
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = zena ;
|
snom = zena ;
|
||||||
sgen = zen + "y" ; --- i after soft cons sometimes
|
sgen = zen + "y" ;
|
||||||
sdat,sloc = zen + "ě" ; --- i after soft cons sometimes ; skol+e
|
sdat = zen + "e" ;
|
||||||
sacc = zen + "u" ;
|
sacc = zen + "u" ;
|
||||||
|
sloc = zen + "e" ;
|
||||||
sins = zen + "ou" ;
|
sins = zen + "ou" ;
|
||||||
|
|
||||||
pnom,pacc = zen + "y" ; --- also sgen
|
pnom = zen + "y" ;
|
||||||
pgen = zen ; --- sometimes with vowel shortening
|
pgen = zien ;
|
||||||
pdat = zen + "ám" ;
|
pdat = zen + "ám" ;
|
||||||
|
pacc = zen + "y" ;
|
||||||
ploc = zen + "ách" ;
|
ploc = zen + "ách" ;
|
||||||
pins = zen + "ami" ;
|
pins = zen + "ami" ;
|
||||||
|
|
||||||
g = Fem
|
g = Fem
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declMESTO : DeclensionType = \mesto -> --- 3.7.1 sloc u/e ; pgen vowel shortening sometimes ; ploc variations
|
ulicaN : DeclensionType = \ulica ->
|
||||||
let mest = init mesto
|
let
|
||||||
|
ulic = init ulica ;
|
||||||
|
ulíc : Str = case ulic of {
|
||||||
|
ul + "i" + c@? => ul + "í" + c ;
|
||||||
|
_ => ulic
|
||||||
|
}
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom,sacc = mesto ;
|
snom = ulica ;
|
||||||
|
sgen = ulic + "e" ;
|
||||||
|
sdat = ulic + "i" ;
|
||||||
|
sacc = ulic + "u" ;
|
||||||
|
sloc = ulic + "i" ;
|
||||||
|
sins = ulic + "ou" ;
|
||||||
|
|
||||||
|
pnom = ulic + "e" ;
|
||||||
|
pgen = ulíc ;
|
||||||
|
pdat = ulic + "iam" ;
|
||||||
|
pacc = ulic + "e" ;
|
||||||
|
ploc = ulic + "iach" ;
|
||||||
|
pins = ulic + "ami" ;
|
||||||
|
|
||||||
|
g = Fem
|
||||||
|
} ;
|
||||||
|
|
||||||
|
dlanN : DeclensionType = \dlanj ->
|
||||||
|
let dlan : Str = case dlanj of {
|
||||||
|
dla + "ň" => dla + "n" ;
|
||||||
|
_ => dlanj ---- TODO many more cases
|
||||||
|
} ;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
snom = dlanj ;
|
||||||
|
sgen = dlan + "e" ;
|
||||||
|
sdat = dlan + "i" ;
|
||||||
|
sacc = dlanj ;
|
||||||
|
sloc = dlan + "i" ;
|
||||||
|
sins = dlanj + "ou" ;
|
||||||
|
|
||||||
|
pnom = dlan + "e" ;
|
||||||
|
pgen = dlan + "í" ;
|
||||||
|
pdat = dlan + "iam" ;
|
||||||
|
pacc = dlan + "e" ;
|
||||||
|
ploc = dlan + "iach" ;
|
||||||
|
pins = dlanj + "ami" ;
|
||||||
|
|
||||||
|
g = Fem
|
||||||
|
} ;
|
||||||
|
|
||||||
|
kostN : DeclensionType = \kost' ->
|
||||||
|
let kost : Str = case kost' of {
|
||||||
|
kos + "ť" => kos + "t" ;
|
||||||
|
_ => kost' ---- TODO more cases
|
||||||
|
} ;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
snom = kost' ;
|
||||||
|
sgen = kost + "i" ;
|
||||||
|
sdat = kost + "i" ;
|
||||||
|
sacc = kost' ;
|
||||||
|
sloc = kost + "i" ;
|
||||||
|
sins = kost' + "ou" ;
|
||||||
|
|
||||||
|
pnom = kost + "i" ;
|
||||||
|
pgen = kost + "í" ;
|
||||||
|
pdat = kost + "iam" ;
|
||||||
|
pacc = kost + "i" ;
|
||||||
|
ploc = kost + "iach" ;
|
||||||
|
pins = kost' + "ami" ;
|
||||||
|
|
||||||
|
g = Fem
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mestoN : DeclensionType = \mesto ->
|
||||||
|
let
|
||||||
|
mest = init mesto ;
|
||||||
|
miest : Str = case mest of {
|
||||||
|
m + "e" + c@(? | (? + ?)) => m + "ie" + c ;
|
||||||
|
_ => mest ---- TODO: many more rules
|
||||||
|
}
|
||||||
|
|
||||||
|
in
|
||||||
|
{
|
||||||
|
snom = mesto ;
|
||||||
sgen = mest + "a" ;
|
sgen = mest + "a" ;
|
||||||
sdat = mest + "u" ;
|
sdat = mest + "u" ;
|
||||||
sloc = mest + "u" ; --- "ě"
|
sacc = mesto ;
|
||||||
sins = mest + "em" ;
|
sloc = mest + "e" ;
|
||||||
|
sins = mest + "om" ;
|
||||||
|
|
||||||
|
pnom = mest + "á" ;
|
||||||
|
pgen = miest ;
|
||||||
|
pdat = mest + "ám" ;
|
||||||
|
pacc = mest + "á" ;
|
||||||
|
ploc = mest + "ách" ;
|
||||||
|
pins = mest + "ami" ;
|
||||||
|
|
||||||
pnom,pacc = mest + "a" ;
|
|
||||||
pgen = mest ; --- léta - let
|
|
||||||
pdat = mest + "ům" ;
|
|
||||||
ploc = mest + "ech" ; --- with variations
|
|
||||||
pins = mest + "y" ;
|
|
||||||
g = Neutr
|
g = Neutr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declMUZ : DeclensionType = \muz_ -> --- 3.5.3 : sdat,sloc ; pnom
|
srdceN : DeclensionType = \srdce ->
|
||||||
let muz = dropFleetingE muz_
|
let srdc = init srdce
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom = muz_ ;
|
snom = srdce ;
|
||||||
sgen,sacc = muz + "e" ; --- pacc
|
sgen = srdc + "a" ;
|
||||||
sdat,sloc = muz + "i" ; --- muzovi
|
sdat = srdc + "u" ;
|
||||||
sins = muz + "em" ;
|
sacc = srdce ;
|
||||||
|
sloc = srdc + "i" ;
|
||||||
|
sins = srdc + "om" ;
|
||||||
|
|
||||||
pnom = case muz_ of {
|
pnom = srdc + "ia" ;
|
||||||
uci + "tel" => uci + "telé" ;
|
pgen = srdc ; ---- TODO sŕdc
|
||||||
_ => muz + "i" --- muzové
|
pdat = srdc + "iam" ;
|
||||||
} ;
|
pacc = srdc + "ia" ;
|
||||||
pgen = muz + "ů" ;
|
ploc = srdc + "iach" ;
|
||||||
pacc = muz + "e" ;
|
pins = srdc + "ami" ;
|
||||||
pdat = muz + "ům" ;
|
|
||||||
ploc = muz + "ích" ;
|
|
||||||
pins = muz + "i" ;
|
|
||||||
g = Masc Anim
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declSOUDCE : DeclensionType = \soudce -> --- 3.5.3: sdat/sloc i,ovi ; pnom i/ové
|
|
||||||
let soudc = init soudce
|
|
||||||
in
|
|
||||||
{
|
|
||||||
snom,sgen,sacc = soudce ; ---- pacc
|
|
||||||
sdat,sloc = soudc + "i" ; --- soudcovi
|
|
||||||
sins = soudc + "em" ;
|
|
||||||
|
|
||||||
pnom = soudc + "i" ; --- soudcové
|
|
||||||
pgen = soudc + "ů" ;
|
|
||||||
pdat = soudc + "ům" ;
|
|
||||||
pacc = soudce ;
|
|
||||||
ploc = soudc + "ích" ;
|
|
||||||
pins = soudc + "i" ;
|
|
||||||
g = Masc Anim
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declSTROJ : DeclensionType = \stroj ->
|
|
||||||
{
|
|
||||||
snom,sacc = stroj ;
|
|
||||||
sgen = stroj + "e" ; --- pnom,pacc
|
|
||||||
sdat,sloc = stroj + "i" ; --- pins
|
|
||||||
sins = stroj + "em" ;
|
|
||||||
|
|
||||||
pnom,pacc = stroj + "e" ;
|
|
||||||
pgen = stroj + "ů" ;
|
|
||||||
pdat = stroj + "ům" ;
|
|
||||||
ploc = stroj + "ích" ;
|
|
||||||
pins = stroj + "i" ;
|
|
||||||
g = Masc Inanim
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declRUZE : DeclensionType = \ruze -> --- 3.6.2: pgen ulice-ulic, chvile-cvil
|
|
||||||
let ruz = init ruze
|
|
||||||
in
|
|
||||||
{
|
|
||||||
snom,sgen = ruze ; --- pnom,pacc
|
|
||||||
sdat,sacc,sloc = ruz + "i" ;
|
|
||||||
sins = ruz + "í" ;
|
|
||||||
|
|
||||||
pnom,pacc = ruze ;
|
|
||||||
pgen = shortFemPlGen ruze ;
|
|
||||||
pdat = ruz + "ím" ;
|
|
||||||
ploc = ruz + "ích" ;
|
|
||||||
pins = ruz + "emi" ;
|
|
||||||
g = Fem
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declPISEN : DeclensionType = \pisen ->
|
|
||||||
let pisn = dropFleetingE pisen
|
|
||||||
in
|
|
||||||
{
|
|
||||||
snom,sacc = pisen ;
|
|
||||||
sgen = pisn + "ě" ;
|
|
||||||
sdat,sloc = pisn + "i" ; -- not shortened
|
|
||||||
sins = pisn + "í" ;
|
|
||||||
|
|
||||||
pnom,pacc = pisn + "ě" ;
|
|
||||||
pgen = pisn + "í" ;
|
|
||||||
pdat = pisn + "ím" ;
|
|
||||||
ploc = pisn + "ích" ;
|
|
||||||
pins = pisn + "ěmi" ;
|
|
||||||
g = Fem
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declKOST : DeclensionType = \kost ->
|
|
||||||
{
|
|
||||||
snom,sacc = kost ;
|
|
||||||
sgen,sdat,sloc = kost + "i" ; --- pnom,pacc
|
|
||||||
sins = kost + "í" ; --- pgen
|
|
||||||
|
|
||||||
pnom,pacc = kost + "i" ;
|
|
||||||
pgen = kost + "í" ;
|
|
||||||
pdat = kost + "em" ;
|
|
||||||
ploc = kost + "ech" ;
|
|
||||||
pins = kost + "mi" ;
|
|
||||||
g = Fem
|
|
||||||
} ;
|
|
||||||
|
|
||||||
declKURE : DeclensionType = \kure ->
|
|
||||||
let kur = init kure
|
|
||||||
in
|
|
||||||
{
|
|
||||||
snom,sacc = kure ;
|
|
||||||
sgen = kur + "ete" ;
|
|
||||||
sdat,sloc = kur + "eti" ;
|
|
||||||
sins = kur + "etem" ;
|
|
||||||
|
|
||||||
pnom,pacc = kur + "ata" ;
|
|
||||||
pgen = kur + "at" ;
|
|
||||||
pdat = kur + "atům" ;
|
|
||||||
ploc = kur + "atech" ;
|
|
||||||
pins = kur + "aty" ;
|
|
||||||
g = Neutr
|
g = Neutr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declMORE : DeclensionType = \more -> --- 3.7.2 pgen zero sometimes
|
vysvedcenieN : DeclensionType = \vysvedcenie ->
|
||||||
let mor = init more
|
let
|
||||||
|
vysvedceni = init vysvedcenie ;
|
||||||
|
vysvedcen = init vysvedceni
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
snom,sgen,sacc = more ; --- pnom
|
snom = vysvedcenie ;
|
||||||
sdat,sloc = mor + "i" ; --- pins
|
sgen = vysvedceni + "a" ;
|
||||||
sins = mor + "em" ;
|
sdat = vysvedceni + "u" ;
|
||||||
|
sacc = vysvedcenie ;
|
||||||
|
sloc = vysvedcen + "í" ;
|
||||||
|
sins = vysvedcen + "ím" ;
|
||||||
|
|
||||||
|
pnom = vysvedceni + "a" ;
|
||||||
|
pgen = vysvedcen + "í" ;
|
||||||
|
pdat = vysvedceni + "am" ;
|
||||||
|
pacc = vysvedceni + "a" ;
|
||||||
|
ploc = vysvedceni + "ach" ;
|
||||||
|
pins = vysvedceni + "ami" ;
|
||||||
|
|
||||||
pnom,pacc = more ;
|
|
||||||
pgen = mor + "í" ; ---
|
|
||||||
pdat = mor + "ím" ;
|
|
||||||
ploc = mor + "ích" ;
|
|
||||||
pins = mor + "i" ;
|
|
||||||
g = Neutr
|
g = Neutr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
declSTAVENI : DeclensionType = \staveni ->
|
dievcaN : DeclensionType = \dievca ->
|
||||||
|
let dievc = init dievca
|
||||||
|
in
|
||||||
{
|
{
|
||||||
snom,sgen,sdat,sacc,sloc = staveni ;
|
snom = dievca ;
|
||||||
sins = staveni + "m" ;
|
sgen = dievca + "ťa" ;
|
||||||
|
sdat = dievca + "ťu" ;
|
||||||
|
sacc = dievca ;
|
||||||
|
sloc = dievca + "ti" ;
|
||||||
|
sins = dievca + "ťom" ;
|
||||||
|
|
||||||
|
pnom = dievca + "tá" ; ---- TODO alternatives dievčence etc
|
||||||
|
pgen = dievc + "iat" ;
|
||||||
|
pdat = dievca + "tám" ;
|
||||||
|
pacc = dievca + "tá" ;
|
||||||
|
ploc = dievca + "tách" ;
|
||||||
|
pins = dievca + "tami" ;
|
||||||
|
|
||||||
pnom,pgen,pacc = staveni ;
|
|
||||||
pdat = staveni + "m" ;
|
|
||||||
ploc = staveni + "ch" ;
|
|
||||||
pins = staveni + "mi" ;
|
|
||||||
g = Neutr
|
g = Neutr
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
-- Adjectives
|
-- Adjectives
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user