1
0
forked from GitHub/gf-core

changed names of resource-1.3; added a note on homepage on release

This commit is contained in:
aarne
2008-06-25 16:54:35 +00:00
parent b96b36f43d
commit e9e80fc389
903 changed files with 113 additions and 32 deletions

View File

@@ -0,0 +1,284 @@
--# -path=.:alltenses
resource Conjugations = ResFin ** open MorphoFin,Declensions,CatFin,Prelude in {
flags optimize=all ;
oper
cHukkua : (_,_ : Str) -> VForms = \hukkua,hukun ->
let
a = last hukkua ;
hukku = init hukkua ;
huku = init hukun ;
u = last huku ;
i = case u of {
"e" | "i" => [] ;
_ => u
} ;
y = uyHarmony a ;
hukkui = init hukku + i + "i" ;
hukui = init huku + i + "i" ;
in vForms12
hukkua
hukun
(hukku + u)
(hukku + "v" + a + "t")
(hukku + "k" + a + a)
(huku + "t" + a + a + "n")
(hukui + "n")
hukkui
(hukkui + "si")
(hukku + "n" + y + "t")
(huku + "tt" + y)
(hukku + "nee") ;
cOttaa : (_,_,_,_ : Str) -> VForms = \ottaa,otan,otin,otti ->
let
a = last ottaa ;
aa = a + a ;
u = uyHarmony a ;
ota = init otan ;
otta = init ottaa ;
ote = init ota + "e" ;
in vForms12
ottaa
otan
ottaa
(otta + "v" + a + "t")
(otta + "k" + aa)
(ote + "t" + aa + "n")
otin
otti
(otta + "isi")
(otta + "n" + u + "t")
(ote + "tt" + u)
(otta + "nee") ;
cJuosta : (_,_ : Str) -> VForms = \juosta,juoksen ->
let
a = last juosta ;
juos = Predef.tk 2 juosta ;
juoss = juos + last juos ;
juokse = init juoksen ;
juoks = init juokse ;
u = uyHarmony a ;
juoksi = juoks + "i" ;
in vForms12
juosta
(juoksen)
(juokse + "e")
(juokse + "v" + a + "t")
(juos + "k" + a + a)
(juosta + a + "n")
(juoks + "in")
(juoks + "i")
(juoks + "isi")
(juoss + u + "t")
(juos + "t" + u)
(juoss + "ee") ;
cJuoda : (_ : Str) -> VForms = \juoda ->
let
a = last juoda ;
juo = Predef.tk 2 juoda ;
joi = case last juo of {
"i" => juo ; -- naida
o => Predef.tk 2 juo + o + "i"
} ;
u = uyHarmony a ;
in vForms12
juoda
(juo + "n")
(juo)
(juo + "v" + a + "t")
(juo + "k" + a + a)
(juoda + a + "n")
(joi + "n")
(joi)
(joi + "si")
(juo + "n" + u + "t")
(juo + "t" + u)
(juo + "nee") ;
cPudota : (_,_ : Str) -> VForms = \pudota,putosi ->
let
a = last pudota ;
pudot = init pudota ;
pudo = init pudot ;
ai = case last pudo of {
"a" | "ä" => <[], "i"> ;
_ => <a, a + "i">
} ;
puto = Predef.tk 2 putosi ;
u = uyHarmony a ;
in vForms12
pudota
(puto + a + "n")
(puto + ai.p1 + a)
(puto + a + "v" + a + "t")
(pudot + "k" + a + a)
(pudot + a + a + "n")
(puto + "sin")
(puto + "si")
(puto + ai.p2 + "si")
(pudo + "nn" + u + "t")
(pudot + "t" + u)
(pudo + "nnee") ;
cHarkita : (_ : Str) -> VForms = \harkita ->
let
a = last harkita ;
harkit = init harkita ;
harki = init harkit ;
u = uyHarmony a ;
in vForms12
harkita
(harkit + "sen")
(harkit + "se")
(harkit + "sev" + a + "t")
(harkit + "k" + a + a)
(harkit + a + a + "n")
(harkit + "sin")
(harkit + "si")
(harkit + "sisi")
(harki + "nn" + u + "t")
(harkit + "t" + u)
(harki + "nnee") ;
cValjeta : (_,_ : Str) -> VForms = \valjeta,valkeni ->
let
a = last valjeta ;
valjet = init valjeta ;
valken = init valkeni ;
valje = init valjet ;
u = uyHarmony a ;
in vForms12
valjeta
(valken + "en")
(valken + "ee")
(valken + "ev" + a + "t")
(valjet + "k" + a + a)
(valjet + a + a + "n")
(valken + "in")
(valken + "i")
(valken + "isi")
(valje + "nn" + u + "t")
(valjet + "t" + u)
(valje + "nnee") ;
cKuunnella : (_,_ : Str) -> VForms = \kuunnella,kuuntelin ->
let
a = last kuunnella ;
kuunnel = Predef.tk 2 kuunnella ;
kuuntel = Predef.tk 2 kuuntelin ;
u = uyHarmony a ;
in vForms12
kuunnella
(kuuntel + "en")
(kuuntel + "ee")
(kuuntel + "ev" + a + "t")
(kuunnel + "k" + a + a)
(kuunnella + a + "n")
(kuuntel + "in")
(kuuntel + "i")
(kuuntel + "isi")
(kuunnel + "l" + u + "t")
(kuunnel + "t" + u)
(kuunnel + "lee") ;
-- auxiliaries
uyHarmony : Str -> Str = \a -> case a of {
"a" => "u" ;
_ => "y"
} ;
VForms : Type = Predef.Ints 11 => Str ;
vForms12 : (x1,_,_,_,_,_,_,_,_,_,_,x12 : Str) -> VForms =
\olla,olen,on,ovat,olkaa,ollaan,olin,oli,olisi,ollut,oltu,lienee ->
table {
0 => olla ;
1 => olen ;
2 => on ;
3 => ovat ;
4 => olkaa ;
5 => ollaan ;
6 => olin ;
7 => oli ;
8 => olisi ;
9 => ollut ;
10 => oltu ;
11 => lienee
} ;
vforms2V : VForms -> V = \vh ->
let
tulla = vh ! 0 ;
tulen = vh ! 1 ;
tulee = vh ! 2 ;
tulevat = vh ! 3 ;
tulkaa = vh ! 4 ;
tullaan = vh ! 5 ;
tulin = vh ! 6 ;
tuli = vh ! 7 ;
tulisi = vh ! 8 ;
tullut = vh ! 9 ;
tultu = vh ! 10 ;
tullun = vh ! 11 ;
tule_ = init tulen ;
tuli_ = init tulin ;
a = last tulkaa ;
tulko = Predef.tk 2 tulkaa + (ifTok Str a "a" "o" "ö") ;
tulkoo = tulko + last tulko ;
tullee = Predef.tk 2 tullut + "ee" ;
tulleen = (nForms2N (dRae tullut (tullee + "n"))).s ;
tullu : Str = weakGrade tultu ;
tullun = (nForms2N (dUkko tultu (tullu + "n"))).s ;
tulema = Predef.tk 3 tulevat + "m" + a ;
vat = "v" + a + "t"
in
{s = table {
Inf Inf1 => tulla ;
Presn Sg P1 => tule_ + "n" ;
Presn Sg P2 => tule_ + "t" ;
Presn Sg P3 => tulee ;
Presn Pl P1 => tule_ + "mme" ;
Presn Pl P2 => tule_ + "tte" ;
Presn Pl P3 => tulevat ;
Impf Sg P1 => tuli_ + "n" ; --# notpresent
Impf Sg P2 => tuli_ + "t" ; --# notpresent
Impf Sg P3 => tuli ; --# notpresent
Impf Pl P1 => tuli_ + "mme" ; --# notpresent
Impf Pl P2 => tuli_ + "tte" ; --# notpresent
Impf Pl P3 => tuli + vat ; --# notpresent
Condit Sg P1 => tulisi + "n" ; --# notpresent
Condit Sg P2 => tulisi + "t" ; --# notpresent
Condit Sg P3 => tulisi ; --# notpresent
Condit Pl P1 => tulisi + "mme" ; --# notpresent
Condit Pl P2 => tulisi + "tte" ; --# notpresent
Condit Pl P3 => tulisi + vat ; --# notpresent
Imper Sg => tule_ ;
Imper Pl => tulkaa ;
ImperP3 Sg => tulkoo + "n" ;
ImperP3 Pl => tulkoo + "t" ;
ImperP1Pl => tulkaa + "mme" ;
ImpNegPl => tulko ;
Pass True => tullaan ;
Pass False => Predef.tk 2 tullaan ;
PastPartAct (AN n) => tulleen ! n ;
PastPartAct AAdv => tullee + "sti" ;
PastPartPass (AN n) => tullun ! n ;
PastPartPass AAdv => tullu + "sti" ;
Inf Inf3Iness => tulema + "ss" + a ;
Inf Inf3Elat => tulema + "st" + a ;
Inf Inf3Illat => tulema + a + "n" ;
Inf Inf3Adess => tulema + "ll" + a ;
Inf Inf3Abess => tulema + "tt" + a
} ;
sc = NPCase Nom ;
lock_V = <>
} ;
}

View File

@@ -0,0 +1,493 @@
--# -path=.:alltenses
resource Declensions = ResFin ** open MorphoFin,CatFin,Prelude in {
flags optimize=all ;
oper
dLujuus : Str -> NForms = \lujuus ->
let
lujuu = init lujuus ;
lujuuksi = lujuu + "ksi" ;
a = vowHarmony (last lujuu) ;
in nForms10
lujuus (lujuu + "den") (lujuu + "tt" + a)
(lujuu + "ten" + a) (lujuu + "teen")
(lujuuksi + "en") (lujuuksi + a)
(lujuuksi + "n" + a) (lujuuksi + "ss" + a) (lujuuksi + "in") ;
dNainen : Str -> NForms = \nainen ->
let
a = vowHarmony nainen ;
nais = Predef.tk 3 nainen + "s"
in nForms10
nainen (nais + "en") (nais + "t" + a) (nais + "en" + a) (nais + "een")
(nais + "ten") (nais + "i" + a)
(nais + "in" + a) (nais + "iss" + a) (nais + "iin") ;
dPaluu : Str -> NForms = \paluu ->
let
a = vowHarmony paluu ;
palui = init paluu + "i" ;
u = last paluu ;
in nForms10
paluu (paluu + "n") (paluu + "t" + a) (paluu + "n" + a) (paluu + "seen")
(palui + "den") (palui + "t" + a)
(palui + "n" + a) (palui + "ss" + a) (palui + "siin") ;
dPuu : Str -> NForms = \puu ->
let
a = vowHarmony puu ;
pui = init puu + "i" ;
u = last puu ;
in nForms10
puu (puu + "n") (puu + "t" + a) (puu + "n" + a) (puu + "h" + u + "n")
(pui + "den") (pui + "t" + a)
(pui + "n" + a) (pui + "ss" + a) (pui + "hin") ;
dSuo : Str -> NForms = \suo ->
let
o = last suo ;
a = vowHarmony o ;
soi = Predef.tk 2 suo + o + "i" ;
in nForms10
suo (suo + "n") (suo + "t" + a) (suo + "n" + a) (suo + "h" + o + "n")
(soi + "den") (soi + "t" + a)
(soi + "n" + a) (soi + "ss" + a) (soi + "hin") ;
dKorkea : Str -> NForms = \korkea ->
let
a = last korkea ;
korke = init korkea ;
in nForms10
korkea (korkea + "n") (korkea + a)
(korkea + "n" + a) (korkea + a + "n")
(korke + "iden") (korke + "it" + a)
(korke + "in" + a) (korke + "iss" + a)
(korke + "isiin") ; --- NSSK: korkeihin
dKaunis : Str -> NForms = \kaunis ->
let
a = vowHarmony kaunis ;
kaunii = init kaunis + "i" ;
in nForms10
kaunis (kaunii + "n") (kaunis + "t" + a)
(kaunii + "n" + a) (kaunii + "seen")
(kaunii + "den") (kaunii + "t" + a)
(kaunii + "n" + a) (kaunii + "ss" + a)
(kaunii + "siin") ;
dLiitin : (_,_ : Str) -> NForms = \liitin,liittimen ->
let
a = vowHarmony liitin ;
liittim = Predef.tk 2 liittimen ;
in nForms10
liitin (liittim + "en") (liitin + "t" + a)
(liittim + "en" + a) (liittim + "een")
(liittim + "ien") (liittim + "i" + a)
(liittim + "in" + a) (liittim + "iss" + a)
(liittim + "iin") ;
dOnneton : Str -> NForms = \onneton ->
let
a = vowHarmony onneton ;
onnettom = Predef.tk 2 onneton + "t" + last (init onneton) + "m" ;
in nForms10
onneton (onnettom + a + "n") (onneton + "t" + a)
(onnettom + a + "n" + a) (onnettom + a + a + "n")
(onnettom + "ien") (onnettom + "i" + a)
(onnettom + "in" + a) (onnettom + "iss" + a)
(onnettom + "iin") ;
-- 2-syllable a/ä, o/ö, u/y
dUkko : (_,_ : Str) -> NForms = \ukko,ukon ->
let
o = last ukko ;
a = vowHarmony o ;
ukk = init ukko ;
uko = init ukon ;
uk = init uko ;
ukkoja = case <ukko : Str> of {
_ + "ä" => -- kylä,kyliä,kylien,kylissä,kyliin
<ukk + "iä", ukk + "ien", ukk, uk, ukk + "iin"> ;
_ + ("au" | "eu") + _ + "a" => -- kauhojen,seurojen
<ukk + "oja",ukk + "ojen",ukk + "o", uk + "o", ukk + "oihin"> ;
_ + ("o" | "u") + _ + "a" => -- pula,pulia,pulien,pulissa,puliin
<ukk + "ia", ukk + "ien", ukk, uk, ukk + "iin"> ;
_ + "a" => -- kala,kaloja,kalojen,-oissa,-oihin
<ukk + "oja",ukk + "ojen",ukk + "o", uk + "o", ukk + "oihin"> ;
_ => -- suku,sukuja,sukujen,-uissa,-uihin
<ukko + "j" + a,ukko + "jen",ukko, uko, ukko + "ihin">
} ;
ukkoina = ukkoja.p3 + "in" + a ;
ukoissa = ukkoja.p4 + "iss" + a ;
in nForms10
ukko ukon (ukko + a) (ukko + "n" + a) (ukko + o + "n")
ukkoja.p2 ukkoja.p1
ukkoina ukoissa ukkoja.p5 ;
-- 3-syllable a/ä/o/ö
dSilakka : (_,_,_ : Str) -> NForms = \silakka,silakan,silakoita ->
let
o = last silakka ;
a = getHarmony o ;
silakk = init silakka ;
silaka = init silakan ;
silak = init silaka ;
silakkaa = silakka + case o of {
"o" | "ö" => "t" + a ; -- radiota
_ => a -- sammakkoa
} ;
silakoiden = case <silakoita : Str> of {
_ + "i" + ("a" | "ä") => -- asemia
<silakka+a, silakk + "ien", silakk, silak, silakk + "iin"> ;
_ + O@("o" | "ö" | "u" | "y" | "e") + ("ja" | "jä") => -- pasuunoja
<silakka+a,silakk+O+"jen",silakk+O, silak+O, silakk +O+ "ihin"> ;
_ + O@("o" | "ö" | "u" | "y" | "e") + ("ita" | "itä") => -- silakoita
<silakkaa, silak+O+"iden",silakk+O, silak+O, silakk +O+ "ihin"> ;
_ => Predef.error silakoita
} ;
silakkoina = silakoiden.p3 + "in" + a ;
silakoissa = silakoiden.p4 + "iss" + a ;
in nForms10
silakka silakan silakoiden.p1 (silakka + "n" + a) (silakka + o + "n")
silakoiden.p2 silakoita
silakkoina silakoissa silakoiden.p5 ;
dArpi : (_,_ : Str) -> NForms = \arpi,arven ->
let
a = vowHarmony arpi ;
arp = init arpi ;
arv = Predef.tk 2 arven ;
ar = init arp ;
arpe = case last arp of {
"s" => case last arv of {
"d" | "l" | "n" | "r" => -- suden,sutta ; jälsi ; kansi ; hirsi
<ar + "tt" + a, arpi + "en",arpi,ar + "t"> ;
_ => -- kuusta,kuusien
<arp + "t" + a,arp + "ien",arpi, arp>
} ;
"r" | "n" => -- suurta,suurten
<arp + "t" + a,arp + "ten",arpi, arp>;
"l" | "h" => -- tuulta,tuulien
<arp + "t" + a,arp + "ien",arpi, arp>;
_ => -- arpea,arpien,arvissa
<arp + "e" + a,arp + "ien",arv+"i",arp>
} ; ---- pieni,pientä; uni,unta
in nForms10
arpi arven arpe.p1 (arpe.p4 + "en" + a) (arpe.p4 + "een")
arpe.p2 (arpi + a)
(arp + "in" + a) (arpe.p3 + "ss" + a) (arp + "iin") ;
dRae : (_,_ : Str) -> NForms = \rae,rakeen ->
let
a = vowHarmony rae ;
rakee = init rakeen ;
rakei = init rakee + "i" ;
raetta = case <rae : Str> of {
_ + "e" =>
<rae + "tt" + a, rakee + "seen"> ; -- raetta,rakeeseen
_ + "s" =>
<rae + "t" + a, rakee + "seen"> ; -- rengasta,renkaaseen
_ + "t" =>
<rae + "t" + a, rakee + "en"> ; -- olutta,olueen
_ + "r" =>
<rae + "t" + a, rakee + "en"> ; -- sisarta,sisareen
_ => Predef.error (["expected ending e/t/s/r, found"] ++ rae)
} ;
in nForms10
rae rakeen raetta.p1 (rakee + "n"+ a) raetta.p2
(rakei + "den") (rakei + "t" + a)
(rakei + "n" + a) (rakei + "ss" + a) (rakei + "siin") ; ---- sisariin
dPaatti : (_,_ : Str) -> NForms = \paatti,paatin ->
let
a = vowHarmony paatti ;
paatte = init paatti + "e" ;
paati = init paatin ;
paate = init paati + "e" ;
in nForms10
paatti paatin (paatti + a) (paatti + "n" + a) (paatti + "in")
(paatti + "en") (paatte + "j" + a)
(paatte + "in" + a) (paate + "iss" + a) (paatte + "ihin") ;
dTohtori : (_ : Str) -> NForms = \tohtori ->
let
a = vowHarmony tohtori ;
tohtor = init tohtori ;
in nForms10
tohtori (tohtori+"n") (tohtori + a) (tohtori + "n" + a) (tohtori + "in")
(tohtor + "eiden") (tohtor + "eit" + a)
(tohtor + "ein" + a) (tohtor + "eiss" + a) (tohtor + "eihin") ;
dPiennar : (_,_ : Str) -> NForms = \piennar,pientaren ->
let
a = vowHarmony piennar ;
pientar = Predef.tk 2 pientaren ;
in nForms10
piennar pientaren (piennar +"t" + a)
(pientar + "en" + a) (pientar + "een")
(piennar + "ten") (pientar + "i" + a) (pientar + "in" + a)
(pientar + "iss" + a) (pientar + "iin") ;
dUnix : (_ : Str) -> NForms = \unix ->
let
a = vowHarmony unix ;
unixi = unix + "i" ;
unixe = unix + "e" ;
in nForms10
unix (unixi + "n") (unixi + a) (unixi + "n" + a) (unixi + "in")
(unixi + "en") (unixe + "j" + a) (unixe + "in" + a)
(unixe + "iss" + a) (unixe + "ihin") ;
dNukke : (_,_ : Str) -> NForms = \nukke,nuken ->
let
a = vowHarmony nukke ;
nukk = init nukke ;
nuke = init nuken ;
in
nForms10
nukke nuken (nukke + a) (nukk +"en" + a) (nukk + "een")
(nukk + "ien") (nukk + "ej" + a) (nukk + "ein" + a)
(nuke + "iss" + a) (nukk + "eihin") ;
dJalas : Str -> NForms = \jalas ->
let
a = vowHarmony jalas ;
jalaks = init jalas + "ks" ;
jalaksi = jalaks + "i" ;
in nForms10
jalas (jalaks + "en") (jalas + "t" + a)
(jalaks + "en" + a) (jalaks + "een")
(jalas + "ten") (jalaksi + a)
(jalaksi + "n" + a) (jalaksi + "ss" + a) (jalaksi + "in") ;
dSDP : Str -> NForms = \SDP ->
let
c = case last SDP of {
"A" =>
<"n","ta","na","han","iden","ita","ina","issa","ihin"> ;
"B" | "C" | "D" | "E" | "G" | "P" | "T" | "V" | "W" =>
<"n","tä","nä","hen","iden","itä","inä","issä","ihin"> ;
"F" | "L" | "M" | "N" | "R" | "S" | "X" =>
<"n","ää","nä","ään","ien","iä","inä","issä","iin"> ;
"H" | "K" | "O" | "Å" =>
<"n","ta","na","hon","iden","ita","ina","issa","ihin"> ;
"I" | "J" =>
<"n","tä","nä","hin","iden","itä","inä","issä","ihin"> ;
"Q" | "U" =>
<"n","ta","na","hun","iden","ita","ina","issa","ihin"> ;
"Z" =>
<"n","aa","na","aan","ojen","oja","oina","oissa","oihin"> ;
"Ä" =>
<"n","tä","nä","hän","iden","itä","inä","issä","ihin"> ;
"Ö" =>
<"n","tä","nä","hön","iden","itä","inä","issä","ihin"> ;
_ => Predef.error (["illegal abbreviation"] ++ SDP)
} ;
in nForms10
SDP (SDP + ":" + c.p1) (SDP + ":" + c.p2) (SDP + ":" + c.p3)
(SDP + ":" + c.p4) (SDP + ":" + c.p5) (SDP + ":" + c.p6)
(SDP + ":" + c.p7) (SDP + ":" + c.p8) (SDP + ":" + c.p9) ;
-- for adjective comparison
dSuurempi : Str -> NForms = \suurempi ->
let
a = vowHarmony suurempi ;
suuremp = init suurempi ;
suuremm = Predef.tk 2 suurempi + "m" ;
in nForms10
suurempi (suuremm + a + "n") (suuremp + a + a)
(suuremp + a + "n" + a) (suuremp + a + a + "n")
(suuremp + "ien") (suurempi + a)
(suurempi + "n" + a) (suuremm + "iss" + a) (suurempi + "in") ;
dSuurin : Str -> NForms = \suurin ->
let
a = vowHarmony suurin ;
suurimm = init suurin + "mm" ;
suurimp = init suurimm + "p" ;
in nForms10
suurin (suurimm + a + "n") (suurin + "t" + a)
(suurimp + a + "n" + a) (suurimp + a + a + "n")
(suurimp + "ien") (suurimp + "i" + a)
(suurimp + "in" + a) (suurimm + "iss" + a) (suurimp + "iin") ;
-- for verb participle forms
dOttanut : Str -> NForms = \ottanut ->
let
a = vowHarmony ottanut ;
ottane = init ottanut + "e" ;
ottanee = ottane + "e" ;
in nForms10
ottanut (ottanee + "n") (ottanut + "t" + a)
(ottanee + "n" + a) (ottanee + "seen")
(ottane + "iden") (ottane + "it" + a)
(ottane + "in" + a) (ottane + "iss" + a) (ottane + "isiin") ;
-------------------
-- auxiliaries ----
-------------------
-- the maximal set of technical stems
NForms : Type = Predef.Ints 9 => Str ;
nForms10 : (x1,_,_,_,_,_,_,_,_,x10 : Str) -> NForms =
\Ukko,ukon,ukkoa,ukkona,ukkoon,
ukkojen,ukkoja,ukkoina,ukoissa,ukkoihin -> table {
0 => Ukko ;
1 => ukon ;
2 => ukkoa ;
3 => ukkona ;
4 => ukkoon ;
5 => ukkojen ;
6 => ukkoja ;
7 => ukkoina ;
8 => ukoissa ;
9 => ukkoihin
} ;
nForms2N : NForms -> N = \f ->
let
Ukko = f ! 0 ;
ukon = f ! 1 ;
ukkoa = f ! 2 ;
ukkona = f ! 3 ;
ukkoon = f ! 4 ;
ukkojen = f ! 5 ;
ukkoja = f ! 6 ;
ukkoina = f ! 7 ;
ukoissa = f ! 8 ;
ukkoihin = f ! 9 ;
a = last ukkoja ;
uko = init ukon ;
ukko = Predef.tk 2 ukkona ;
ukkoi = Predef.tk 2 ukkoina ;
ukoi = Predef.tk 3 ukoissa ;
in
{s = table {
NCase Sg Nom => Ukko ;
NCase Sg Gen => uko + "n" ;
NCase Sg Part => ukkoa ;
NCase Sg Transl => uko + "ksi" ;
NCase Sg Ess => ukkona ;
NCase Sg Iness => uko + ("ss" + a) ;
NCase Sg Elat => uko + ("st" + a) ;
NCase Sg Illat => ukkoon ;
NCase Sg Adess => uko + ("ll" + a) ;
NCase Sg Ablat => uko + ("lt" + a) ;
NCase Sg Allat => uko + "lle" ;
NCase Sg Abess => uko + ("tt" + a) ;
NCase Pl Nom => uko + "t" ;
NCase Pl Gen => ukkojen ;
NCase Pl Part => ukkoja ;
NCase Pl Transl => ukoi + "ksi" ;
NCase Pl Ess => ukkoina ;
NCase Pl Iness => ukoissa ;
NCase Pl Elat => ukoi + ("st" + a) ;
NCase Pl Illat => ukkoihin ;
NCase Pl Adess => ukoi + ("ll" + a) ;
NCase Pl Ablat => ukoi + ("lt" + a) ;
NCase Pl Allat => ukoi + "lle" ;
NCase Pl Abess => ukoi + ("tt" + a) ;
NComit => ukkoi + "ne" ;
NInstruct => ukoi + "n" ;
NPossNom _ => ukko ;
NPossGen Sg => ukko ;
NPossGen Pl => init ukkojen ;
NPossTransl Sg => uko + "kse" ;
NPossTransl Pl => ukoi + "kse" ;
NPossIllat Sg => init ukkoon ;
NPossIllat Pl => init ukkoihin
} ;
lock_N = <>
} ;
n2nforms : N -> NForms = \ukko -> table {
0 => ukko.s ! NCase Sg Nom ;
1 => ukko.s ! NCase Sg Gen ;
2 => ukko.s ! NCase Sg Part ;
3 => ukko.s ! NCase Sg Ess ;
4 => ukko.s ! NCase Sg Illat ;
5 => ukko.s ! NCase Pl Gen ;
6 => ukko.s ! NCase Pl Part ;
7 => ukko.s ! NCase Pl Ess ;
8 => ukko.s ! NCase Pl Iness ;
9 => ukko.s ! NCase Pl Illat
} ;
-- Adjective forms
AForms : Type = {
posit : NForms ;
compar : NForms ;
superl : NForms ;
adv_posit, adv_compar, adv_superl : Str ;
} ;
aForms2A : AForms -> A = \afs -> {
s = table {
Posit => table {
AN n => (nForms2N afs.posit).s ! n ;
AAdv => afs.adv_posit
} ;
Compar => table {
AN n => (nForms2N afs.compar).s ! n ;
AAdv => afs.adv_compar
} ;
Superl => table {
AN n => (nForms2N afs.superl).s ! n ;
AAdv => afs.adv_superl
}
} ;
lock_A = <>
} ;
nforms2aforms : NForms -> AForms = \nforms ->
let
suure = init (nforms ! 1) ;
suur = Predef.tk 4 (nforms ! 8) ;
in {
posit = nforms ;
compar = dSuurempi (suure ++ "mpi") ;
superl = dSuurin (suur ++ "in") ;
adv_posit = suure + "sti" ;
adv_compar = suure + "mmin" ;
adv_superl = suur + "immin" ;
} ;
-- This is used to analyse nouns "rae", "hake", "rengas", "laidun", etc.
strongGrade : Str -> Str = \hanke ->
let
ha = Predef.tk 3 hanke ;
nke = Predef.dp 3 hanke ;
in
ha + case nke of {
"ng" + a => "nk" + a ;
"nn" + e => "nt" + e ;
"mm" + e => "mp" + e ;
"rr" + e => "rt" + e ;
"ll" + a => "lt" + a ;
h@("h" | "l") + "je" + e => h + "ke" ; -- pohje/lahje impossible
("tk" | "hk" | "sk" | "sp" | "st") + _ => nke ; -- viuhke,kuiske
a + k@("k"|"p"|"t") + e@("e"|"a"|"ä"|"u"|"i"|"o"|"ö") => a + k + k + e ;
a + "d" + e@("e"|"a"|"ä"|"u"|"i"|"o"|"ö") => a + "t" + e ;
s + a@("a" | "ä") + "e" => s + a + "ke" ; -- säe, tae
a + "v" + e@("e"|"a"|"ä"|"u"|"i") => a + "p" + e ; -- taive/toive imposs
ase => ase
} ;
vowHarmony : Str -> Str = \s -> case s of {
_ + ("a" | "o" | "u") + _ => "a" ;
_ => "ä"
} ;
}

View File

@@ -0,0 +1,193 @@
--# -path=.:alltenses
resource Nominal = ResFin ** open MorphoFin,Declensions,CatFin,Prelude in {
flags optimize=noexpand ;
oper
mkN : overload {
mkN : (talo : Str) -> N ;
mkN : (talo,talon : Str) -> N ;
mkN : (talo,talon,taloja : Str) -> N ;
mkN : (talo,talon,taloja,taloa : Str) -> N ;
mkN : (sora : Str) -> (tie : N) -> N ;
mkN : (oma : N) -> (tunto : N) -> N ;
} ;
mkA : overload {
mkA : Str -> A ;
mkA : N -> A ;
mkA : (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A ;
} ;
showN : N -> Utt = \talo ->
let t = talo.s in ss (
t ! NCase Sg Nom ++
t ! NCase Sg Gen ++
t ! NCase Sg Part ++
t ! NCase Sg Ess ++
t ! NCase Sg Illat ++
t ! NCase Pl Gen ++
t ! NCase Pl Part ++
t ! NCase Pl Ess ++
t ! NCase Pl Iness ++
t ! NCase Pl Illat
) ** {lock_Utt = <>} ;
mkN = overload {
mkN : (talo : Str) -> N = mk1N ;
-- \s -> nForms2N (nForms1 s) ;
mkN : (talo,talon : Str) -> N = mk2N ;
-- \s,t -> nForms2N (nForms2 s t) ;
mkN : (talo,talon,taloja : Str) -> N = mk3N ;
-- \s,t,u -> nForms2N (nForms3 s t u) ;
mkN : (talo,talon,taloja,taloa : Str) -> N = mk4N ;
-- \s,t,u,v -> nForms2N (nForms4 s t u v) ;
mkN :
(talo,talon,taloa,talona,taloon,talojen,taloja,taloina,taloissa,taloihin
: Str) -> N = mk10N ;
mkN : (sora : Str) -> (tie : N) -> N = mkStrN ;
mkN : (oma,tunto : N) -> N = mkNN ;
} ;
mk1A : Str -> A = \jalo -> aForms2A (nforms2aforms (nForms1 jalo)) ;
mkNA : N -> A = \suuri -> aForms2A (nforms2aforms (n2nforms suuri)) ;
mk1N : (talo : Str) -> N = \s -> nForms2N (nForms1 s) ;
mk2N : (talo,talon : Str) -> N = \s,t -> nForms2N (nForms2 s t) ;
mk3N : (talo,talon,taloja : Str) -> N = \s,t,u -> nForms2N (nForms3 s t u) ;
mk4N : (talo,talon,taloa,taloja : Str) -> N = \s,t,u,v ->
nForms2N (nForms4 s t u v) ;
mk10N :
(talo,talon,taloa,talona,taloon,talojen,taloja,taloina,taloissa,taloihin
: Str) -> N = \a,b,c,d,e,f,g,h,i,j ->
nForms2N (nForms10 a b c d e f g h i j) ;
mkStrN : Str -> N -> N = \sora,tie -> {
s = \\c => sora + tie.s ! c ; lock_N = <>
} ;
mkNN : N -> N -> N = \oma,tunto -> {
s = \\c => oma.s ! c + tunto.s ! c ; lock_N = <>
} ; ---- TODO: oma in possessive suffix forms
nForms1 : Str -> NForms = \ukko ->
let
ukk = init ukko ;
uko = weakGrade ukko ;
ukon = uko + "n" ;
o = case last ukko of {"ä" => "ö" ; "a" => "o"} ; -- only used then
renka = Declensions.strongGrade (init ukko) ;
rake = Declensions.strongGrade ukko ;
in
case ukko of {
_ + "nen" => dNainen ukko ;
_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" |"ää"|"öö") => dPuu ukko ;
_ + ("ai" | "ei" | "oi" | "ui" | "yi" | "äi" | "öi") => dPuu ukko ;
_ + ("ie" | "uo" | "yö") => dSuo ukko ;
_ + ("ea" | "eä") => dKorkea ukko ;
_ + "is" => dKaunis ukko ;
_ + ("i" | "u") + "n" => dLiitin ukko (renka + "men") ;
_ + ("ton" | "tön") => dOnneton ukko ;
_ + "e" => dRae ukko (rake + "en") ;
_ + ("ut" | "yt") => dRae ukko (ukk + "en") ;
_ + ("as" | "äs") => dRae ukko (renka + last renka + "n") ;
_ + ("uus" | "yys" | "eus" | "eys") => dLujuus ukko ;
_ + "s" => dJalas ukko ;
{- heuristics for 3-syllable nouns ending a/ä
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ +
_ + "i" + C_ + a@("a" | "ä") =>
dSilakka ukko (ukko + "n") (ukk + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "o" | "u" | "y" | "ä" | "ö") +
("l" | "r" | "n") + a@("a" | "ä") =>
dSilakka ukko (ukko + "n") (ukk + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") +
("n" | "k" | "s") + "k" + a@("a" | "ä") =>
dSilakka ukko (uko + "n") (init uko + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") +
("n" | "t" | "s") + "t" + a@("a" | "ä") =>
dSilakka ukko (uko + "n") (ukk + o + "j" + a) ;
_ + ("a" | "e" | "i" | "o" | "u") + C_ + _ +
("a" | "e" | "o" | "u") + C_ + "a" =>
dSilakka ukko (ukko + "n") (ukk + "ia") ;
-}
_ + "i" +o@("o"|"ö") => dSilakka ukko (ukko+"n") (ukko+"it"+getHarmony o);
_ + "i" + "a" => dSilakka ukko (ukko + "n") (ukk + "oita") ;
_ + "i" + "ä" => dSilakka ukko (ukko + "n") (ukk + "öitä") ;
_ + ("a" | "o" | "u" | "y" | "ä" | "ö") => dUkko ukko ukon ;
_ + "i" => dPaatti ukko ukon ;
_ + ("ar" | "är") => dPiennar ukko (renka + "ren") ;
_ + "e" + ("l" | "n") => dPiennar ukko (ukko + "en") ;
_ => dUnix ukko
} ;
nForms2 : (_,_ : Str) -> NForms = \ukko,ukon ->
let
ukk = init ukko ;
in
case <ukko,ukon> of {
<_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" |
"ie" | "uo" | "yö" | "ea" | "eä" |
"ia" | "iä" | "io" | "iö" | "ja" | "jä"), _ + "n"> =>
nForms1 ukko ; --- to protect
<_ + ("a" | "o" | "u" | "y" | "ä" | "ö"), _ + "n"> =>
dUkko ukko ukon ; -- auto,auton
<_ + "mpi", _ + ("emman" | "emmän")> => dSuurempi ukko ;
<_ + "in", _ + ("imman" | "immän")> => dSuurin ukko ;
<arp + "i", arv + "en"> => dArpi ukko ukon ;
--- <arp + "i", _ + "i" + ("a" | "ä")> => -- for b-w compat.
--- dArpi ukko (init (weakGrade ukko) + "en") ;
<terv + "e", terv + "een"> =>
dRae ukko ukon ;
<taiv + ("as" | "äs"), taiv + ("aan" | "ään")> =>
dRae ukko ukon ;
<nukk + "e", nuk + "en"> => dNukke ukko ukon ;
<_ + ("us" | "ys"), _ + "den"> => dLujuus ukko ;
<_, _ + ":n"> => dSDP ukko ;
<_, _ + "n"> => nForms1 ukko ;
_ =>
Predef.error (["second argument should end in n, not"] ++ ukon)
} ;
nForms3 : (_,_,_ : Str) -> NForms = \ukko,ukon,ukkoja ->
let
ukot = nForms2 ukko ukon ;
in
case <ukko,ukon,ukkoja> of {
<_ + "ea", _ + "ean", _ + "oita"> =>
dSilakka ukko ukon ukkoja ; -- idea, but not korkea
<_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" |
"ie" | "uo" | "yö" | "ea" | "eä" |
"ia" | "iä" | "io" | "iö"), _ + "n"> =>
nForms1 ukko ; --- to protect --- how to get "dioja"?
<_ + ("a" | "ä" | "o" | "ö"), _ + "n", _ + ("a" | "ä")> =>
dSilakka ukko ukon ukkoja ;
<_ + "i", _ + "n", _ + ("eita" | "eitä")> =>
dTohtori ukko ;
<_, _ + "n", _ + ("a" | "ä")> => ukot ;
_ =>
Predef.error
(["last arguments should end in n and a/ä, not"] ++ ukon ++ ukkoja)
} ;
nForms4 : (_,_,_,_ : Str) -> NForms = \ukko,ukon,ukkoja,ukkoa ->
let
ukot = nForms3 ukko ukon ukkoja ;
in
case <ukko,ukon,ukkoja,ukkoa> of {
<_,_ + "n", _ + ("a" | "ä"), _ + ("a" | "ä")> =>
table {
2 => ukkoa ;
n => ukot ! n
} ;
_ =>
Predef.error
(["last arguments should end in n, a/ä, and a/ä, not"] ++
ukon ++ ukkoja ++ ukkoa)
} ;
}

View File

@@ -0,0 +1,277 @@
--# -path=.:alltenses
resource Kotus = Declensions ** open MorphoFin,CatFin,Prelude in {
oper
d01 : Str -> NForms -- 1780 öljy
= \s -> dUkko s (s + "n") ;
d01A : Str -> NForms -- 166 yökkö
= \s -> dUkko s (weakGrade s + "n") ;
d02 : Str -> NForms -- 1189 ääntely
= \s -> dSilakka s (s + "n") (s + "j" + getHarmony (last s)) ;
d03 : Str -> NForms -- 481 ääntiö
= \s -> dSilakka s (s + "n") (s + "it" + vowelHarmony s) ;
d04A : Str -> NForms -- 273 äpärikkö
= \s -> let ws = weakGrade s in
dSilakka s (ws + "n") (ws + "it" + getHarmony (last s)) ;
d05 : Str -> NForms -- 3212 öljymaali
= \s -> dPaatti s (s + "n") ;
d05A : Str -> NForms -- 1959 öylätti
= \s -> dPaatti s (weakGrade s + "n") ;
d06 : Str -> NForms -- 1231 öykkäri
= \s -> dTohtori s ;
d07 : Str -> NForms -- 81 vuoksi
= \s -> dArpi s (init s + "en") ;
d07A : Str -> NForms -- 70 väki
= \s -> dArpi s (init (weakGrade s) + "en") ;
d08 : Str -> NForms -- 99 à la carte
= \s -> dNukke s (s + "n") ;
d08A : Str -> NForms -- 5 vinaigrette
= \s -> dNukke s (weakGrade s + "n") ;
d09 : Str -> NForms -- 696 ääriraja
= \s -> let a = last s in dSilakka s
(s + "n")
(init s + case a of {"a" => "o" ; _ => "ö"} + "j" + a) ;
d09A : Str -> NForms -- 1040 ääniraita
= \s -> let a = last s in dSilakka s
(weakGrade s + "n")
(init s + case a of {"a" => "o" ; _ => "ö"} + "j" + a) ;
d10 : Str -> NForms -- 2119 äänittäjä
= \s -> dSilakka s (s + "n") (init s + "i" + vowelHarmony (last s)) ;
d10A : Str -> NForms -- 284 änkkä
= \s -> dSilakka s (weakGrade s + "n") (init s + "i" + vowelHarmony (last s)) ;
d11 : Str -> NForms -- 46 ödeema
= \s -> dSilakka s (weakGrade s + "n") (init s + "i" + vowelHarmony (last s)) ;
d12 : Str -> NForms -- 1125 örinä
= \s -> let a = vowelHarmony (last s) in
dSilakka s (s + "n")
(init s + case a of {"a" => "o" ; _ => "ö"} + "it" + a) ;
d13 : Str -> NForms -- 157 virtaska
= \s -> let a = vowelHarmony (last s) in
dSilakka s (s + "n")
(init s + case a of {"a" => "o" ; _ => "ö"} + "j" + a) ;
d14A : Str -> NForms -- 244 ötökkä
= \s -> let a = vowelHarmony (last s) ; ws = weakGrade s in
dSilakka s (ws + "n")
(init ws + case a of {"a" => "o" ; _ => "ö"} + "it" + a) ;
d15 : Str -> NForms -- 170 äreä
= dKorkea ;
d16 : Str -> NForms -- 2 kumpikin
= \s -> let kumpi = Predef.take 5 s ; kin = Predef.drop 5 s in
\\i => (dSuurempi kumpi ! i + kin) ;
d16A : Str -> NForms -- 20 ylempi
= dSuurempi ;
d17 : Str -> NForms -- 38 virkkuu
= dPaluu ;
d18 : Str -> NForms -- 84 yksi-ilmeinen --- ?? voi, tee, sää
= dPuu ;
d19 : Str -> NForms -- 6 yö
= dSuo ;
d20 : Str -> NForms -- 46 voodoo
= dPaluu ;
d21 : Str -> NForms -- 22 tax-free
= dPuu ;
d22 : Str -> NForms -- 13 tournedos
= \s -> nForms10
s (s + "'n") (s + "'ta") (s + "'na") (s + "'hon")
(s + "'iden") (s + "'ita") (s + "'ina") (s + "'issa") (s + "'ihin") ;
d23 : Str -> NForms -- 9 vuohi
= \s -> dArpi s (init s + "en") ;
d24 : Str -> NForms -- 20 uni
= \s -> dArpi s (init s + "en") ;
d25 : Str -> NForms -- 9 tuomi
= \s -> dArpi s (init s + "en") ;
d26 : Str -> NForms -- 113 ääri
= \s -> dArpi s (init s + "en") ;
d27 : Str -> NForms -- 23 vuosi
= \s -> dArpi s (Predef.tk 2 s + "den") ;
d28 : Str -> NForms -- 13 virsi
= \s -> dArpi s (Predef.tk 2 s + "ren") ;
d28A : Str -> NForms -- 1 jälsi
= \s -> dArpi s (Predef.tk 2 s + "len") ;
d29 : Str -> NForms -- 1 lapsi
= \s -> let lapsi = dArpi s (init s + "en") in
table {2 => Predef.tk 3 s + "ta" ; i => lapsi ! i} ;
d30 : Str -> NForms -- 2 veitsi
= \s -> let lapsi = dArpi s (init s + "en") in
table {2 => Predef.tk 3 s + "stä" ; i => lapsi ! i} ;
d31 : Str -> NForms -- 3 yksi
= \s -> let
y = Predef.tk 3 s ;
a = vowelHarmony y
in nForms10
s (y + "hden") (y + "ht" + a) (y + "hten" + a) (y + "hteen")
(s + "en") (s + a) (s + "n" + a) (s + "ss" + a) (s + "in") ;
d32 : Str -> NForms -- 20 uumen
= \s -> dPiennar s (s + "en") ;
d32A : Str -> NForms -- 54 ystävätär
= \s -> dPiennar s (strongGrade (init s) + last s + "en") ;
d33 : Str -> NForms -- 168 väistin
= \s -> dLiitin s (init s + "men") ;
d33A : Str -> NForms -- 181 yllytin
= \s -> dLiitin s (strongGrade (init s) + "men") ;
d34 : Str -> NForms -- 1 alaston
= \s -> let alastom = init s in
nForms10
s (alastom + "an") (s + "ta") (alastom + "ana") (alastom + "aan")
(alastom + "ien") (alastom + "ia") (alastom + "ina") (alastom + "issa")
(alastom + "iin") ;
d34A : Str -> NForms -- 569 ääretön
= dOnneton ;
d35A : Str -> NForms -- 1 lämmin
= \s -> let lämpim = strongGrade (init s) + "m" in
nForms10
s (lämpim + "än") (s + "tä") (lämpim + "änä") (lämpim + "ään")
(lämpim + "ien") (lämpim + "iä") (lämpim + "inä") (lämpim + "issä")
(lämpim + "iin") ;
d36 : Str -> NForms -- 11 ylin
= dSuurin ;
d37 : Str -> NForms -- 1 vasen
= \s -> let vasem = init s + "m" in
nForms10
s (vasem + "man") (s + "ta") (vasem + "pana") (vasem + "paan")
(vasem + "pien") (vasem + "pia") (vasem + "pina") (vasem + "missa")
(vasem + "piin") ;
d38 : Str -> NForms -- 4195 öykkärimäinen
= dNainen ;
d39 : Str -> NForms -- 2730 örähdys
= dJalas ;
d40 : Str -> NForms -- 2482 öykkärimäisyys
= dLujuus ;
d41 : Str -> NForms -- 127 äyräs
= \s -> let is = init s in dRae s (is + last is + "n") ;
d41A : Str -> NForms -- 401 öljykangas
= \s -> let is = init s in dRae s (strongGrade is + last is + "n") ;
d42 : Str -> NForms -- 1 mies
= \s -> let mieh = init s + "s" in
nForms10
s (mieh + "en") (s + "tä") (mieh + "enä") (mieh + "een")
(s + "ten") (mieh + "iä") (mieh + "inä") (mieh + "issä")
(mieh + "iin") ;
d43 : Str -> NForms -- 11 tiehyt
= \s -> dRae s (init s + "en") ;
d43A : Str -> NForms -- 1 immyt
= \s -> dRae s (strongGrade (init s) + "en") ;
d44 : Str -> NForms -- 1 kevät
= \s -> let kevä = init s in
nForms10
s (kevä + "än") (s + "tä") (kevä + "änä") (kevä + "äseen")
(s + "iden") (kevä + "itä") (kevä + "inä") (kevä + "issä")
(kevä + "isiin") ;
d45 : Str -> NForms -- 23 yhdes
= \s -> let yhde = init s ; a = vowelHarmony s in
nForms10
s (yhde + "nnen") (yhde + "tt" + a) (yhde + "nten" + a) (yhde + "nteen")
(yhde + "nsien") (yhde + "nsi" + a) (yhde + "nsin" + a) (yhde + "nsiss" + a)
(yhde + "nsiin") ;
d46 : Str -> NForms -- 1 tuhat
= \s -> let tuha = init s ; a = vowelHarmony s in
nForms10
s (tuha + "nnen") (tuha + "tt" + a) (tuha + "nten" + a) (tuha + "nteen")
(tuha + "nsien") (tuha + "nsi" + a) (tuha + "nsin" + a) (tuha + "nsiss" + a)
(tuha + "nsiin") ;
d47 : Str -> NForms -- 46 ylirasittunut
= dOttanut ;
d48 : Str -> NForms -- 346 äpäre
= \s -> dRae s (s + "en") ;
d48A : Str -> NForms -- 481 äänne
= \s -> dRae s (strongGrade s + "en") ;
d49 : Str -> NForms -- 31 vempele
= \s -> case last s of {
"e" => dRae s (s + "en") ;
_ => dPiennar s (s + "en")
} ;
d49A : Str -> NForms -- 11 vemmel
= \s -> dPiennar s (strongGrade (init s) + "len") ;
{-
d50 : Str -> NForms -- 520 vääräsääri
= \s -> ;
d51 : Str -> NForms -- 62 vierasmies
= \s -> ;
c52 : Str -> VForms -- 667 ärjyä
= \s -> ;
c52A : Str -> VForms -- 1568 öljyyntyä
= \s -> ;
c53 : Str -> VForms -- 605 äänestää
= \s -> ;
c53A : Str -> VForms -- 2121 örähtää
= \s -> ;
c54 : Str -> VForms -- 2 pieksää
= \s -> ;
c54A : Str -> VForms -- 316 ääntää
= \s -> ;
c55A : Str -> VForms -- 7 yltää
= \s -> ;
c56 : Str -> VForms -- 22 valaa
= \s -> ;
c56A : Str -> VForms -- 28 virkkaa
= \s -> ;
c57A : Str -> VForms -- 3 saartaa
= \s -> ;
c58 : Str -> VForms -- 13 suitsea
= \s -> ;
c58A : Str -> VForms -- 19 tunkea
= \s -> ;
c59A : Str -> VForms -- 1 tuntea
= \s -> ;
c60A : Str -> VForms -- 1 lähteä
= \s -> ;
c61 : Str -> VForms -- 249 äyskiä
= \s -> ;
c61A : Str -> VForms -- 153 vääntelehtiä
= \s -> ;
c62 : Str -> VForms -- 684 öykkäröidä
= \s -> ;
c63 : Str -> VForms -- 3 saada
= \s -> ;
c64 : Str -> VForms -- 8 viedä
= \s -> ;
c65 : Str -> VForms -- 1 käydä
= \s -> ;
c66 : Str -> VForms -- 268 öristä
= \s -> ;
c66A : Str -> VForms -- 3 vavista
= \s -> ;
c67 : Str -> VForms -- 704 ällistellä
= \s -> ;
c67A : Str -> VForms -- 634 äännellä
= \s -> ;
c68 : Str -> VForms -- 49 viheriöidä
= \s -> ;
c69 : Str -> VForms -- 48 villitä
= \s -> ;
c70 : Str -> VForms -- 3 syöstä
= \s -> ;
c71 : Str -> VForms -- 2 tehdä
= \s -> ;
c72 : Str -> VForms -- 93 yletä
= \s -> ;
c72A : Str -> VForms -- 52 yhdetä
= \s -> ;
c73 : Str -> VForms -- 600 äkseerata
= \s -> ;
c73A : Str -> VForms -- 313 änkätä
= \s -> ;
c74 : Str -> VForms -- 99 öljytä
= \s -> ;
c74A : Str -> VForms -- 72 ängetä
= \s -> ;
c75 : Str -> VForms -- 39 viritä
= \s -> ;
c75A : Str -> VForms -- 9 siitä
= \s -> ;
c76A : Str -> VForms -- 2 tietää
= \s -> ;
c77 : Str -> VForms -- 3 vipajaa
= \s -> ;
c78 : Str -> VForms -- 31 ähkää
= \s -> ;
c78A : Str -> VForms -- 1 tuikkaa
= \s -> ;
c99 : Str -> VForms -- 5453 öykkärimäisesti
= \s -> ;
-}
}

View File

@@ -0,0 +1,54 @@
LEX=Omat
CAT=N
.PHONY: kotus
all: nouns
verbs:
export CAT=V ; export LEX=VNSSK ; make -e tests
export CAT=V ; export LEX=VOmat ; make -e tests
export CAT=V ; export LEX=VSwadesh ; make -e tests
export CAT=V ; export LEX=VDictionary ; make -e tests
cat all-diff-V* >all-differences-V
cat all-differences-V
nouns:
# export LEX=NSSK ; make -e tests
# export LEX=Omat ; make -e tests
export LEX=Swadesh ; make -e tests
export LEX=Dictionary ; make -e tests
export LEX=Duodecim ; make -e tests
export LEX=Aino ; make -e tests
cat all-diff-* >all-differences
cat all-differences
kotus:
export LEX=KOTUS ; make -e tests
cat all-diff-KOTUS
CSC:
export LEX=NCSC ; make -e tests
cat all-diff-NCSC
gf-files:
runghc MkLex.hs 0 $(CAT) $(LEX) > $(LEX)Abs.gf
# runghc MkLex.hs 1 $(CAT) $(LEX) > $(LEX)1.gf
runghc MkLex.hs 2 $(CAT) $(LEX) > $(LEX)2.gf
runghc MkLex.hs 3 $(CAT) $(LEX) > $(LEX)3.gf
runghc MkLex.hs 4 $(CAT) $(LEX) > $(LEX)4.gf
experiments: gf-files
# echo "gt -cat=Utt | l | wf exper1-$(LEX).txt" | gf -s $(LEX)1.gf
echo "gt -cat=Utt | l | wf exper2-$(LEX).txt" | gf -s $(LEX)2.gf
echo "gt -cat=Utt | l | wf exper3-$(LEX).txt" | gf -s $(LEX)3.gf
echo "gt -cat=Utt | l | wf exper4-$(LEX).txt" | gf -s $(LEX)4.gf
tests: experiments
runghc MyDiff.hs correct-$(LEX).txt exper1-$(LEX).txt >diff1-$(LEX).txt
runghc MyDiff.hs correct-$(LEX).txt exper2-$(LEX).txt >diff2-$(LEX).txt
runghc MyDiff.hs correct-$(LEX).txt exper3-$(LEX).txt >diff3-$(LEX).txt
runghc MyDiff.hs correct-$(LEX).txt exper4-$(LEX).txt >diff4-$(LEX).txt
date >all-diff-$(LEX)
echo $(LEX) >>all-diff-$(LEX)
wc -l diff?-$(LEX).txt >>all-diff-$(LEX)

View File

@@ -0,0 +1,118 @@
module Main where
import System
import Char
-- generate Finnish lexicon implementations with 1 or more
-- characteristic arguments
-- usage: runghc MkLex.hs 3 cat name
main = do
i:cat:tgt:_ <- getArgs
let src = "correct-" ++ tgt ++ ".txt"
ss <- readFile src >>= return . filter (not . (all isSpace)) . lines
initiate tgt cat i
mapM_ (mkLex cat (read i) . uncurry (++)) (zip nums ss)
putStrLn "}"
initiate tgt cat i = mapM_ putStrLn [
"--# -path=.:alltenses",
"",
header i,
""
]
where
header i = case i of
"0" -> unlines [
"abstract " ++ tgt ++ "Abs = Cat ** {",
"fun testN : N -> Utt ;",
"fun testV : V -> Utt ;"
]
_ -> unlines [
"concrete " ++ tgt ++ i ++
" of " ++ tgt ++
"Abs = CatFin ** open Nominal, Verbal, ResFin, Prelude in {",
"",
"lin testN = showN ;",
"lin testV = showV ;"
]
nums = map prt [10001 ..] where
---- prt i = (if i < 10 then "0" else "") ++ show i ++ ". "
prt i = show i ++ ". "
-- W is the flag for mixed-class word lists
mkLex "W" 0 line = case words line of
num:cat:sana:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "fun " ++ nimi ++ "_" ++ cat ++ " : " ++ cat ++ " ;"
_ -> return ()
mkLex "W" 1 line = case words line of
num:cat:sanat@(sana:_) -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_" ++ cat ++ " = mk" ++ cat ++ " " ++
unwords (map prQuoted sanat) ++" ;"
_ -> return ()
mkLex cat 0 line = case words line of
num:sana:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "fun " ++ nimi ++ "_" ++ cat ++ " : " ++ cat ++ " ;"
_ -> return ()
mkLex cat 1 line = case words line of
num:sana:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_" ++ cat ++ " = mk" ++ cat ++ " \"" ++ sana ++ "\" ;"
_ -> return ()
mkLex "V" _ line = case words line of
num:sana:_:_:_:_:_:_:sanan:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_V = mkV \"" ++ sana ++ "\" \"" ++ sanan ++ "\" ;"
_ -> return ()
mkLex "N" 2 line = case words line of
-- num:sana:sanan:_ -> do
num:sana:_:_:_:_:_:sanan:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_N = mkN \"" ++ sana ++ "\" \"" ++ sanan ++ "\" ;"
_ -> return ()
mkLex "N" 3 line = case words line of
---- num:sana:sanan:sanoja:_ -> do
num:sana:sanan:_:_:_:_:sanoja:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_N = mkN \"" ++ sana ++ "\" \"" ++ sanan ++ "\" \"" ++ sanoja ++ "\" ;"
_ -> return ()
mkLex "N" 4 line = case words line of
num:sana:sanan:sanaa:_:_:_:sanoja:_ -> do
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "lin " ++ nimi ++
"_N = mkN \"" ++ sana ++ "\" \"" ++ sanan ++
"\" \"" ++ sanoja ++ "\" \"" ++ sanaa ++ "\" ;"
_ -> return ()
-- to initiate from a noun list that has compounds
mkLex "N" 11 line = case words line of
_:"--":_ -> return ()
num:sana0:_ -> do
let sana = uncompound sana0
let nimi = "n" ++ init num ++ "_" ++ sana
putStrLn $ "fun " ++ nimi ++ "_N : N ;"
putStrLn $ "lin " ++ nimi ++ "_N = mkN \"" ++ sana ++ "\" ;"
_ -> return ()
prQuoted s = concat ["\"",s,"\""]
-- from sora+tie to tie
uncompound = reverse . takeWhile (/= '+') . reverse

View File

@@ -0,0 +1,25 @@
module Main where
import System
-- compare lines word-by-word, returning difference pairs with their positions
main = do
x:y:_ <- getArgs
old <- readFile x >>= return . lines
new <- readFile y >>= return . lines
mapM_ comp (zip old new)
comp (ws1,ws2) = do
let diffs = [form ++ ":" ++ w1 ++ "-" ++ w2 |
(form,(w1,w2)) <- zip forms (zip (words ws1) (words ws2)), diff w2 w1]
putStr $ unwords diffs
if null diffs then return () else putStrLn ""
forms = map show [1..]
diff w ws = notElem w (chop ws) where
chop cs = case span (/='/') cs of
([],_) -> []
(w1,ww) -> w1:chop (drop 1 ww)

View File

@@ -0,0 +1,202 @@
--# -path=.:alltenses
resource Nominal = ResFin ** open MorphoFin,Declensions,CatFin,Prelude in {
flags optimize=noexpand ;
oper
mkN : overload {
mkN : (talo : Str) -> N ;
mkN : (talo,talon : Str) -> N ;
mkN : (talo,talon,taloja : Str) -> N ;
mkN : (talo,talon,taloja,taloa : Str) -> N ;
mkN : (sora : Str) -> (tie : N) -> N ;
mkN : (oma : N) -> (tunto : N) -> N ;
} ;
mkA : overload {
mkA : Str -> A ;
mkA : N -> A ;
mkA : (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A ;
} ;
showN : N -> Utt = \talo ->
let t = talo.s in ss (
t ! NCase Sg Nom ++
t ! NCase Sg Gen ++
t ! NCase Sg Part ++
t ! NCase Sg Ess ++
t ! NCase Sg Illat ++
t ! NCase Pl Gen ++
t ! NCase Pl Part ++
t ! NCase Pl Ess ++
t ! NCase Pl Iness ++
t ! NCase Pl Illat
) ** {lock_Utt = <>} ;
mkN = overload {
mkN : (talo : Str) -> N = mk1N ;
-- \s -> nForms2N (nForms1 s) ;
mkN : (talo,talon : Str) -> N = mk2N ;
-- \s,t -> nForms2N (nForms2 s t) ;
mkN : (talo,talon,taloja : Str) -> N = mk3N ;
-- \s,t,u -> nForms2N (nForms3 s t u) ;
mkN : (talo,talon,taloja,taloa : Str) -> N = mk4N ;
-- \s,t,u,v -> nForms2N (nForms4 s t u v) ;
mkN :
(talo,talon,taloa,talona,taloon,talojen,taloja,taloina,taloissa,taloihin
: Str) -> N = mk10N ;
mkN : (sora : Str) -> (tie : N) -> N = mkStrN ;
mkN : (oma,tunto : N) -> N = mkNN ;
} ;
mk1A : Str -> A = \jalo -> aForms2A (nforms2aforms (nForms1 jalo)) ;
mkNA : N -> A = \suuri -> aForms2A (nforms2aforms (n2nforms suuri)) ;
mk1N : (talo : Str) -> N = \s -> nForms2N (nForms1 s) ;
mk2N : (talo,talon : Str) -> N = \s,t -> nForms2N (nForms2 s t) ;
mk3N : (talo,talon,taloja : Str) -> N = \s,t,u -> nForms2N (nForms3 s t u) ;
mk4N : (talo,talon,taloa,taloja : Str) -> N = \s,t,u,v ->
nForms2N (nForms4 s t u v) ;
mk10N :
(talo,talon,taloa,talona,taloon,talojen,taloja,taloina,taloissa,taloihin
: Str) -> N = \a,b,c,d,e,f,g,h,i,j ->
nForms2N (nForms10 a b c d e f g h i j) ;
mkStrN : Str -> N -> N = \sora,tie -> {
s = \\c => sora + tie.s ! c ; lock_N = <>
} ;
mkNN : N -> N -> N = \oma,tunto -> {
s = \\c => oma.s ! c + tunto.s ! c ; lock_N = <>
} ; ---- TODO: oma in possessive suffix forms
nForms1 : Str -> NForms = \ukko ->
let
ukk = init ukko ;
uko = weakGrade ukko ;
ukon = uko + "n" ;
o = case last ukko of {"ä" => "ö" ; "a" => "o"} ; -- only used then
renka = Declensions.strongGrade (init ukko) ;
rake = Declensions.strongGrade ukko ;
in
case ukko of {
_ + "nen" => dNainen ukko ;
_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" |"ää"|"öö") => dPuu ukko ;
_ + ("ai" | "ei" | "oi" | "ui" | "yi" | "äi" | "öi") => dPuu ukko ;
_ + ("ie" | "uo" | "yö") => dSuo ukko ;
_ + ("ea" | "eä") => dKorkea ukko ;
_ + "is" => dKaunis ukko ;
_ + ("i" | "u") + "n" => dLiitin ukko (renka + "men") ;
_ + ("ton" | "tön") => dOnneton ukko ;
_ + "e" => dRae ukko (rake + "en") ;
_ + ("ut" | "yt") => dRae ukko (ukk + "en") ;
_ + ("as" | "äs") => dRae ukko (renka + last renka + "n") ;
_ + ("uus" | "yys" | "eus" | "eys") => dLujuus ukko ;
_ + "s" => dJalas ukko ;
{- heuristics for 3-syllable nouns ending a/ä
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ +
_ + "i" + C_ + a@("a" | "ä") =>
dSilakka ukko (ukko + "n") (ukk + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "o" | "u" | "y" | "ä" | "ö") +
("l" | "r" | "n") + a@("a" | "ä") =>
dSilakka ukko (ukko + "n") (ukk + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") +
("n" | "k" | "s") + "k" + a@("a" | "ä") =>
dSilakka ukko (uko + "n") (init uko + o + "it" + a) ;
_ + ("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") + C_ + _ +
("a" | "e" | "i" | "o" | "u" | "y" | "ä" | "ö") +
("n" | "t" | "s") + "t" + a@("a" | "ä") =>
dSilakka ukko (uko + "n") (ukk + o + "j" + a) ;
_ + ("a" | "e" | "i" | "o" | "u") + C_ + _ +
("a" | "e" | "o" | "u") + C_ + "a" =>
dSilakka ukko (ukko + "n") (ukk + "ia") ;
-}
_ + "i" +o@("o"|"ö") => dSilakka ukko (ukko+"n") (ukko+"it"+getHarmony o);
_ + "i" + "a" => dSilakka ukko (ukko + "n") (ukk + "oita") ;
_ + "i" + "ä" => dSilakka ukko (ukko + "n") (ukk + "öitä") ;
_ + ("a" | "o" | "u" | "y" | "ä" | "ö") => dUkko ukko ukon ;
_ + "i" => dPaatti ukko ukon ;
_ + ("ar" | "är") => dPiennar ukko (renka + "ren") ;
_ + "e" + ("l" | "n") => dPiennar ukko (ukko + "en") ;
_ => dUnix ukko
} ;
nForms2 : (_,_ : Str) -> NForms = \ukko,ukkoja ->
let
ukot = nForms1 ukko ;
ukon = weakGrade ukko + "n" ;
in
case <ukko,ukkoja> of {
<_ + "ea", _ + "oita"> =>
dSilakka ukko ukon ukkoja ; -- idea, but not korkea
<_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" |
"ie" | "uo" | "yö" | "ea" | "eä" |
"ia" | "iä" | "io" | "iö"), _ + ("a" | "ä")> =>
nForms1 ukko ; --- to protect --- how to get "dioja"?
<_ + ("a" | "ä" | "o" | "ö"), _ + ("a" | "ä")> =>
dSilakka ukko ukon ukkoja ;
<arp + "i", _ + "i" + ("a" | "ä")> =>
dArpi ukko (init (weakGrade ukko) + "en") ;
<_ + "i", _ + ("eita" | "eitä")> =>
dTohtori ukko ;
<_ + "e", nuk + ("eja" | "ejä")> =>
dNukke ukko ukon ;
<_, _ + ":" + _ + ("a" | "ä")> => dSDP ukko ;
<_ + ("l" | "n" | "r" | "s"), _ + ("eja" | "ejä")> => dUnix ukko ;
<_, _ + ("a" | "ä")> => ukot ;
_ =>
Predef.error
(["last argument should end in a/ä, not"] ++ ukkoja)
} ;
nForms3 : (_,_,_ : Str) -> NForms = \ukko,ukon,ukkoja ->
let
ukk = init ukko ;
ukot = nForms2 ukko ukkoja ;
in
case <ukko,ukon> of {
<_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" |
"ie" | "uo" | "yö" | "ea" | "eä" |
"ia" | "iä" | "io" | "iö" | "ja" | "jä"), _ + "n"> =>
ukot ; --- to protect
<_ + ("a" | "o" | "u" | "y" | "ä" | "ö"), _ + "n", _ + ("a" | "ä")> =>
dSilakka ukko ukon ukkoja ; -- auto,auton
<_ + "mpi", _ + ("emman" | "emmän")> => dSuurempi ukko ;
<_ + "in", _ + ("imman" | "immän")> => dSuurin ukko ;
<terv + "e", terv + "een"> =>
dRae ukko ukon ;
<taiv + ("as" | "äs"), taiv + ("aan" | "ään")> =>
dRae ukko ukon ;
<nukk + "e", nuk + "een"> => dRae ukko ukon ;
<arp + "i", arv + "en"> => dArpi ukko ukon ;
<_ + ("us" | "ys"), _ + "den"> => dLujuus ukko ;
<_, _ + ":n"> => dSDP ukko ;
<_, _ + "n"> => ukot ;
_ =>
Predef.error (["second argument should end in n, not"] ++ ukon)
} ;
nForms4 : (_,_,_,_ : Str) -> NForms = \ukko,ukon,ukkoja,ukkoa ->
let
ukot = nForms3 ukko ukon ukkoja ;
in
case <ukko,ukon,ukkoja,ukkoa> of {
<_,_ + "n", _ + ("a" | "ä"), _ + ("a" | "ä")> =>
table {
2 => ukkoa ;
n => ukot ! n
} ;
_ =>
Predef.error
(["last arguments should end in n, a/ä, and a/ä, not"] ++
ukon ++ ukkoja ++ ukkoa)
} ;
}

View File

@@ -0,0 +1,415 @@
--# -path=.:alltenses
resource Nominal = ResFin ** open MorphoFin,CatFin,Prelude in {
flags optimize=all ;
oper
-- mkN = overload {
mk1N : (talo : Str) -> N = \s -> nForms2N (nForms1 s) ;
mk2N : (talo,talon : Str) -> N = \s,t -> nForms2N (nForms2 s t) ;
mk3N : (talo,talon,taloja : Str) -> N = \s,t,u -> nForms2N (nForms3 s t u) ;
mk4N : (talo,talon,taloa,taloja : Str) -> N = \s,t,u,v ->
nForms2N (nForms4 s t u v) ;
-- } ;
nForms1 : Str -> NForms = \ukko ->
let
a = vowelHarmony ukko ;
ukk = init ukko ;
uko = weakGrade ukko ;
rake = Nominal.strongGrade ukko ;
renka = Nominal.strongGrade (init ukko) ;
o = last ukko ;
in
case ukko of {
_ + ("us" | "ys") =>
let
lujuus = ukko ;
lujuu = ukk ;
lujuuksi = ukk + "ksi"
in nForms10
lujuus (lujuu + "den") (lujuu + "tt" + a)
(lujuu + "ten" + a) (lujuu + "teen")
(lujuuksi + "en") (lujuuksi + a)
(lujuuksi + "n" + a) (lujuuksi + "ss" + a) (lujuuksi + "in") ;
_ + "nen" =>
let
nainen = ukko ;
nais = Predef.tk 3 ukko + "s"
in nForms10
nainen (nais + "en") (nais + "t" + a) (nais + "en" + a) (nais + "een")
(nais + "ten") (nais + "i" + a)
(nais + "in" + a) (nais + "iss" + a) (nais + "iin") ;
_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö") =>
let
puu = ukko ;
pui = ukk + "i" ;
u = o ;
in nForms10
puu (puu + "n") (puu + "t" + a) (puu + "n" + a) (puu + "h" + u + "n")
(pui + "den") (pui + "t" + a)
(pui + "n" + a) (pui + "ss" + a) (pui + "hin") ;
_ + ("ie" | "uo" | "yö") =>
let
suo = ukko ;
soi = init ukk + o + "i" ;
in nForms10
suo (suo + "n") (suo + "t" + a) (suo + "n" + a) (suo + "h" + o + "n")
(soi + "den") (soi + "t" + a)
(soi + "n" + a) (soi + "ss" + a) (soi + "hin") ;
_ + ("ea" | "eä") =>
let
korkea = ukko ;
korke = init ukko ;
in nForms10
korkea (korkea + "n") (korkea + a)
(korkea + "n" + a) (korkea + a + "n")
(korke + "iden") (korke + "it" + a)
(korke + "in" + a) (korke + "iss" + a)
(korke + "isiin") ; --- NSSK: korkeihin
_ + "is" =>
let
kaunis = ukko ;
kaunii = init kaunis + "i" ;
in nForms10
kaunis (kaunii + "n") (kaunis + "t" + a)
(kaunii + "n" + a) (kaunii + "seen")
(kaunii + "den") (kaunii + "t" + a)
(kaunii + "n" + a) (kaunii + "ss" + a)
(kaunii + "siin") ;
_ + ("i" | "u") + "n" => -- liitin,laidun
let
liitin = ukko ;
liittim = renka + "m" ;
in nForms10
liitin (liittim + "en") (liitin + "t" + a)
(liittim + "en" + a) (liittim + "een")
(liittim + "ien") (liittim + "i" + a)
(liittim + "in" + a) (liittim + "iss" + a)
(liittim + "iin") ;
onne + "t" + on@("on" | "ön") =>
let
onneton = ukko ;
onnettom = onne + "tt" + init on + "m" ;
in nForms10
onneton (onnettom + a + "n") (onneton + "t" + a)
(onnettom + a + "n" + a) (onnettom + a + a + "n")
(onnettom + "ien") (onnettom + "i" + a)
(onnettom + "in" + a) (onnettom + "iss" + a)
(onnettom + "iin") ;
_ + ("ut" | "yt") => -- olut,kätkyt
nForms_rae ukko (ukk + "en" + a) ;
_ + ("as" | "äs") => -- rengas,rypäs
nForms_rae ukko (renka + a + "n" + a) ;
_ + ("ar" | "är") => -- piennar,tytär
nForms_rae ukko (renka + "ren" + a) ;
_ + "e" =>
nForms_rae ukko (rake + "en" + a) ;
_ + ("a" | "o" | "u" | "y" | "ä" | "ö") =>
nForms_ukko ukko (uko + "n") ;
_ + "i" =>
let
paatte = ukk + "e" ;
paate = init uko + "e" ;
in nForms10
ukko (uko + "n") (ukko + a) (ukko + "n" + a) (ukko + "in")
(ukko + "en") (paatte + "j" + a)
(paatte + "in" + a) (paate + "iss" + a) (paatte + "ihin") ;
_ + "e" + ("l" | "n") =>
let
ahven = ukko ;
in nForms10
ahven (ahven + "en") (ahven +"t" + a)
(ahven + "en" + a) (ahven + "een")
(ahven + "ten") (ahven + "i" + a) (ahven + "in" + a)
(ahven + "iss" + a) (ahven + "iin") ;
_ =>
let
unixi = ukko + "i" ;
unixe = ukko + "e" ;
in nForms10
ukko (unixi + "n") (unixi + a) (unixi + "n" + a) (unixi + "in")
(unixi + "en") (unixe + "j" + a) (unixe + "in" + a)
(unixe + "iss" + a) (unixe + "ihin")
} ;
nForms2 : (_,_ : Str) -> NForms = \ukko,ukon ->
let
a = vowelHarmony ukko ;
ukk = init ukko ;
ukot = nForms1 ukko ;
in
case <ukko,ukon> of {
<_ + ("aa" | "ee" | "ii" | "oo" | "uu" | "yy" | "ää" | "öö" |
"ie" | "uo" | "yö"), _ + "n"> => ukot ; --- to protect these
<_ + ("a" | "o" | "u" | "y" | "ä" | "ö"), _ + "n"> =>
nForms_ukko ukko ukon ; -- auto,auton
<arp + "i", arv + "en"> =>
nForms_arpi ukko ukon (arp + "i" + a) ;
<arp + "i", _ + "i" + ("a" | "ä")> => -- for b-w compat.
nForms_arpi ukko (init (weakGrade ukko) + "en") ukon ;
<terv + "e", terv + "een"> =>
nForms_rae ukko (terv + "een" + a) ;
<nukk + "e", nuk + "en"> =>
nForms10
ukko ukon (ukko + a) (nukk +"en" + a) (nukk + "een")
(nukk + "ien") (nukk + "ej" + a) (nukk + "ein" + a)
(nuk + "eiss" + a) (nukk + "eihin") ;
<_ + "s", _ + "ksen"> => table {
1 => ukon ;
2 => ukko + "t" + a ;
3 => ukk + "ksen" + a ;
4 => ukk + "kseen" ;
n => ukot ! n
} ;
<_,_ + "n"> => table {
1 => ukon ;
n => ukot ! n
} ;
<_,_ + ("a" | "ä")> => table { -- for b-w compat.
5 => (part2casePl ukon).p1 ;
6 => ukon ;
n => ukot ! n
} ;
_ =>
Predef.error (["second argument should end in n, not"] ++ ukon)
} ;
nForms3 : (_,_,_ : Str) -> NForms = \ukko,ukon,ukkoja ->
let
ukot = nForms2 ukko ukon ;
in
case <ukko,ukon,ukkoja> of {
<_ + "a" | "ä", _ + "n", _ + ("a" | "ä")> =>
let ukkojen = part2casePl ukkoja in
table {
5 => ukkojen.p1 ;
6 => ukkoja ;
7 => ukkojen.p2 ;
8 => ukkojen.p3 ;
9 => ukkojen.p4 ;
n => ukot ! n
} ;
<_,_ + "n", _ + ("a" | "ä")> =>
let ukkojen = part2casePl ukkoja in
table {
5 => ukkojen.p1 ;
6 => ukkoja ;
n => ukot ! n
} ;
_ =>
Predef.error
(["last arguments should end in n and a/ä, not"] ++ ukon ++ ukkoja)
} ;
nForms4 : (_,_,_,_ : Str) -> NForms = \ukko,ukon,ukkoa,ukkoja ->
let
ukot = nForms3 ukko ukon ukkoja ;
in
case <ukko,ukon,ukkoa,ukkoja> of {
<_,_ + "n", _ + ("a" | "ä"), _ + ("a" | "ä")> =>
table {
2 => ukkoa ;
n => ukot ! n
} ;
_ =>
Predef.error
(["last arguments should end in n, a/ä, and a/ä, not"] ++
ukon ++ ukkoa ++ ukkoja)
} ;
-- auxiliary "declensions"
nForms_ukko : (_,_ : Str) -> NForms = \ukko,ukon ->
let
o = last ukko ;
a = getHarmony o ;
ukk = init ukko ;
uko = init ukon ;
uk = init uko ;
ukkoja = case <ukko : Str> of {
_ + "ä" => -- kylä,kyliä,kylien,kylissä,kyliin
<ukk + "iä", ukk + "ien", ukk, uk, ukk + "iin"> ;
_ + ("au" | "eu") + _ + "a" => -- kauhojen,seurojen
<ukk + "oja",ukk + "ojen",ukk + "o", uk + "o", ukk + "oihin"> ;
_ + ("o" | "u") + _ + "a" => -- pula,pulia,pulien,pulissa,puliin
<ukk + "ia", ukk + "ien", ukk, uk, ukk + "iin"> ;
_ + "a" => -- kala,kaloja,kalojen,-oissa,-oihin
<ukk + "oja",ukk + "ojen",ukk + "o", uk + "o", ukk + "oihin"> ;
_ => -- suku,sukuja,sukujen,-uissa,-uihin
<ukko + "j" + a,ukko + "jen",ukko, uko, ukko + "ihin">
} ;
ukkoina = ukkoja.p3 + "in" + a ;
ukoissa = ukkoja.p4 + "iss" + a ;
in nForms10
ukko ukon (ukko + a) (ukko + "n" + a) (ukko + o + "n")
ukkoja.p2 ukkoja.p1
ukkoina ukoissa ukkoja.p5 ;
nForms_arpi : (_,_,_ : Str) -> NForms = \arpi,arven,arpia ->
let
a = last arpia ;
arp = init arpi ;
arv = Predef.tk 2 arven ;
ar = init arp ;
arpe = case last arp of {
"s" => case last arv of {
"d" | "l" | "n" | "r" => -- suden,sutta ; jälsi ; kansi ; hirsi
<ar + "tt" + a, arpi + "en",arpi,ar + "t"> ;
_ => -- kuusen,kuusta
<arp + "t" + a,arp + "ten",arpi, arp> ---- suksi,suksen
} ;
"r" => -- suurta,suurten
<arp + "t" + a,arp + "ten",arpi, arp>;
"l" | "h" => -- tuulta,tuulien
<arp + "t" + a,arp + "ien",arpi, arp>;
_ => -- arpea,arpien,arvissa
<arp + "e" + a,arp + "ien",arv+"i",arp>
} ; ---- pieni,pientä; uni,unta
in nForms10
arpi arven arpe.p1 (arpe.p4 + "en" + a) (arpe.p4 + "een")
arpe.p2 arpia
(arp + "in" + a) (arpe.p3 + "ss" + a) (arp + "iin") ;
nForms_rae : (_,_ : Str) -> NForms = \rae,rakeena ->
let
a = last rakeena ;
rakee = Predef.tk 2 rakeena ;
rakei = init rakee + "i" ;
raetta = case <rae : Str> of {
_ + "e" =>
<rae + "tt" + a, rakee + "seen"> ; -- raetta,rakeeseen
_ + "s" =>
<rae + "t" + a, rakee + "seen"> ; -- rengasta,renkaaseen
_ + "t" =>
<rae + "t" + a, rakee + "en"> ; -- olutta,olueen
_ + "r" =>
<rae + "t" + a, rakee + "en"> ; -- sisarta,sisareen
_ => Predef.error (["expected ending e/t/s/r, found"] ++ rae)
} ;
in nForms10
rae (rakee + "n") raetta.p1 (rakee + "n"+ a) raetta.p2
(rakei + "den") (rakei + "t" + a)
(rakei + "n" + a) (rakei + "ss" + a) (rakei + "siin") ; ---- sisariin
NForms : Type = Predef.Ints 9 => Str ;
nForms10 : (x1,_,_,_,_,_,_,_,_,x10 : Str) -> NForms =
\Ukko,ukon,ukkoa,ukkona,ukkoon,
ukkojen,ukkoja,ukkoina,ukoissa,ukkoihin -> table {
0 => Ukko ;
1 => ukon ;
2 => ukkoa ;
3 => ukkona ;
4 => ukkoon ;
5 => ukkojen ;
6 => ukkoja ;
7 => ukkoina ;
8 => ukoissa ;
9 => ukkoihin
} ;
nForms2N : NForms -> N = \f ->
let
Ukko = f ! 0 ;
ukon = f ! 1 ;
ukkoa = f ! 2 ;
ukkona = f ! 3 ;
ukkoon = f ! 4 ;
ukkojen = f ! 5 ;
ukkoja = f ! 6 ;
ukkoina = f ! 7 ;
ukoissa = f ! 8 ;
ukkoihin = f ! 9 ;
a = last ukkoja ;
uko = init ukon ;
ukko = Predef.tk 2 ukkona ;
ukkoi = Predef.tk 2 ukkoina ;
ukoi = Predef.tk 3 ukoissa ;
in
{s = table {
NCase Sg Nom => Ukko ;
NCase Sg Gen => uko + "n" ;
NCase Sg Part => ukkoa ;
NCase Sg Transl => uko + "ksi" ;
NCase Sg Ess => ukkona ;
NCase Sg Iness => uko + ("ss" + a) ;
NCase Sg Elat => uko + ("st" + a) ;
NCase Sg Illat => ukkoon ;
NCase Sg Adess => uko + ("ll" + a) ;
NCase Sg Ablat => uko + ("lt" + a) ;
NCase Sg Allat => uko + "lle" ;
NCase Sg Abess => uko + ("tt" + a) ;
NCase Pl Nom => uko + "t" ;
NCase Pl Gen => ukkojen ;
NCase Pl Part => ukkoja ;
NCase Pl Transl => ukoi + "ksi" ;
NCase Pl Ess => ukkoina ;
NCase Pl Iness => ukoissa ;
NCase Pl Elat => ukoi + ("st" + a) ;
NCase Pl Illat => ukkoihin ;
NCase Pl Adess => ukoi + ("ll" + a) ;
NCase Pl Ablat => ukoi + ("lt" + a) ;
NCase Pl Allat => ukoi + "lle" ;
NCase Pl Abess => ukoi + ("tt" + a) ;
NComit => ukkoi + "ne" ;
NInstruct => ukoi + "n" ;
NPossNom _ => ukko ;
NPossGen Sg => ukko ;
NPossGen Pl => init ukkojen ;
NPossTransl Sg => uko + "kse" ;
NPossTransl Pl => ukoi + "kse" ;
NPossIllat Sg => init ukkoon ;
NPossIllat Pl => init ukkoihin
} ;
lock_N = <>
} ;
--- This is used to analyse nouns "rae", "hake", "rengas", "laidun", etc.
strongGrade : Str -> Str = \hanke ->
let
ha = Predef.tk 3 hanke ;
nke = Predef.dp 3 hanke ;
in
ha + case nke of {
"ng" + a => "nk" + a ;
"nn" + e => "nt" + e ;
"mm" + e => "mp" + e ;
"rr" + e => "rt" + e ;
"ll" + a => "lt" + a ;
h@("h" | "l") + "j" + e => h + "k" + e ; -- pohje/lahje impossible
("hk" | "sk" | "sp" | "st") + _ => nke ; -- viuhke,kuiske
a + k@("k" | "p" | "t") + e@("e"|"a"|"ä"|"u"|"i") => a + k + k + e ;
a + "d" + e@("e"|"a"|"ä"|"u"|"i") => a + "t" + e ;
s + a@("a" | "ä") + "e" => s + a + "ke" ; -- säe, tae
a + "v" + e@("e"|"a"|"ä"|"u"|"i") => a + "p" + e ; -- taive/toive imposs
ase => ase
} ;
part2casePl : Str -> Str * Str * Str * Str = \savia -> case savia of {
sav + "i" + a@("a" | "ä") =>
<sav + "ien", sav + "in" + a, sav + "iss" + a, sav + "iin"> ;
elio + "it" + a@("a" | "ä") =>
<elio + "iden", elio + "in" + a, elio + "iss" + a, elio + "ihin"> ;
maal + "ej" + a@("a" | "ä") =>
<maal + "ien", maal + "ein" + a, maal + "eiss" + a, maal + "eihin"> ;
talo + "j" + a@("a" | "ä") =>
<talo + "jen", talo + "in" + a, talo + "iss" + a, talo + "ihin"> ;
_ => Predef.error (["impossible plural partitive"] ++ savia)
} ;
}

View File

@@ -0,0 +1,100 @@
--# -path=.:alltenses
resource Verbal = ResFin **
open MorphoFin,Declensions,Conjugations,CatFin,Prelude in {
flags optimize=noexpand ;
oper
mkV = overload {
mkV : (huutaa : Str) -> V = mk1V ;
mkV : (huutaa,huusi : Str) -> V = mk2V ;
mkV : (
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V = mk12V ;
} ;
showV : V -> Utt = \v -> ss (
v.s ! Inf Inf1 ++
v.s ! Presn Sg P1 ++
v.s ! Presn Sg P3 ++
v.s ! Presn Pl P3 ++
v.s ! Imper Pl ++
v.s ! Pass True ++
v.s ! Impf Sg P1 ++
v.s ! Impf Sg P3 ++
v.s ! Condit Sg P3 ++
v.s ! PastPartAct (AN (NCase Sg Nom)) ++
v.s ! PastPartPass (AN (NCase Sg Nom))
) ** {lock_Utt = <>} ;
mk1V : Str -> V = \s -> vforms2V (vForms1 s) ;
mk2V : (_,_ : Str) -> V = \s,t -> vforms2V (vForms2 s t) ;
mk12V : (
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V =
\a,b,c,d,e,f,g,h,i,j,k,l ->
vforms2V (vForms12 a b c d e f g h i j k l) ;
vForms1 : Str -> VForms = \ottaa ->
let
a = last ottaa ;
otta = init ottaa ;
ott = init otta ;
ots = init ott + "s" ;
ota = weakGrade otta ;
otin = init (Declensions.strongGrade (init ott)) + "elin" ;
ot = init ota ;
in
case ottaa of {
_ + ("e" | "i" | "o" | "u" | "y" | "ö") + ("a" | "ä") =>
cHukkua ottaa (ota + "n") ;
_ + ("l" | "n" | "r") + ("taa" | "tää") =>
cOttaa ottaa (ota + "n") (ots + "in") (ots + "i") ;
("" | C_) + ("a" | "e" | "i" | "o" | "u") + C_ + _ +
("a" | "e" | "i" | "o" | "u") + _ + "aa" =>
cOttaa ottaa (ota + "n") (ot + "in") (ott + "i") ;
("" | C_) + ("a" | "e" | "i") + _ + "aa" =>
cOttaa ottaa (ota + "n") (ot + "oin") (ott + "oi") ;
_ + ("aa" | "ää") =>
cOttaa ottaa (ota + "n") (ot + "in") (ott + "i") ;
_ + ("ella" | "ellä") =>
cKuunnella ottaa otin ;
_ + ("osta" | "östä") =>
cJuosta ottaa (init ott + "ksen") ;
_ + ("st" | "nn" | "ll" | "rr") + ("a" | "ä") =>
cJuosta ottaa (ott + "en") ;
_ + ("ita" | "itä") =>
cHarkita ottaa ;
_ + ("eta" | "etä" | "ota" | "ata" | "uta" | "ytä" | "ätä" | "ötä") =>
cPudota ottaa (Declensions.strongGrade ott + "si") ;
_ + ("da" | "dä") =>
cJuoda ottaa ;
_ => Predef.error (["expected infinitive, found"] ++ ottaa)
} ;
vForms2 : (_,_ : Str) -> VForms = \huutaa,huusi ->
let
huuda = weakGrade (init huutaa) ;
huusin = weakGrade huusi + "n" ;
autoin = weakGrade (init huusi) + "in" ;
in
case <huutaa,huusi> of {
<_ + ("taa" | "tää"), _ + ("oi" | "öi")> =>
cOttaa huutaa (huuda + "n") autoin huusi ;
<_ + ("aa" | "ää"), _ + "i"> =>
cOttaa huutaa (huuda + "n") huusin huusi ;
<_ + ("eta" | "etä"), _ + "eni"> =>
cValjeta huutaa huusi ;
<_ + ("sta" | "stä"), _ + "si"> =>
vForms1 huutaa ; -- pestä, halkaista
<_ + ("ta" | "tä"), _ + "si"> =>
cPudota huutaa huusi ;
<_ + ("lla" | "llä"), _ + "li"> =>
cKuunnella huutaa huusin ;
_ => vForms1 huutaa
} ;
}

View File

@@ -0,0 +1,110 @@
Aino
tunti
äiti
tähti
puhelin
kuuloke
numero
kulta
hame
helma
hetki
paikka
Nyytti
ompelu+työ
peli+lauta
rosvo
jalo+kivi
villi+eläin
langas
tukka
kirja
alku
loppu
syy
kiire
ilta
ystävä
teatteri
ravintola
suuttumus
käsi+laukku
pussi
väri+puikko
rasia
päällys+takki
kielto
käsi
isä
Veikka
itku
juhla+hetki
ihminen
elämä
viikko
Oula
syntymäpäivä+kutsu
intiaanisyntymäpäivä+juhla
hiipivä
sulka
päivä
valmistelu
lahja+paketti
onnittelu+kortti
Misu-kissa
kuva
häntä
intiaani+päähine
kuun+säde
vilkku+valo
kello
viisari
tervetulo+toivotus
kemu
spagetti+kesti
maailma
kastike
jälki+ruoka
ateria
kierros
lupa
vuode
sänky
aamu
hius+pehko
tyyny
tyttö
luistin
jää+prinsessa
luistin+rata
perhonen
ote
jää
jalka
kerta
harjoittelu
asia
mieli
puuha
naapuri
Sanna
koulu
tehtävä
rehtori
viitta
hyppy
taivutus
opettaja
saavutus
pelle
seinä
talvi+sää
Aino-+parka
lapsi
talitiainen
kevät
-- Kristiina Louhi, Aino tahtoo mukaan (Tammi 1988);
-- Aino ja tuhmat luistimet (Tammi 1987)

View File

@@ -0,0 +1,45 @@
1. write a word list - one noun per line, save in file correct-Foo.txt
2. create a first compilable grammar:
% runghc MkLex.hs 0 Foo >FooAbs.gf
% runghc MkLex.hs 1 Foo >Foo1.gf
3. compile this and create a first full-form word list
% gf Foo1.gf
> gt -cat=Utt | l | wf correct-Foo.txt
4. manually correct some singular genitive forms (the largest error source)
uutuus uutuuksen ... => uutuus uutuuden ...
5. create a second compilable grammar:
% runghc MkLex.hs 2 Foo >Foo2.gf
6. compile this into a second full-form word list
% gf Foo2.gf
> gt -cat=Utt | l | wf correct-Foo.txt
7. manually correct the remaining partitive forms (mostly plural)
8. create yet another grammar:
% runghc MkLex.hs 4 Foo >Foo4.gf
9. compile this into yet another full-form word list
% gf Foo4.gf
> gt -cat=Utt | l | wf correct-Foo.txt
10. manually correct any remaining errors (which should be rare now)
11. if relevant, run a test of the regularity of the vocabulary:
% export LEX=Foo ; make -e

View File

@@ -0,0 +1,198 @@
Aino Ainon Ainoa Ainona Ainoon Ainojen Ainoja Ainoina Ainoissa Ainoihin
tunti tunnin tuntia tuntina tuntiin tuntien tunteja tunteina tunneissa tunteihin
äiti äidin äitiä äitinä äitiin äitien äitejä äiteinä äideissä äiteihin
tähti tähden tähteä tähtenä tähteen tähtien tähtiä tähtinä tähdissä tähtiin
puhelin puhelimen puhelinta puhelimena puhelimeen puhelimien puhelimia puhelimina puhelimissa puhelimiin
kuuloke kuulokkeen kuuloketta kuulokkeena kuulokkeeseen kuulokkeiden kuulokkeita kuulokkeina kuulokkeissa kuulokkeisiin
numero numeron numeroa numerona numeroon numerojen numeroja numeroina numeroissa numeroihin
kulta kullan kultaa kultana kultaan kultien kultia kultina kullissa kultiin
hame hameen hametta hameena hameeseen hameiden hameita hameina hameissa hameisiin
pelle pellen pelleä pellenä pelleen pellien pellejä pelleinä pelleissä pelleihin
seinä seinän seinää seinänä seinään seinien seiniä seininä seinissä seiniin
helma helman helmaa helmana helmaan helmojen helmoja helmoina helmoissa helmoihin
paikka paikan paikkaa paikkana paikkaan paikkojen paikkoja paikkoina paikoissa paikkoihin
Nyytti Nyytin Nyyttiä Nyyttinä Nyyttiin Nyyttien Nyyttejä Nyytteinä Nyyteissä Nyytteihin
työ työn työtä työnä työhön töiden töitä töinä töissä töihin
lauta laudan lautaa lautana lautaan lautojen lautoja lautoina laudoissa lautoihin
rosvo rosvon rosvoa rosvona rosvoon rosvojen rosvoja rosvoina rosvoissa rosvoihin
kivi kiven kiveä kivenä kiveen kivien kiviä kivinä kivissä kiviin
eläin eläimen eläintä eläimenä eläimeen eläimien/eläinten eläimiä eläiminä eläimissä eläimiin
kangas kankaan kangasta kankaana kankaaseen kankaiden kankaita kankaina kankaissa kankaisiin
tukka tukan tukkaa tukkana tukkaan tukkien tukkia tukkina tukissa tukkiin
kirja kirjan kirjaa kirjana kirjaan kirjojen kirjoja kirjoina kirjoissa kirjoihin
alku alun alkua alkuna alkuun alkujen alkuja alkuina aluissa alkuihin
loppu lopun loppua loppuna loppuun loppujen loppuja loppuina lopuissa loppuihin
syy syyn syytä syynä syyhyn syiden syitä syinä syissä syihin
kiire kiireen kiirettä kiireenä kiireeseen kiireiden kiireitä kiireinä kiireissä kiireisiin
ilta illan iltaa iltana iltaan iltojen iltoja iltoina illoissa iltoihin
ystävä ystävän ystävää ystävänä ystävään ystävien ystäviä ystävinä ystävissä ystäviin
teatteri teatterin teatteria teatterina teatteriin teatterien teattereja teattereina teattereissa teattereihin
ravintola ravintolan ravintolaa ravintolana ravintolaan ravintoloiden ravintoloita ravintoloina ravintoloissa ravintoloihin
suuttumus suuttumuksen suuttumusta suuttumuksena suuttumukseen suuttumusten suuttumuksia suuttumuksina suuttumuksissa suuttumuksiin
laukku laukun laukkua laukkuna laukkuun laukkujen laukkuja laukkuina laukuissa laukkuihin
pussi pussin pussia pussina pussiin pussien pusseja pusseina pusseissa pusseihin
puikko puikon puikkoa puikkona puikkoon puikkojen puikkoja puikkoina puikoissa puikkoihin
rasia rasian rasiaa rasiana rasiaan rasioiden rasioita rasioina rasioissa rasioihin
takki takin takkia takkina takkiin takkien takkeja takkeina takeissa takkeihin
kielto kiellon kieltoa kieltona kieltoon kieltojen kieltoja kieltoina kielloissa kieltoihin
käsi käden kättä kätenä käteen käsien käsiä käsinä käsissä käsiin
isä isän isää isänä isään isien isiä isinä isissä isiin
Veikka Veikan Veikkaa Veikkana Veikkaan Veikkojen Veikkoja Veikkoina Veikoissa Veikkoihin
itku itkun itkua itkuna itkuun itkujen itkuja itkuina itkuissa itkuihin
hetki hetken hetkeä hetkenä hetkeen hetkien hetkiä hetkinä hetkissä hetkiin
ihminen ihmisen ihmistä ihmisenä ihmiseen ihmisten ihmisiä ihmisinä ihmisissä ihmisiin
elämä elämän elämää elämänä elämään elämien elämiä eläminä elämissä elämiin
viikko viikon viikkoa viikkona viikkoon viikkojen viikkoja viikkoina viikoissa viikkoihin
Oula Oulan Oulaa Oulana Oulaan Oulien Oulia Oulina Oulissa Ouliin
kutsu kutsun kutsua kutsuna kutsuun kutsujen kutsuja kutsuina kutsuissa kutsuihin
juhla juhlan juhlaa juhlana juhlaan juhlien juhlia juhlina juhlissa juhliin
hiipivä hiipivän hiipivää hiipivänä hiipivään hiipivien hiipiviä hiipivinä hiipivissä hiipiviin
sulka sulan sulkaa sulkana sulkaan sulkien sulkia sulkina sulissa sulkiin
päivä päivän päivää päivänä päivään päivien päiviä päivinä päivissä päiviin
valmistelu valmistelun valmistelua valmisteluna valmisteluun valmistelujen valmisteluja valmisteluina valmisteluissa valmisteluihin
paketti paketin pakettia pakettina pakettiin pakettien paketteja paketteina paketeissa paketteihin
kortti kortin korttia korttina korttiin korttien kortteja kortteina korteissa kortteihin
kissa kissan kissaa kissana kissaan kissojen kissoja kissoina kissoissa kissoihin
kuva kuvan kuvaa kuvana kuvaan kuvien kuvia kuvina kuvissa kuviin
häntä hännän häntää häntänä häntään häntien häntiä häntinä hännissä häntiin
päähine päähineen päähinettä päähineenä päähineeseen päähineiden päähineitä päähineinä päähineissä päähineisiin
säde säteen sädettä säteenä säteeseen säteiden säteitä säteinä säteissä säteisiin
valo valon valoa valona valoon valojen valoja valoina valoissa valoihin
kello kellon kelloa kellona kelloon kellojen kelloja kelloina kelloissa kelloihin
viisari viisarin viisaria viisarina viisariin viisarien viisareja viisareina viisareissa viisareihin
toivotus toivotuksen toivotusta toivotuksena toivotukseen toivotusten toivotuksia toivotuksina toivotuksissa toivotuksiin
kemu kemun kemua kemuna kemuun kemujen kemuja kemuina kemuissa kemuihin
kesti kestin kestiä kestinä kestiin kestien kestejä kesteinä kesteissä kesteihin
maailma maailman maailmaa maailmana maailmaan maailmojen maailmoja maailmoina maailmoissa maailmoihin
kastike kastikkeen kastiketta kastikkeena kastikkeeseen kastikkeiden kastikkeita kastikkeina kastikkeissa kastikkeisiin
ruoka ruoan ruokaa ruokana ruokaan ruokien ruokia ruokina ruoissa ruokiin
ateria aterian ateriaa ateriana ateriaan aterioiden aterioita aterioina aterioissa aterioihin
kierros kierroksen kierrosta kierroksena kierrokseen kierrosten kierroksia kierroksina kierroksissa kierroksiin
lupa luvan lupaa lupana lupaan lupien lupia lupina luvissa lupiin
vuode vuoteen vuodetta vuoteena vuoteeseen vuoteiden vuoteita vuoteina vuoteissa vuoteisiin
sänky sängyn sänkyä sänkynä sänkyyn sänkyjen sänkyjä sänkyinä sängyissä sänkyihin
aamu aamun aamua aamuna aamuun aamujen aamuja aamuina aamuissa aamuihin
pehko pehkon pehkoa pehkona pehkoon pehkojen pehkoja pehkoina pehkoissa pehkoihin
tyyny tyynyn tyynyä tyynynä tyynyyn tyynyjen tyynyjä tyynyinä tyynyissä tyynyihin
tyttö tytön tyttöä tyttönä tyttöön tyttöjen tyttöjä tyttöinä tytöissä tyttöihin
luistin luistimen luistinta luistimena luistimeen luistimien luistimia luistimina luistimissa luistimiin
prinsessa prinsessan prinsessaa prinsessana prinsessaan prinsessojen prinsessoja prinsessoina prinsessoissa prinsessoihin
rata radan rataa ratana rataan ratojen ratoja ratoina radoissa ratoihin
perhonen perhosen perhosta perhosena perhoseen perhosten perhosia perhosina perhosissa perhosiin
ote otteen otetta otteena otteeseen otteiden otteita otteina otteissa otteisiin
jää jään jäätä jäänä jäähän jäiden jäitä jäinä jäissä jäihin
jalka jalan jalkaa jalkana jalkaan jalkojen jalkoja jalkoina jaloissa jalkoihin
kerta kerran kertaa kertana kertaan kertojen kertoja kertoina kerroissa kertoihin
harjoittelu harjoittelun harjoittelua harjoitteluna harjoitteluun harjoittelujen harjoitteluja harjoitteluina harjoitteluissa harjoitteluihin
asia asian asiaa asiana asiaan asioiden asioita asioina asioissa asioihin
mieli mielen mieltä mielenä mieleen mielien/mielten mieliä mielinä mielissä mieliin
puuha puuhan puuhaa puuhana puuhaan puuhien puuhia puuhina puuhissa puuhiin
naapuri naapurin naapuria naapurina naapuriin naapurien naapureja naapureina naapureissa naapureihin
Sanna Sannan Sannaa Sannana Sannaan Sannojen Sannoja Sannoina Sannoissa Sannoihin
koulu koulun koulua kouluna kouluun koulujen kouluja kouluina kouluissa kouluihin
tehtävä tehtävän tehtävää tehtävänä tehtävään tehtävien tehtäviä tehtävinä tehtävissä tehtäviin
rehtori rehtorin rehtoria rehtorina rehtoriin rehtoreiden rehtoreita rehtoreina rehtoreissa rehtoreihin
viitta viitan viittaa viittana viittaan viittojen viittoja viittoina viitoissa viittoihin
hyppy hypyn hyppyä hyppynä hyppyyn hyppyjen hyppyjä hyppyinä hypyissä hyppyihin
taivutus taivutuksen taivutusta taivutuksena taivutukseen taivutusten taivutuksia taivutuksina taivutuksissa taivutuksiin
opettaja opettajan opettajaa opettajana opettajaan opettajien opettajia opettajina opettajissa opettajiin
saavutus saavutuksen saavutusta saavutuksena saavutukseen saavutusten saavutuksia saavutuksina saavutuksissa saavutuksiin

View File

@@ -0,0 +1,198 @@
aikomus aikomuksen aikomusta aikomuksena aikomukseen aikomusten aikomuksia aikomuksina aikomuksissa aikomuksiin
alhaiso alhaison alhaisoa alhaisona alhaisoon alhaisojen alhaisoja alhaisoina alhaisoissa alhaisoihin
antaja antajan antajaa antajana antajaan antajien antajia antajina antajissa antajiin
asetus asetuksen asetusta asetuksena asetukseen asetusten asetuksia asetuksina asetuksissa asetuksiin
anto annon antoa antona antoon antojen antoja antoina annoissa antoihin
eboniitti eboniitin eboniittia eboniittina eboniittiin eboniittien eboniitteja eboniitteina eboniiteissa eboniitteihin
eläke eläkkeen eläkettä eläkkeenä eläkkeeseen eläkkeiden eläkkeitä eläkkeinä eläkkeissä eläkkeisiin
itsekkyys itsekkyyden itsekkyyttä itsekkyytenä itsekkyyteen itsekkyyksien itsekkyyksiä itsekkyyksinä itsekkyyksissä itsekkyyksiin
esitelmä esitelmän esitelmää esitelmänä esitelmään esitelmien esitelmiä esitelminä esitelmissä esitelmiin
fagotti fagotin fagottia fagottina fagottiin fagottien fagotteja fagotteina fagoteissa fagotteihin
halailu halailun halailua halailuna halailuun halailujen halailuja halailuina halailuissa halailuihin
hirsi hirren hirttä hirtenä hirteen hirsien hirsiä hirsinä hirsissä hirsiin
mielisyys mielisyyden mielisyyttä mielisyytenä mielisyyteen mielisyyksien mielisyyksiä mielisyyksinä mielisyyksissä mielisyyksiin
hihitys hihityksen hihitystä hihityksenä hihitykseen hihitysten hihityksiä hihityksinä hihityksissä hihityksiin
mylly myllyn myllyä myllynä myllyyn myllyjen myllyjä myllyinä myllyissä myllyihin
huuli huulen huulta huulena huuleen huulien huulia huulina huulissa huuliin
härkä härän härkää härkänä härkään härkien härkiä härkinä härissä härkiin
ikävystyminen ikävystymisen ikävystymistä ikävystymisenä ikävystymiseen ikävystymisten ikävystymisiä ikävystymisinä ikävystymisissä ikävystymisiin
innokkuus innokkuuden innokkuutta innokkuutena innokkuuteen innokkuuksien innokkuuksia innokkuuksina innokkuuksissa innokkuuksiin
aika ajan aikaa aikana aikaan aikojen aikoja aikoina ajoissa aikoihin
jupakka jupakan jupakkaa jupakkana jupakkaan jupakoiden jupakoita jupakkoina jupakoissa jupakkoihin
jäykiste jäykisteen jäykistettä jäykisteenä jäykisteeseen jäykisteiden jäykisteitä jäykisteinä jäykisteissä jäykisteisiin
moottori moottorin moottoria moottorina moottoriin moottoreiden moottoreita moottoreina moottoreissa moottoreihin
kansleri kanslerin kansleria kanslerina kansleriin kanslereiden kanslereita kanslereina kanslereissa kanslereihin
kaukalo kaukalon kaukaloa kaukalona kaukaloon kaukalojen kaukaloja kaukaloina kaukaloissa kaukaloihin
avain avaimen avainta avaimena avaimeen avaimien avaimia avaimina avaimissa avaimiin
kierre kierteen kierrettä kierteenä kierteeseen kierteiden kierteitä kierteinä kierteissä kierteisiin
kipinä kipinän kipinää kipinänä kipinään kipinöiden kipinöitä kipinöinä kipinöissä kipinöihin
kokkare kokkareen kokkaretta kokkareena kokkareeseen kokkareiden kokkareita kokkareina kokkareissa kokkareisiin
korjuu korjuun korjuuta korjuuna korjuuhun korjuiden korjuita korjuina korjuissa korjuihin
kukinta kukinnan kukintaa kukintana kukintaan kukintojen kukintoja kukintoina kukinnoissa kukintoihin
kuntoisuus kuntoisuuden kuntoisuutta kuntoisuutena kuntoisuuteen kuntoisuuksien kuntoisuuksia kuntoisuuksina kuntoisuuksissa kuntoisuuksiin
kyllästymys kyllästymyksen kyllästymystä kyllästymyksenä kyllästymykseen kyllästymysten kyllästymyksiä kyllästymyksinä kyllästymyksissä kyllästymyksiin
käsitys käsityksen käsitystä käsityksenä käsitykseen käsitysten käsityksiä käsityksinä käsityksissä käsityksiin
laina lainan lainaa lainana lainaan lainojen lainoja lainoina lainoissa lainoihin
lasku laskun laskua laskuna laskuun laskujen laskuja laskuina laskuissa laskuihin
toiminta toiminnan toimintaa toimintana toimintaan toimintojen toimintoja toimintoina toiminnoissa toimintoihin
liuos liuoksen liuosta liuoksena liuokseen liuosten liuoksia liuoksina liuoksissa liuoksiin
luoti luodin luotia luotina luotiin luotien luoteja luoteina luodeissa luoteihin
kaappi kaapin kaappia kaappina kaappiin kaappien kaappeja kaappeina kaapeissa kaappeihin
maksaja maksajan maksajaa maksajana maksajaan maksajien maksajia maksajina maksajissa maksajiin
menestyksellisyys menestyksellisyyden menestyksellisyyttä menestyksellisyytenä menestyksellisyyteen menestyksellisyyksien menestyksellisyyksiä menestyksellisyyksinä menestyksellisyyksissä menestyksellisyyksiin
mitta mitan mittaa mittana mittaan mittojen mittoja mittoina mitoissa mittoihin
muodostuma muodostuman muodostumaa muodostumana muodostumaan muodostumien muodostumia muodostumina muodostumissa muodostumiin
naakka naakan naakkaa naakkana naakkaan naakkojen naakkoja naakkoina naakoissa naakkoihin
niisi niiden niittä niitenä niiteen niisien niisiä niisinä niisissä niisiin
nähtävyys nähtävyyden nähtävyyttä nähtävyytenä nähtävyyteen nähtävyyksien nähtävyyksiä nähtävyyksinä nähtävyyksissä nähtävyyksiin
ohitus ohituksen ohitusta ohituksena ohitukseen ohitusten ohituksia ohituksina ohituksissa ohituksiin
matka matkan matkaa matkana matkaan matkojen matkoja matkoina matkoissa matkoihin
paahde paahteen paahdetta paahteena paahteeseen paahteiden paahteita paahteina paahteissa paahteisiin
vakuutus vakuutuksen vakuutusta vakuutuksena vakuutukseen vakuutusten vakuutuksia vakuutuksina vakuutuksissa vakuutuksiin
luukku luukun luukkua luukkuna luukkuun luukkujen luukkuja luukkuina luukuissa luukkuihin
peukku peukun peukkua peukkuna peukkuun peukkujen peukkuja peukkuina peukuissa peukkuihin
pingotus pingotuksen pingotusta pingotuksena pingotukseen pingotusten pingotuksia pingotuksina pingotuksissa pingotuksiin
reikä reiän reikää reikänä reikään reikien reikiä reikinä reiissä reikiin
puhuja puhujan puhujaa puhujana puhujaan puhujien puhujia puhujina puhujissa puhujiin
oppilas oppilaan oppilasta oppilaana oppilaaseen oppilaiden oppilaita oppilaina oppilaissa oppilaisiin
päitsi päitsen päistä päitsenä päitseen päitsien päitsiä päitsinä päitsissä päitsiin
raadanta raadannan raadantaa raadantana raadantaan raadantojen raadantoja raadantoina raadannoissa raadantoihin
rakentaja rakentajan rakentajaa rakentajana rakentajaan rakentajien rakentajia rakentajina rakentajissa rakentajiin
rettelöitsijä rettelöitsijän rettelöitsijää rettelöitsijänä rettelöitsijään rettelöitsijöiden rettelöitsijöitä rettelöitsijöinä rettelöitsijöissä rettelöitsijöihin
kuulustelu kuulustelun kuulustelua kuulusteluna kuulusteluun kuulustelujen kuulusteluja kuulusteluina kuulusteluissa kuulusteluihin
ryppy rypyn ryppyä ryppynä ryppyyn ryppyjen ryppyjä ryppyinä rypyissä ryppyihin
saavutus saavutuksen saavutusta saavutuksena saavutukseen saavutusten saavutuksia saavutuksina saavutuksissa saavutuksiin
kieli kielen kieltä kielenä kieleen kielien kieliä kielinä kielissä kieliin
sauna saunan saunaa saunana saunaan saunojen saunoja saunoina saunoissa saunoihin
kärsimys kärsimyksen kärsimystä kärsimyksenä kärsimykseen kärsimysten kärsimyksiä kärsimyksinä kärsimyksissä kärsimyksiin
sisälmys sisälmyksen sisälmystä sisälmyksenä sisälmykseen sisälmysten sisälmyksiä sisälmyksinä sisälmyksissä sisälmyksiin
demokraatti demokraatin demokraattia demokraattina demokraattiin demokraattien demokraatteja demokraatteina demokraateissa demokraatteihin
suku suvun sukua sukuna sukuun sukujen sukuja sukuina suvuissa sukuihin
osoitin osoittimen osoitinta osoittimena osoittimeen osoittimien osoittimia osoittimina osoittimissa osoittimiin
askel askelen askelta askelena askeleen askelten askelia askelina askelissa askeliin
säätö säädön säätöä säätönä säätöön säätöjen säätöjä säätöinä säädöissä säätöihin
taitamattomuus taitamattomuuden taitamattomuutta taitamattomuutena taitamattomuuteen taitamattomuuksien taitamattomuuksia taitamattomuuksina taitamattomuuksissa taitamattomuuksiin
kirjoitus kirjoituksen kirjoitusta kirjoituksena kirjoitukseen kirjoitusten kirjoituksia kirjoituksina kirjoituksissa kirjoituksiin
tavaus tavauksen tavausta tavauksena tavaukseen tavausten tavauksia tavauksina tavauksissa tavauksiin
tieteellisyys tieteellisyyden tieteellisyyttä tieteellisyytenä tieteellisyyteen tieteellisyyksien tieteellisyyksiä tieteellisyyksinä tieteellisyyksissä tieteellisyyksiin
todistaja todistajan todistajaa todistajana todistajaan todistajien todistajia todistajina todistajissa todistajiin
taituri taiturin taituria taiturina taituriin taitureiden taitureita taitureina taitureissa taitureihin
tunkio tunkion tunkiota tunkiona tunkioon tunkioiden tunkioita tunkioina tunkioissa tunkioihin
ajo ajon ajoa ajona ajoon ajojen ajoja ajoina ajoissa ajoihin
tähde tähteen tähdettä tähteenä tähteeseen tähteiden tähteitä tähteinä tähteissä tähteisiin
kielto kiellon kieltoa kieltona kieltoon kieltojen kieltoja kieltoina kielloissa kieltoihin
syntyminen syntymisen syntymistä syntymisenä syntymiseen syntymisten syntymisiä syntymisinä syntymisissä syntymisiin
vaikku vaikun vaikkua vaikkuna vaikkuun vaikkujen vaikkuja vaikkuina vaikuissa vaikkuihin
valkama valkaman valkamaa valkamana valkamaan valkamojen valkamoja valkamoina valkamoissa valkamoihin
tuomari tuomarin tuomaria tuomarina tuomariin tuomareiden tuomareita tuomareina tuomareissa tuomareihin
syytös syytöksen syytöstä syytöksenä syytökseen syytösten syytöksiä syytöksinä syytöksissä syytöksiin
pöhö pöhön pöhöä pöhönä pöhöön pöhöjen pöhöjä pöhöinä pöhöissä pöhöihin
katsaus katsauksen katsausta katsauksena katsaukseen katsausten katsauksia katsauksina katsauksissa katsauksiin
virvoke virvokkeen virvoketta virvokkeena virvokkeeseen virvokkeiden virvokkeita virvokkeina virvokkeissa virvokkeisiin
luku luvun lukua lukuna lukuun lukujen lukuja lukuina luvuissa lukuihin
vääryys vääryyden vääryyttä vääryytenä vääryyteen vääryyksien vääryyksiä vääryyksinä vääryyksissä vääryyksiin
avioisuus avioisuuden avioisuutta avioisuutena avioisuuteen avioisuuksien avioisuuksia avioisuuksina avioisuuksissa avioisuuksiin
yritys yrityksen yritystä yrityksenä yritykseen yritysten yrityksiä yrityksinä yrityksissä yrityksiin
öljy öljyn öljyä öljynä öljyyn öljyjen öljyjä öljyinä öljyissä öljyihin
järjestys järjestyksen järjestystä järjestyksenä järjestykseen järjestysten järjestyksiä järjestyksinä järjestyksissä järjestyksiin
ajatelma ajatelman ajatelmaa ajatelmana ajatelmaan ajatelmien ajatelmia ajatelmina ajatelmissa ajatelmiin
alkemia alkemian alkemiaa alkemiana alkemiaan alkemioiden alkemioita alkemioina alkemioissa alkemioihin

View File

@@ -0,0 +1,198 @@
potilas potilaan potilasta potilaana potilaaseen potilaiden potilaita potilaina potilaissa potilaisiin
äiti äidin äitiä äitinä äitiin äitien äitejä äiteinä äideissä äiteihin
tytär tyttären tytärtä tyttärenä tyttäreen tytärten tyttäriä tyttärinä tyttärissä tyttäriin
vuoto vuodon vuotoa vuotona vuotoon vuotojen vuotoja vuotoina vuodoissa vuotoihin
syöpä syövän syöpää syöpänä syöpään syöpien syöpiä syöpinä syövissä syöpiin
sarja sarjan sarjaa sarjana sarjaan sarjojen sarjoja sarjoina sarjoissa sarjoihin
poisto poiston poistoa poistona poistoon poistojen poistoja poistoina poistoissa poistoihin
endometrioosi endometrioosin endometrioosia endometrioosina endometrioosiin endometrioosien endometriooseja endometriooseina endometriooseissa endometriooseihin
suoli suolen suolta suolena suoleen suolten/suolien suolia suolina suolissa suoliin
autosomi autosomin autosomia autosomina autosomiin autosomien autosomeja autosomeina autosomeissa autosomeihin
inkontinenssi inkontinenssin inkontinenssia inkontinenssina inkontinenssiin inkontinenssien inkontinensseja inkontinensseina inkontinensseissa inkontinensseihin
alku alun alkua alkuna alkuun alkujen alkuja alkuina aluissa alkuihin
tutkimus tutkimuksen tutkimusta tutkimuksena tutkimukseen tutkimusten tutkimuksia tutkimuksina tutkimuksissa tutkimuksiin
tulos tuloksen tulosta tuloksena tulokseen tulosten tuloksia tuloksina tuloksissa tuloksiin
Basedow Basedowin Basedowia Basedowina Basedowiin Basedowien Basedoweja Basedoweina Basedoweissa Basedoweihin
tauti taudin tautia tautina tautiin tautien tauteja tauteina taudeissa tauteihin
hypertyreoosi hypertyreoosin hypertyreoosia hypertyreoosina hypertyreoosiin hypertyreoosien hypertyreooseja hypertyreooseina hypertyreooseissa hypertyreooseihin
hoito hoidon hoitoa hoitona hoitoon hoitojen hoitoja hoitoina hoidoissa hoitoihin
oire oireen oiretta oireena oireeseen oireiden oireita oireina oireissa oireisiin
HYKS HYKS:n HYKS:ä HYKS:nä HYKS:ään HYKS:ien HYKS:iä HYKS:inä HYKS:issä HYKS:iin
endokrinologia endokrinologian endokrinologiaa endokrinologiana endokrinologiaan endokrinologioiden endokrinologioita endokrinologioina endokrinologioissa endokrinologioihin
poliklinikka poliklinikan poliklinikkaa poliklinikkana poliklinikkaan poliklinikoiden poliklinikoita poliklinikkoina poliklinikoissa poliklinikkoihin
kompressio kompression kompressiota kompressiona kompressioon kompressioiden kompressioita kompressioina kompressioissa kompressioihin
leikkaus leikkauksen leikkausta leikkauksena leikkaukseen leikkausten leikkauksia leikkauksina leikkauksissa leikkauksiin
kortisoni kortisonin kortisonia kortisonina kortisoniin kortisonien kortisoneja kortisoneina kortisoneissa kortisoneihin
hyperkalsemia hyperkalsemian hyperkalsemiaa hyperkalsemiana hyperkalsemiaan hyperkalsemioiden hyperkalsemioita hyperkalsemioina hyperkalsemioissa hyperkalsemioihin
seerumi seerumin seerumia seerumina seerumiin seerumien seerumeja seerumeina seerumeissa seerumeihin
pitoisuus pitoisuuden pitoisuutta pitoisuutena pitoisuuteen pitoisuuksien pitoisuuksia pitoisuuksina pitoisuuksissa pitoisuuksiin
viitealue viitealueen viitealuetta viitealueena viitealueeseen viitealueiden viitealueita viitealueina viitealueissa viitealueisiin
kevät kevään kevättä keväänä kevääseen keväiden keväitä keväinä keväissä keväihin/keväisiin
itä idän itää itänä itään itien itiä itinä idissä itiin
kausi kauden kautta kautena kauteen kausien kausia kausina kausissa kausiin
luku luvun lukua lukuna lukuun lukujen lukuja lukuina luvuissa lukuihin
arvo arvon arvoa arvona arvoon arvojen arvoja arvoina arvoissa arvoihin
osa osan osaa osana osaan osien osia osina osissa osiin
sarkoidoosi sarkoidoosin sarkoidoosia sarkoidoosina sarkoidoosiin sarkoidoosien sarkoidooseja sarkoidooseina sarkoidooseissa sarkoidooseihin
kuvaus kuvauksen kuvausta kuvauksena kuvaukseen kuvausten kuvauksia kuvauksina kuvauksissa kuvauksiin
ACE ACE:n ACE:tä ACE:nä ACE:hen ACE:iden ACE:itä ACE:inä ACE:issä ACE:ihin
vaihe vaiheen vaihetta vaiheena vaiheeseen vaiheiden vaiheita vaiheina vaiheissa vaiheisiin
aktiivisuus aktiivisuuden aktiivisuutta aktiivisuutena aktiivisuuteen aktiivisuuksien aktiivisuuksia aktiivisuuksina aktiivisuuksissa aktiivisuuksiin
hormoni hormonin hormonia hormonina hormoniin hormonien hormoneja hormoneina hormoneissa hormoneihin
seuranta seurannan seurantaa seurantana seurantaan seurantojen seurantoja seurantoina seurannoissa seurantoihin
kontrolli kontrollin kontrollia kontrollina kontrolliin kontrollien kontrolleja kontrolleina kontrolleissa kontrolleihin
tuntuma tuntuman tuntumaa tuntumana tuntumaan tuntumien tuntumia tuntumina tuntumissa tuntumiin
laboratorio laboratorion laboratoriota laboratoriona laboratorioon laboratorioiden laboratorioita laboratorioina laboratorioissa laboratorioihin
virhe virheen virhettä virheenä virheeseen virheiden virheitä virheinä virheissä virheisiin
epäily epäilyn epäilyä epäilynä epäilyyn epäilyjen epäilyjä epäilyinä epäilyissä epäilyihin
rauhanen rauhasen rauhasta rauhasena rauhaseen rauhasten rauhasia rauhasina rauhasissa rauhasiin
paratyreoidea paratyreoidean paratyreoideaa paratyreoideana paratyreoideaan paratyreoideoiden paratyreoideoita paratyreoideoina paratyreoideoissa paratyreoideoihin
näyte näytteen näytettä näytteenä näytteeseen näytteiden näytteitä näytteinä näytteissä näytteisiin
löydös löydöksen löydöstä löydöksenä löydökseen löydösten löydöksiä löydöksinä löydöksissä löydöksiin
hyperplasia hyperplasian hyperplasiaa hyperplasiana hyperplasiaan hyperplasioiden hyperplasioita hyperplasioina hyperplasioissa hyperplasioihin
lääkitys lääkityksen lääkitystä lääkityksenä lääkitykseen lääkitysten lääkityksiä lääkityksinä lääkityksissä lääkityksiin
tyroksiini tyroksiinin tyroksiinia tyroksiinina tyroksiiniin tyroksiinien tyroksiineja tyroksiineina tyroksiineissa tyroksiineihin
valeraatti valeraatin valeraattia valeraattina valeraattiin valeraattien valeraatteja valeraatteina valeraateissa valeraatteihin
koe kokeen koetta kokeena kokeeseen kokeiden kokeita kokeina kokeissa kokeisiin
veri veren verta verenä vereen verten/verien veriä verinä verissä veriin
kalsium kalsiumin kalsiumia kalsiumina kalsiumiin kalsiumien kalsiumeja kalsiumeina kalsiumeissa kalsiumeihin
virtsa virtsan virtsaa virtsana virtsaan virtsojen virtsoja virtsoina virtsoissa virtsoihin
määrä määrän määrää määränä määrään määrien määriä määrinä määrissä määriin
PTH PTH:n PTH:ta PTH:na PTH:hon PTH:iden PTH:ita PTH:ina PTH:issa PTH:ihin
tiheys tiheyden tiheyttä tiheytenä tiheyteen tiheyksien tiheyksiä tiheyksinä tiheyksissä tiheyksiin
tulehdus tulehduksen tulehdusta tulehduksena tulehdukseen tulehdusten tulehduksia tulehduksina tulehduksissa tulehduksiin
pilleri pillerin pilleriä pillerinä pilleriin pillereiden pillereitä pillereinä pillereissä pillereihin
tuote tuotteen tuotetta tuotteena tuotteeseen tuotteiden tuotteita tuotteina tuotteissa tuotteisiin
valmiste valmisteen valmistetta valmisteena valmisteeseen valmisteiden valmisteita valmisteina valmisteissa valmisteisiin
diagnoosi diagnoosin diagnoosia diagnoosina diagnoosiin diagnoosien diagnooseja diagnooseina diagnooseissa diagnooseihin
väsymys väsymyksen väsymystä väsymyksenä väsymykseen väsymysten väsymyksiä väsymyksinä väsymyksissä väsymyksiin
poikkeavuus poikkeavuuden poikkeavuutta poikkeavuutena poikkeavuuteen poikkeavuuksien poikkeavuuksia poikkeavuuksina poikkeavuuksissa poikkeavuuksiin
vaihdunta vaihdunnan vaihduntaa vaihduntana vaihduntaan vaihduntojen vaihduntoja vaihduntoina vaihdunnoissa vaihduntoihin
häiriö häiriön häiriötä häiriönä häiriöön häiriöiden häiriöitä häiriöinä häiriöissä häiriöihin
piirre piirteen piirrettä piirteenä piirteeseen piirteiden piirteitä piirteinä piirteissä piirteisiin
eritys erityksen eritystä erityksenä eritykseen eritysten erityksiä erityksinä erityksissä erityksiin
raja rajan rajaa rajana rajaan rajojen rajoja rajoina rajoissa rajoihin
tieto tiedon tietoa tietona tietoon tietojen tietoja tietoina tiedoissa tietoihin
reseptio reseption reseptiota reseptiona reseptioon reseptioiden reseptioita reseptioina reseptioissa reseptioihin
munuainen munuaisen munuaista munuaisena munuaiseen munuaisten munuaisia munuaisina munuaisissa munuaisiin
reabsorptio reabsorption reabsorptiota reabsorptiona reabsorptioon reabsorptioiden reabsorptioita reabsorptioina reabsorptioissa reabsorptioihin
luusto luuston luustoa luustona luustoon luustojen luustoja luustoina luustoissa luustoihin
imeytyminen imeytymisen imeytymistä imeytymisenä imeytymiseen imeytymisten imeytymisiä imeytymisinä imeytymisissä imeytymisiin
suolisto suoliston suolistoa suolistona suolistoon suolistojen suolistoja suolistoina suolistoissa suolistoihin
vitamiini vitamiinin vitamiinia vitamiinina vitamiiniin vitamiinien vitamiineja vitamiineina vitamiineissa vitamiineihin
muodostus muodostuksen muodostusta muodostuksena muodostukseen muodostusten muodostuksia muodostuksina muodostuksissa muodostuksiin
CaR CaR:n CaR:ää CaR:nä CaR:ään CaR:ien CaR:iä CaR:inä CaR:issä CaR:iin
synteesi synteesin synteesiä synteesinä synteesiin synteesien synteesejä synteeseinä synteeseissä synteeseihin
vaikutus vaikutuksen vaikutusta vaikutuksena vaikutukseen vaikutusten vaikutuksia vaikutuksina vaikutuksissa vaikutuksiin
syy syyn syytä syynä syyhyn syiden syitä syinä syissä syihin
taulukko taulukon taulukkoa taulukkona taulukkoon taulukkojen taulukkoja taulukkoina taulukoissa taulukkoihin
sairaus sairauden sairautta sairautena sairauteen sairauksien sairauksia sairauksina sairauksissa sairauksiin
tausta taustan taustaa taustana taustaan taustojen taustoja taustoina taustoissa taustoihin
toiminta toiminnan toimintaa toimintana toimintaan toimintojen toimintoja toimintoina toiminnoissa toimintoihin
kriteeri kriteerin kriteeriä kriteerinä kriteeriin kriteerien kriteerejä kriteereinä kriteereissä kriteereihin
puhdistuma puhdistuman puhdistumaa puhdistumana puhdistumaan puhdistumien puhdistumia puhdistumina puhdistumissa puhdistumiin
suhde suhteen suhdetta suhteena suhteeseen suhteiden suhteita suhteina suhteissa suhteisiin
kreatiniini kreatiniinin kreatiniinia kreatiniinina kreatiniiniin kreatiniinien kreatiniineja kreatiniineina kreatiniineissa kreatiniineihin
poistuma poistuman poistumaa poistumana poistumaan poistumien poistumia poistumina poistumissa poistumiin
FHH FHH:n FHH:ta FHH:na FHH:hon FHH:iden FHH:ita FHH:ina FHH:issa FHH:ihin
historia historian historiaa historiana historiaan historioiden historioita historioina historioissa historioihin
mahdollisuus mahdollisuuden mahdollisuutta mahdollisuutena mahdollisuuteen mahdollisuuksien mahdollisuuksia mahdollisuuksina mahdollisuuksissa mahdollisuuksiin

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,164 @@
valo valon valoa valona valoon valojen valoja valoina valoissa valoihin
arvelu arvelun arvelua arveluna arveluun arvelujen arveluja arveluina arveluissa arveluihin
autio aution autiota autiona autioon autioiden autioita autioina autioissa autioihin
risti ristin ristiä ristinä ristiin ristien ristejä risteinä risteissä risteihin
paperi paperin paperia paperina paperiin papereiden papereita papereina papereissa papereihin
banaali banaalin banaalia banaalina banaaliin banaalien banaaleja banaaleina banaaleissa banaaleihin
kalsium kalsiumin kalsiumia kalsiumina kalsiumiin kalsiumien kalsiumeja kalsiumeina kalsiumeissa kalsiumeihin
lovi loven lovea lovena loveen lovien lovia lovina lovissa loviin
nalle nallen nallea nallena nalleen nallien nalleja nalleina nalleissa nalleihin
kala kalan kalaa kalana kalaan kalojen kaloja kaloina kaloissa kaloihin
koira koiran koiraa koirana koiraan koirien koiria koirina koirissa koiriin
matala matalan matalaa matalana matalaan matalien matalia matalina matalissa mataliin
asema aseman asemaa asemana asemaan asemien asemia asemina asemissa asemiin
kulkija kulkijan kulkijaa kulkijana kulkijaan kulkijoiden kulkijoita kulkijoina kulkijoissa kulkijoihin
karahka karahkan karahkaa karahkana karahkaan karahkojen karahkoja karahkoina karahkoissa karahkoihin
kantaja kantajan kantajaa kantajana kantajaan kantajien kantajia kantajina kantajissa kantajiin
peruna perunan perunaa perunana perunaan perunien perunia perunina perunissa peruniin
pasuuna pasuunan pasuunaa pasuunana pasuunaan pasuunojen pasuunoja pasuunoina pasuunoissa pasuunoihin
ainoa ainoan ainoata ainoana ainoaan ainoiden ainoita ainoina ainoissa ainoihin
herttua herttuan herttuaa herttuana herttuaan herttuoiden herttuoita herttuoina herttuoissa herttuoihin
korkea korkean korkeaa korkeana korkeaan korkeiden korkeita korkeina korkeissa korkeisiin/korkeihin
suurempi suuremman suurempaa suurempana suurempaan suurempien suurempia suurempina suuremmissa suurempiin
vapaa vapaan vapaata vapaana vapaaseen vapaiden vapaita vapaina vapaissa vapaisiin
tienoo tienoon tienoota tienoona tienoohon tienoiden tienoita tienoina tienoissa tienoihin
leikkuu leikkuun leikkuuta leikkuuna leikkuuhun leikkuiden leikkuita leikkuina leikkuissa leikkuihin
kamee kameen kameeta kameena kameehen/kameeseen kameiden kameita kameina kameissa kameihin/kameisiin
pii piin piitä piinä piihin piiden piitä piinä piissä piihin
maa maan maata maana maahan maiden maita maina maissa maihin
puu puun puuta puuna puuhun puiden puita puina puissa puihin
suo suon suota suona suohon soiden soita soina soissa soihin
bébé bébén bébétä bébénä bébéhen bébéiden bébéijä bébéinä bébéissä bébéihin
tuohi tuohen tuohta tuohena tuoheen tuohien tuohia tuohina tuohissa tuohiin
lohi lohen lohta lohena loheen lohien lohia lohina lohissa lohiin
lahti lahden lahtea lahtena lahteen lahtien lahtia lahtina lahdissa lahtiin
lumi lumen lunta lumena lumeen lumien lumia lumina lumissa lumiin
tuomi tuomen tuomea tuomena tuomeen tuomien tuomia tuomina tuomissa tuomiin
niemi niemen niemeä niemenä niemeen niemien niemiä nieminä niemissä niemiin
pieni pienen pientä pienenä pieneen pienten pieniä pieninä pienissä pieniin
nuori nuoren nuorta nuorena nuoreen nuorten nuoria nuorina nuorissa nuoriin
susi suden sutta sutena suteen susien susia susina susissa susiin
tosi toden totta totena toteen tosien tosia tosina tosissa tosiin
hirsi hirren hirttä hirtenä hirteen hirsien hirsiä hirsinä hirsissä hirsiin
jälsi jällen jälttä jältenä jälteen jälsien jälsiä jälsinä jälsissä jälsiin
kansi kannen kantta kantena kanteen kansien kansia kansina kansissa kansiin
lapsi lapsen lasta lapsena lapseen lasten/lapsien lapsia lapsina lapsissa lapsiin
hapsi hapsen hapsea hapsena hapseen hapsien hapsia hapsina hapsissa hapsiin
veitsi veitsen veistä veitsenä veitseen veisten/veitsien veitsiä veitsinä veitsissä veitsiin
peitsi peitsen peistä peitsenä peitseen peisten/peitsien peitsiä peitsinä peitsissä peitsiin
suksi suksen suksea suksena sukseen suksien suksia suksina suksissa suksiin
uksi uksen uksea uksena ukseen uksien uksia uksina uksissa uksiin
kaksi kahden kahta kahtena kahteen kaksien kaksia kaksina kaksissa kaksiin
sankari sankarin sankaria sankarina sankariin sankareiden sankareita sankareina sankareissa sankareihin
jumala jumalan jumalaa jumalana jumalaan jumalien jumalia jumalina jumalissa jumaliin
sisar sisaren sisarta sisarena sisareen sisarien sisaria sisarina sisarissa sisariin
ahven ahvenen ahventa ahvenena ahveneen ahventen/ahvenien ahvenia ahvenina ahvenissa ahveniin
uistin uistimen uistinta uistimena uistimeen uistimien uistimia uistimina uistimissa uistimiin
onneton onnettoman onnetonta onnettomana onnettomaan onnettomien onnettomia onnettomina onnettomissa onnettomiin
lämmin lämpimän lämmintä lämpimänä lämpimään lämpimien lämpimiä lämpiminä lämpimissä lämpimiin
pahin pahimman pahinta pahimpana pahimpaan pahimpien pahimpia pahimpina pahimmissa pahimpiin
vasen vasemman vasenta vasempana vasempaan vasempien vasempia vasempina vasemmissa vasempiin
muudan muudannen muudatta muudanna muudanteen muudansien muudansia muudansina muudansissa muudansiin
seitsemän seitsemän seitsemää seitsemänä seitsemään seitsemien seitsemiä seitseminä seitsemissä seitsemiin
hevonen hevosen hevosta hevosena hevoseen hevosten/hevosien hevosia hevosina hevosissa hevosiin
vastaus vastauksen vastausta vastauksena vastaukseen vastauksien vastauksia vastauksina vastauksissa vastauksiin
kalleus kalleuden kalleutta kalleutena kalleuteen kalleuksien kalleuksia kalleuksina kalleuksissa kalleuksiin
vieras vieraan vierasta vieraana vieraaseen vieraiden vieraita vieraina vieraissa vieraisiin/vieraihin
kirves kirveen kirvestä kirveenä kirveeseen kirvesten/kirveiden kirveitä kirveinä kirveissä kirveisiin/kirveihin
kauris kauriin kaurista kauriina kauriiseen kauriiden kauriita kauriina kauriissa kauriisiin
kaunis kauniin kaunista kauniina kauniiseen kauniiden kauniita kauniina kauniissa kauniisiin
koiras koiraan koirasta koiraana koiraaseen koiraiden koiraita koiraina koiraissa koiraisiin
uros uroon urosta uroina uroisiin urosten uroita uroina uroissa uroihin
mies miehen miestä miehenä mieheen miesten miehiä miehinä miehissä miehiin
airut airuen airutta airuena airueen airuiden airuita airuina airuissa airuisiin/airuihin
kevät kevään kevättä keväänä kevääseen keväiden keväitä keväinä keväissä keväihin/keväisiin
kahdeksan kahdeksan kahdeksaa kahdeksana kahdeksaan kahdeksien kahdeksia kahdeksina kahdeksissa kahdeksiin
tuhat tuhannen tuhatta tuhantena tuhanteen tuhansien tuhansia tuhansina tuhansissa tuhansiin
kuollut kuolleen kuollutta kuolleena kuolleeseen kuolleiden kuolleita kuolleina kuolleissa kuolleisiin
hame hameen hametta hameena hameeseen hameiden hameita hameina hameissa hameisiin/hameihin
terve terveen tervettä terveenä terveeseen terveiden terveitä terveinä terveissä terveisiin/terveihin
ori oriin oritta oriina oriiseen oritten oriita oriina oriissa oriihin
kiiru kiiruun kiirutta kiiruuna kiiruuseen kiiruiden kiiruita kiiruina kiiruissa kiiruihin
askel askelen askelta askelena askeleen askelten/askelien askelia askelina askelissa askeliin

View File

@@ -0,0 +1,198 @@
rakkaus rakkauden rakkautta rakkautena rakkauteen rakkauksien rakkauksia rakkauksina rakkauksissa rakkauksiin
hyvyys hyvyyden hyvyyttä hyvyytenä hyvyyteen hyvyyksien hyvyyksiä hyvyyksinä hyvyyksissä hyvyyksiin
nainen naisen naista naisena naiseen naisten naisia naisina naisissa naisiin
hyinen hyisen hyistä hyisenä hyiseen hyisten hyisiä hyisinä hyisissä hyisiin
maa maan maata maana maahan maiden maita maina maissa maihin
paluu paluun paluuta paluuna paluuhun paluiden paluita paluina paluissa paluihin
pii piin piitä piinä piihin piiden piitä piinä piissä piihin
hai hain haita haina haihin haiden haita haina haissa haihin
tienoo tienoon tienoota tienoona tienoohon tienoiden tienoita tienoina tienoissa tienoihin
yö yön yötä yönä yöhön öiden öitä öinä öissä öihin
tie tien tietä tienä tiehen teiden teitä teinä teissä teihin
korkea korkean korkeaa korkeana korkeaan korkeiden korkeita korkeina korkeissa korkeisiin
äkeä äkeän äkeää äkeänä äkeään äkeiden äkeitä äkeinä äkeissä äkeisiin
kaunis kauniin kaunista kauniina kauniiseen kauniiden kauniita kauniina kauniissa kauniisiin
tyyris tyyriin tyyristä tyyriinä tyyriiseen tyyriiden tyyriitä tyyriinä tyyriissä tyyriisiin
ruis rukiin ruista rukiina rukiiseen rukiiden rukiita rukiina rukiissa rukiisiin
liitin liittimen liitintä liittimenä liittimeen liittimien liittimiä liittiminä liittimissä liittimiin
laidun laitumen laidunta laitumena laitumeen laitumien laitumia laitumina laitumissa laitumiin
luistin luistimen luistinta luistimena luistimeen luistimien luistimia luistimina luistimissa luistimiin
onneton onnettoman onnetonta onnettomana onnettomaan onnettomien onnettomia onnettomina onnettomissa onnettomiin
nimetön nimettömän nimetöntä nimettömänä nimettömään nimettömien nimettömiä nimettöminä nimettömissä nimettömiin
perhe perheen perhettä perheenä perheeseen perheiden perheitä perheinä perheissä perheisiin
olut oluen olutta oluena olueen oluiden oluita oluina oluissa oluisiin
lyhyt lyhyen lyhyttä lyhyenä lyhyeen lyhyiden lyhyitä lyhyinä lyhyissä lyhyisiin
rengas renkaan rengasta renkaana renkaaseen renkaiden renkaita renkaina renkaissa renkaisiin
taivas taivaan taivasta taivaana taivaaseen taivaiden taivaita taivaina taivaissa taivaisiin
piennar pientaren piennarta pientarena pientareen pientarien/piennarten pientaria pientarina pientarissa pientariin
sisar sisaren sisarta sisarena sisareen sisarien/sisarten sisaria sisarina sisarissa sisariin
rae rakeen raetta rakeena rakeeseen rakeiden rakeita rakeina rakeissa rakeisiin
syke sykkeen sykettä sykkeenä sykkeeseen sykkeiden sykkeitä sykkeinä sykkeissä sykkeisiin
taive taipeen taivetta taipeena taipeeseen taipeiden taipeita taipeina taipeissa taipeisiin
toive toiveen toivetta toiveena toiveeseen toiveiden toiveita toiveina toiveissa toiveisiin
selkä selän selkää selkänä selkään selkien selkiä selkinä selissä selkiin
sukka sukan sukkaa sukkana sukkaan sukkien sukkia sukkina sukissa sukkiin
kappa kapan kappaa kappana kappaan kappojen kappoja kappoina kapoissa kappoihin
kauppa kaupan kauppaa kauppana kauppaan kauppojen kauppoja kauppoina kaupoissa kauppoihin
seura seuran seuraa seurana seuraan seurojen seuroja seuroina seuroissa seuroihin
suku suvun sukua sukuna sukuun sukujen sukuja sukuina suvuissa sukuihin
ukko ukon ukkoa ukkona ukkoon ukkojen ukkoja ukkoina ukoissa ukkoihin
auto auton autoa autona autoon autojen autoja autoina autoissa autoihin
outo oudon outoa outona outoon outojen outoja outoina oudoissa outoihin
satu satun satua satuna satuun satujen satuja satuina satuissa satuihin
satu sadun satua satuna satuun satujen satuja satuina saduissa satuihin
hyppy hypyn hyppyä hyppynä hyppyyn hyppyjen hyppyjä hyppyinä hypyissä hyppyihin
baari baarin baaria baarina baariin baarien baareja baareina baareissa baareihin
paatti paatin paattia paattina paattiin paattien paatteja paatteina paateissa paatteihin
ahven ahvenen ahventa ahvenena ahveneen ahventen ahvenia ahvenina ahvenissa ahveniin
sävel sävelen säveltä sävelenä säveleen sävelten säveliä sävelinä sävelissä säveliin
kalsium kalsiumin kalsiumia kalsiumina kalsiumiin kalsiumien kalsiumeja kalsiumeina kalsiumeissa kalsiumeihin
susi suden sutta sutena suteen susien susia susina susissa susiin
jälsi jällen jälttä jältenä jälteen jälsien jälsiä jälsinä jälsissä jälsiin
korsi korren kortta kortena korteen korsien korsia korsina korsissa korsiin
kuusi kuusen kuusta kuusena kuuseen kuusten/kuusien kuusia kuusina kuusissa kuusiin
saari saaren saarta saarena saareen saarten saaria saarina saarissa saariin
nuoli nuolen nuolta nuolena nuoleen nuolien nuolia nuolina nuolissa nuoliin
arpi arven arpea arpena arpeen arpien arpia arpina arvissa arpiin
jälki jäljen jälkeä jälkenä jälkeen jälkien jälkiä jälkinä jäljissä jälkiin
veitsi veitsen veistä veitsenä veitseen veisten/veitsien veitsiä veitsinä veitsissä veitsiin
meri meren merta merenä mereen merten meriä merinä merissä meriin
veri veren verta verenä vereen verten veriä verinä verissä veriin
pakkaus pakkauksen pakkausta pakkauksena pakkaukseen pakkauksien/pakkausten pakkauksia pakkauksina pakkauksissa pakkauksiin
julius juliuksen juliusta juliuksena juliukseen juliuksien/juliusten juliuksia juliuksina juliuksissa juliuksiin
hius hiuksen hiusta hiuksena hiukseen hiuksien/hiusten hiuksia hiuksina hiuksissa hiuksiin
paperi paperin paperia paperina paperiin papereiden papereita papereina papereissa papereihin
banaali banaalin banaalia banaalina banaaliin banaalien banaaleja banaaleina banaaleissa banaaleihin
nalle nallen nallea nallena nalleen nallien nalleja nalleina nalleissa nalleihin
matala matalan matalaa matalana matalaan matalien matalia matalina matalissa mataliin
asema aseman asemaa asemana asemaan asemien asemia asemina asemissa asemiin
kulkija kulkijan kulkijaa kulkijana kulkijaan kulkijoiden kulkijoita kulkijoina kulkijoissa kulkijoihin
karahka karahkan karahkaa karahkana karahkaan karahkojen karahkoja karahkoina karahkoissa karahkoihin
kantaja kantajan kantajaa kantajana kantajaan kantajien kantajia kantajina kantajissa kantajiin
peruna perunan perunaa perunana perunaan perunien perunia perunina perunissa peruniin
pasuuna pasuunan pasuunaa pasuunana pasuunaan pasuunojen pasuunoja pasuunoina pasuunoissa pasuunoihin
ainoa ainoan ainoata ainoana ainoaan ainoiden ainoita ainoina ainoissa ainoihin
herttua herttuan herttuaa herttuana herttuaan herttuoiden herttuoita herttuoina herttuoissa herttuoihin
vapaa vapaan vapaata vapaana vapaaseen vapaiden vapaita vapaina vapaissa vapaisiin
tuohi tuohen tuohta tuohena tuoheen tuohien tuohia tuohina tuohissa tuohiin
lohi lohen lohta lohena loheen lohien lohia lohina lohissa lohiin
lumi lumen lunta lumena lumeen lumien lumia lumina lumissa lumiin
tuomi tuomen tuomea tuomena tuomeen tuomien tuomia tuomina tuomissa tuomiin
niemi niemen niemeä niemenä niemeen niemien niemiä nieminä niemissä niemiin
pieni pienen pientä pienenä pieneen pienten pieniä pieninä pienissä pieniin
nuori nuoren nuorta nuorena nuoreen nuorten nuoria nuorina nuorissa nuoriin
suksi suksen suksea suksena sukseen suksien suksia suksina suksissa suksiin
uksi uksen uksea uksena ukseen uksien uksia uksina uksissa uksiin
sankari sankarin sankaria sankarina sankariin sankareiden sankareita sankareina sankareissa sankareihin
jumala jumalan jumalaa jumalana jumalaan jumalien jumalia jumalina jumalissa jumaliin
kirves kirveen kirvestä kirveenä kirveeseen kirvesten/kirveiden kirveitä kirveinä kirveissä kirveisiin/kirveihin
kives kiveksen kivestä kiveksenä kivekseen kivesten/kiveksien kiveksiä kiveksinä kiveksissä kiveksiin
mies miehen miestä miehenä mieheen miesten miehiä miehinä miehissä miehiin
kevät kevään kevättä keväänä kevääseen keväiden keväitä keväinä keväissä keväihin/keväisiin
sydän sydämen sydäntä sydämenä sydämeen sydanten/sydämien sydämiä sydäminä sydämissä sydämiin
radio radion radiota radiona radioon radioiden radioita radioina radioissa radioihin
neliö neliön neliötä neliönä neliöön neliöiden neliöitä neliöinä neliöissä neliöihin
sammakko sammakon sammakkoa sammakkona sammakkoon sammakoiden sammakoita sammakkoina sammakoissa sammakkoihin
asia asian asiaa asiana asiaan asioiden asioita asioina asioissa asioihin
päkiä päkiän päkiää päkiänä päkiään päkiöiden päkiöitä päkiöinä päkiöissä päkiöihin
idea idean ideaa ideana ideaan ideoiden ideoita ideoina ideoissa ideoihin
SDP SDP:n SDP:tä SDP:nä SDP:hen SDP:iden SDP:itä SDP:inä SDP:issä SDP:ihin

View File

@@ -0,0 +1,195 @@
eläin eläimen eläintä eläimenä eläimeen eläimien eläimiä eläiminä eläimissä eläimiin
selkä selän selkää selkänä selkään selkien selkiä selkinä selissä selkiin
vatsa vatsan vatsaa vatsana vatsaan vatsojen vatsoja vatsoina vatsoissa vatsoihin
lintu linnun lintua lintuna lintuun lintujen lintuja lintuina linnuissa lintuihin
luu luun luuta luuna luuhun luiden luita luina luissa luihin
rinta rinnan rintaa rintana rintaan rintojen rintoja rintoina rinnoissa rintoihin
lapsi lapsen lasta lapsena lapseen lasten/lapsien lapsia lapsina lapsissa lapsiin
pilvi pilven pilveä pilvenä pilveen pilvien pilviä pilvinä pilvissä pilviin
päivä päivän päivää päivänä päivään päivien päiviä päivinä päivissä päiviin
koira koiran koiraa koirana koiraan koirien koiria koirina koirissa koiriin
korva korvan korvaa korvana korvaan korvien korvia korvina korvissa korviin
muna munan munaa munana munaan munien munia munina munissa muniin
silmä silmän silmää silmänä silmään silmien silmiä silminä silmissä silmiin
höyhen höyhenen höyhentä höyhenenä höyheneen höyhenten höyheniä höyheninä höyhenissä höyheniin
kynsi kynnen kynttä kyntenä kynteen kynsien kynsiä kynsinä kynsissä kynsiin
tuli tulen tulta tulena tuleen tulien/tulten tulia tulina tulissa tuliin
kala kalan kalaa kalana kalaan kalojen kaloja kaloina kaloissa kaloihin
kukka kukan kukkaa kukkana kukkaan kukkien kukkia kukkina kukissa kukkiin
jalka jalan jalkaa jalkana jalkaan jalkojen jalkoja jalkoina jaloissa jalkoihin
metsä metsän metsää metsänä metsään metsien metsiä metsinä metsissä metsiin
hedelmä hedelmän hedelmää hedelmänä hedelmään hedelmien hedelmiä hedelminä hedelmissä hedelmiin
ruoho ruohon ruohoa ruohona ruohoon ruohojen ruohoja ruohoina ruohoissa ruohoihin
sisälmys sisälmyksen sisälmystä sisälmyksenä sisälmykseen sisälmysten sisälmyksiä sisälmyksinä sisälmyksissä sisälmyksiin
hius hiuksen hiusta hiuksena hiukseen hiusten hiuksia hiuksina hiuksissa hiuksiin
käsi käden kättä kätenä käteen käsien käsiä käsinä käsissä käsiin
pää pään päätä päänä päähän päiden päitä päinä päissä päihin
sydän sydämen sydäntä sydämenä sydämeen sydämien sydämiä sydäminä sydämissä sydämiin
sarvi sarven sarvea sarvena sarveen sarvien sarvia sarvina sarvissa sarviin
mies miehen miestä miehenä mieheen miesten miehiä miehinä miehissä miehiin
polvi polven polvea polvena polveen polvien polvia polvina polvissa polviin
järvi järven järveä järvenä järveen järvien järviä järvinä järvissä järviin
lehti lehden lehteä lehtenä lehteen lehtien lehtiä lehtinä lehdissä lehtiin
maksa maksan maksaa maksana maksaan maksojen maksoja maksoina maksoissa maksoihin
lude luteen ludetta luteena luteeseen luteiden luteita luteina luteissa luteisiin
kuu kuun kuuta kuuna kuuhun kuiden kuita kuina kuissa kuihin
vuori vuoren vuorta vuorena vuoreen vuorien/vuorten vuoria vuorina vuorissa vuoriin
suu suun suuta suuna suuhun suiden suita suina suissa suihin
nimi nimen nimeä nimenä nimeen nimien nimiä niminä nimissä nimiin
niska niskan niskaa niskana niskaan niskojen niskoja niskoina niskoissa niskoihin
yö yön yötä yönä yöhön öiden öitä öinä öissä öihin
nenä nenän nenää nenänä nenään nenien neniä neninä nenissä neniin
henkilö henkilön henkilöä henkilönä henkilöön henkilöiden/henkilöjen henkilöitä henkilöinä henkilöissä henkilöihin
joki joen jokea jokena jokeen jokien jokia jokina joissa jokiin
tie tien tietä tienä tiehen teiden teitä teinä teissä teihin
juuri juuren juurta juurena juureen juurien/juurten juuria juurina juurissa juuriin
köysi köyden köyttä köytenä köyteen köysien köysiä köysinä köysissä köysiin
meri meren merta merenä mereen merien/merten meriä merinä merissä meriin
siemen siemenen siementä siemenenä siemeneen siementen siemeniä siemeninä siemenissä siemeniin
nahka nahkan nahkaa nahkana nahkaan nahkojen nahkoja nahkoina nahkoissa nahkoihin
taivas taivaan taivasta taivaana taivaaseen taivaiden taivaita taivaina taivaissa taivaisiin
käärme käärmeen käärmettä käärmeenä käärmeeseen käärmeiden käärmeitä käärmeinä käärmeissä käärmeisiin
tähti tähden tähteä tähtenä tähteen tähtien tähtiä tähtinä tähdissä tähtiin
keppi kepin keppiä keppinä keppiin keppien keppejä keppeinä kepeissä keppeihin
kivi kiven kiveä kivenä kiveen kivien kiviä kivinä kivissä kiviin
aurinko auringon aurinkoa aurinkona aurinkoon aurinkojen aurinkoja aurinkoina auringoissa aurinkoihin
häntä hännän häntää häntänä häntään häntien häntiä häntinä hännissä häntiin
kieli kielen kieltä kielenä kieleen kielten/kielien kieliä kielinä kielissä kieliin
hammas hampaan hammasta hampaana hampaaseen hampaiden hampaita hampaina hampaissa hampaisiin
puu puun puuta puuna puuhun puiden puita puina puissa puihin
vaimo vaimon vaimoa vaimona vaimoon vaimojen vaimoja vaimoina vaimoissa vaimoihin
tuuli tuulen tuulta tuulena tuuleen tuulten/tuulien tuulia tuulina tuulissa tuuliin
siipi siiven siipeä siipenä siipeen siipien siipiä siipinä siivissä siipiin
nainen naisen naista naisena naiseen naisten naisia naisina naisissa naisiin
mato madon matoa matona matoon matojen matoja matoina madoissa matoihin
vuosi vuoden vuotta vuotena vuoteen vuosien vuosia vuosina vuosissa vuosiin
tuhka tuhkan tuhkaa tuhkana tuhkaan tuhkien tuhkia tuhkina tuhkissa tuhkiin
kaarna kaarnan kaarnaa kaarnana kaarnaan kaarnojen kaarnoja kaarnoina kaarnoissa kaarnoihin
veri veren verta verenä vereen verien/verten veriä verinä verissä veriin
pöly pölyn pölyä pölynä pölyyn pölyjen pölyjä pölyinä pölyissä pölyihin
maa maan maata maana maahan maiden maita maina maissa maihin
rasva rasvan rasvaa rasvana rasvaan rasvojen rasvoja rasvoina rasvoissa rasvoihin
sumu sumun sumua sumuna sumuun sumujen sumuja sumuina sumuissa sumuihin
jää jään jäätä jäänä jäähän jäiden jäitä jäinä jäissä jäihin
liha lihan lihaa lihana lihaan lihojen lihoja lihoina lihoissa lihoihin
sade sateen sadetta sateena sateeseen sateiden sateita sateina sateissa sateisiin
suola suolan suolaa suolana suolaan suolien suolia suolina suolissa suoliin
hiekka hiekan hiekkaa hiekkana hiekkaan hiekkojen hiekkoja hiekkoina hiekoissa hiekkoihin
savu savun savua savuna savuun savujen savuja savuina savuissa savuihin
lumi lumen lunta lumena lumeen lumien lumia lumina lumissa lumiin
vesi veden vettä vetenä veteen vesien vesiä vesinä vesissä vesiin
paha pahan pahaa pahana pahaan pahojen pahoja pahoina pahoissa pahoihin
suuri suuren suurta suurena suureen suurten/suurien suuria suurina suurissa suuriin
musta mustan mustaa mustana mustaan mustien mustia mustina mustissa mustiin
kylmä kylmän kylmää kylmänä kylmään kylmien kylmiä kylminä kylmissä kylmiin
oikea oikean oikeaa oikeana oikeaan oikeiden oikeita oikeina oikeissa oikeisiin
likainen likaisen likaista likaisena likaiseen likaisten likaisia likaisina likaisissa likaisiin
kuiva kuivan kuivaa kuivana kuivaan kuivien kuivia kuivina kuivissa kuiviin
tylsä tylsän tylsää tylsänä tylsään tylsien tylsiä tylsinä tylsissä tylsiin
täysi täyden täyttä täytenä täyteen täysien täysiä täysinä täysissä täysiin
hyvä hyvän hyvää hyvänä hyvään hyvien hyviä hyvinä hyvissä hyviin
vihreä vihreän vihreää vihreänä vihreään vihreiden vihreitä vihreinä vihreissä vihreisiin
raskas raskaan raskasta raskaana raskaaseen raskaiden raskaita raskaina raskaissa raskaisiin
pitkä pitkän pitkää pitkänä pitkään pitkien pitkiä pitkinä pitkissä pitkiin
kapea kapean kapeaa kapeana kapeaan kapeiden kapeita kapeina kapeissa kapeisiin
läheinen läheisen läheistä läheisenä läheiseen läheisten läheisiä läheisinä läheisissä läheisiin
uusi uuden uutta uutena uuteen uusien uusia uusina uusissa uusiin
vanha vanhan vanhaa vanhana vanhaan vanhojen vanhoja vanhoina vanhoissa vanhoihin
punainen punaisen punaista punaisena punaiseen punaisten punaisia punaisina punaisissa punaisiin

View File

@@ -0,0 +1,100 @@
aikoa aion aikoo aikovat aikokaa aiotaan aioin aikoi aikoisi aikonut aiottu
alentaa alennan alentaa alentavat alentakaa alennetaan alensin alensi alentaisi alentanut alennettu
ansioitua ansioidun ansioituu ansioituvat ansioitukaa ansioidutaan ansioiduin ansioitui ansioituisi ansioitunut ansioiduttu
arvostaa arvostan arvostaa arvostavat arvostakaa arvostetaan arvostin arvosti arvostaisi arvostanut arvostettu
avustaa avustan avustaa avustavat avustakaa avustetaan avustin avusti avustaisi avustanut avustettu
dominoida dominoin dominoi dominoivat dominoikaa dominoidaan dominoin dominoi dominoisi dominoinut dominoitu
elämöidä elämöin elämöi elämöivät elämöikää elämöidään elämöin elämöi elämöisi elämöinyt elämöity
epäilyttää epäilytän epäilyttää epäilyttävät epäilyttäkää epäilytetään epäilytin epäilytti epäilyttäisi epäilyttänyt epäilytetty
esitellä esittelen esittelee esittelevät esitelkää esitellään esittelin esitteli esittelisi esitellyt esitelty
fakturoida fakturoin fakturoi fakturoivat fakturoikaa fakturoidaan fakturoin fakturoi fakturoisi fakturoinut fakturoitu
halata halaan halaa halaavat halatkaa halataan halasin halasi halaisi halannut halattu
harjata harjaan harjaa harjaavat harjatkaa harjataan harjasin harjasi harjaisi harjannut harjattu
hengittää hengitän hengittää hengittävät hengittäkää hengitetään hengitin hengitti hengittäisi hengittänyt hengitetty
hihittää hihitän hihittää hihittävät hihittäkää hihitetään hihitin hihitti hihittäisi hihittänyt hihitetty
hullutella hulluttelen hulluttelee hulluttelevat hullutelkaa hullutellaan hulluttelin hullutteli hulluttelisi hullutellut hulluteltu
huuhtoutua huuhtoudun huuhtoutuu huuhtoutuvat huuhtoutukaa huuhtoudutaan huuhtouduin huuhtoutui huuhtoutuisi huuhtoutunut huuhtouduttu
häpäistä häpäisen häpäisee häpäisevät häpäiskää häpäistään häpäisin häpäisi häpäisisi häpäissyt häpäisty
ikävystyttää ikävystytän ikävystyttää ikävystyttävät ikävystyttäkää ikävystytetään ikävystytin ikävystytti ikävystyttäisi ikävystyttänyt ikävystytetty
isännöidä isännöin isännöi isännöivät isännöikää isännöidään isännöin isännöi isännöisi isännöinyt isännöity
jatkua jatkun jatkuu jatkuvat jatkukaa jatkutaan jatkuin jatkui jatkuisi jatkunut jatkuttu
jupista jupisen jupisee jupisevat jupiskaa jupistaan jupisin jupisi jupisisi jupissut jupistu
jätättää jätätän jätättää jätättävät jätättäkää jätätetään jätätin jätätti jätättäisi jätättänyt jätätetty
kalastaa kalastan kalastaa kalastavat kalastakaa kalastetaan kalastin kalasti kalastaisi kalastanut kalastettu
kansoittaa kansoitan kansoittaa kansoittavat kansoittakaa kansoitetaan kansoitin kansoitti kansoittaisi kansoittanut kansoitettu
kaulia kaulin kaulii kaulivat kaulikaa kaulitaan kaulin kauli kaulisi kaulinut kaulittu
kellua kellun kelluu kelluvat kellukaa kellutaan kelluin kellui kelluisi kellunut kelluttu
kierittää kieritän kierittää kierittävät kierittäkää kieritetään kieritin kieritti kierittäisi kierittänyt kieritetty
kipinöidä kipinöin kipinöi kipinöivät kipinöikää kipinöidään kipinöin kipinöi kipinöisi kipinöinyt kipinöity
kokkaroitua kokkaroidun kokkaroituu kokkaroituvat kokkaroitukaa kokkaroidutaan kokkaroiduin kokkaroitui kokkaroituisi kokkaroitunut kokkaroiduttu
korjauttaa korjautan korjauttaa korjauttavat korjauttakaa korjautetaan korjautin korjautti korjauttaisi korjauttanut korjautettu
kukistaa kukistan kukistaa kukistavat kukistakaa kukistetaan kukistin kukisti kukistaisi kukistanut kukistettu
kuntouttaa kuntoutan kuntouttaa kuntouttavat kuntouttakaa kuntoutetaan kuntoutin kuntoutti kuntouttaisi kuntouttanut kuntoutettu
kyllästyttää kyllästytän kyllästyttää kyllästyttävät kyllästyttäkää kyllästytetään kyllästytin kyllästytti kyllästyttäisi kyllästyttänyt kyllästytetty
käskeä käsken käskee käskevät käskekää käsketään käskin käski käskisi käskenyt käsketty
lainata lainaan lainaa lainaavat lainatkaa lainataan lainasin lainasi lainaisi lainannut lainattu
laskostaa laskostan laskostaa laskostavat laskostakaa laskostetaan laskostin laskosti laskostaisi laskostanut laskostettu
lihoa lihon lihoo lihovat lihokaa lihotaan lihoin lihoi lihoisi lihonut lihottu
liuottaa liuotan liuottaa liuottavat liuottakaa liuotetaan liuotin liuotti liuottaisi liuottanut liuotettu
luotsata luotsaan luotsaa luotsaavat luotsatkaa luotsataan luotsasin luotsasi luotsaisi luotsannut luotsattu
läpäistä läpäisen läpäisee läpäisevät läpäiskää läpäistään läpäisin läpäisi läpäisisi läpäissyt läpäisty
maksoittaa maksoitan maksoittaa maksoittavat maksoittakaa maksoitetaan maksoitin maksoitti maksoittaisi maksoittanut maksoitettu
menestyä menestyn menestyy menestyvät menestykää menestytään menestyin menestyi menestyisi menestynyt menestytty
mitätöidä mitätöin mitätöi mitätöivät mitätöikää mitätöidään mitätöin mitätöi mitätöisi mitätöinyt mitätöity
muokata muokkaan muokkaa muokkaavat muokatkaa muokataan muokkasin muokkasi muokkaisi muokannut muokattu
naamioida naamioin naamioi naamioivat naamioikaa naamioidaan naamioin naamioi naamioisi naamioinut naamioitu
niiskuttaa niiskutan niiskuttaa niiskuttavat niiskuttakaa niiskutetaan niiskutin niiskutti niiskuttaisi niiskuttanut niiskutettu
nähdä näen näkee näkevät nähkää nähdään näin näki näkisi nähnyt nähty
ohjata ohjaan ohjaa ohjaavat ohjatkaa ohjataan ohjasin ohjasi ohjaisi ohjannut ohjattu
opiskella opiskelen opiskelee opiskelevat opiskelkaa opiskellaan opiskelin opiskeli opiskelisi opiskellut opiskeltu
paaduttaa paadutan paaduttaa paaduttavat paaduttakaa paadutetaan paadutin paadutti paaduttaisi paaduttanut paadutettu

View File

@@ -0,0 +1,90 @@
punoa punon punoo punovat punokaa punotaan punoin punoi punoisi punonut punottu
muistaa muistan muistaa muistavat muistakaa muistetaan muistin muisti muistaisi muistanut muistettu
huutaa huudan huutaa huutavat huutakaa huudetaan huusin huusi huutaisi huutanut huudettu
soutaa soudan soutaa soutavat soutakaa soudetaan soudin souti soutaisi soutanut soudettu
puoltaa puollan puoltaa puoltavat puoltakaa puolletaan puolsin puolsi puoltaisi puoltanut puollettu
murtaa murran murtaa murtavat murtakaa murretaan mursin mursi murtaisi murtanut murrettu
sortaa sorran sortaa sortavat sortakaa sorretaan sorsin sorsi sortaisi sortanut sorrettu
pahentaa pahennan pahentaa pahentavat pahentakaa pahennetaan pahensin pahensi pahentaisi pahentanut pahennettu
kaivaa kaivan kaivaa kaivavat kaivakaa kaivetaan kaivoin kaivoi kaivaisi kaivanut kaivettu
haastaa haastan haastaa haastavat haastakaa haastetaan haastoin haastoi haastaisi haastanut haastettu
paistaa paistan paistaa paistavat paistakaa paistetaan paistoin paistoi paistaisi paistanut paistettu
saartaa saarran saartaa saartavat saartakaa saarretaan saarsin saarsi saartaisi saartanut saarrettu
laskea lasken laskee laskevat laskekaa lasketaan laskin laski laskisi laskenut laskettu
tuntea tunnen tuntee tuntevat tuntekaa tunnetaan tunsin tunsi tuntisi tuntenut tunnettu
potea poden potee potevat potekaa podetaan podin poti potisi potenut podettu
lähteä lähden lähtee lähtevät lähtekää lähdetään lähdin lähti lähtisi lähtenyt lähdetty
sallia sallin sallii sallivat sallikaa sallitaan sallin salli sallisi sallinut sallittu
naida nain nai naivat naikaa naidaan nain nai naisi nainut naitu
saada saan saa saavat saakaa saadaan sain sai saisi saanut saatu
myydä myyn myy myyvät myykää myydään myin myi myisi myynyt myyty
juoda juon juo juovat juokaa juodaan join joi joisi juonut juotu
viedä vien vie vievät viekää viedään vein vei veisi vienyt viety
käydä käyn käy käyvät käykää käykö kävin kävi kävisi käynyt käyty
nuolaista nuolaisen nuolaisee nuolaisevat nuolaiskaa nuolaistaan nuolaisin nuolaisi nuolaisisi nuolaissut nuolaistu
tulla tulen tulee tulevat tulkaa tullaan tulin tuli tulisi tullut tultu
purra puren puree purevat purkaa purraan purin puri purisi purrut purtu
mennä menen menee menevät menkää mennään menin meni menisi mennyt menty
katsella katselen katselee katselevat katselkaa katsellaan katselin katseli katselisi katsellut katseltu
arvailla arvailen arvailee arvailevat arvailkaa arvaillaan arvailin arvaili arvailisi arvaillut arvailtu
haravoida haravoin haravoi haravoivat haravoikaa haravoidaan haravoin haravoi haravoisi haravoinut haravoitu
valita valitsen valitse valitsevat valitkaa valitaan valitsin valitsi valitsisi valinnut valittu
juosta juoksen juoksee juoksevat juoskaa juostaan juoksin juoksi juoksisi juossut juostu
nähdä näen näkee näkevät nähkää nähkö näin näki näkisi nähnyt nähty
aleta alenen alenee alenevat aletkaa aletaan alenin aleni alenisi alennut alettu
salata salaan salaa salaavat salatkaa salataan salasin salasi salaisi salannut salattu
katketa katkean katkeaa katkeavat katketkaa katketaan katkesin katkesi katkeaisi katkennut katkettu
selvitä selviän selviää selviävät selvitkää selvitään selvisin selvisi selviäisi selvinnyt selvitty
kohota kohoan kohoaa kohoavat kohotkaa kohotaan kohosin kohosi kohoaisi kohonnut kohottu
haluta haluan haluaa haluavat halutkaa halutaan halusin halusi haluaisi halunnut haluttu
palata palaan palaa palaavat palatkaa palataan palasin palasi palaisi palannut palattu
kihistä kihisen kihisee kihisevät kihiskää kihistään kihisin kihisi kihisisi kihissyt kihisty
rakentaa rakennan rakentaa rakentavat rakentakaa rakennetaan rakensin rakensi rakentaisi rakentanut rakennettu
taitaa taidan taitaa taitavat taitakaa taidetaan taisin taisi taitaisi tainnut/taitanut taidettu
antautua antaudun antautuu antautuvat antautukaa antaudutaan antauduin antautui antautuisi antautunut antauduttu
kaata kaadan kaataa kaatavat kaatkaa kaatko kaasin kaasi kaataisi kaannut kaattu

View File

@@ -0,0 +1,108 @@
hakea haen hakee hakevat hakekaa haetaan hain haki hakisi hakenut haettu
päteä päden pätee pätevät pätekää pädetään pädin päti pätisi pätenyt pädetty
sopia sovin sopii sopivat sopikaa sovitaan sovin sopi sopisi sopinut sovittu
räkiä räin räkii räkivät räkikää räitään räin räki räkisi räkinyt räitty
sitoa sidon sitoo sitovat sitokaa sidotaan sidoin sitoi sitoisi sitonut sidottu
hukkua hukun hukkuu hukkuvat hukkukaa hukutaan hukuin hukkui hukkuisi hukkunut hukuttu
häipyä häivyn häipyy häipyvät häipykää häivytään häivyin häipyi häipyisi häipynyt häivytty
mysöä mysön mysöö mysövät mysökää mysötään mysöin mysöi mysöisi mysönyt mysötty
kiiltää kiillän kiiltää kiiltävät kiiltäkää kiilletään kiilsin kiilsi kiiltäisi kiiltänyt kiilletty
sammaltaa sammallan sammaltaa sammaltavat sammaltakaa sammalletaan sammalsin sammalsi sammaltaisi sammaltanut sammallettu
oksentaa oksennan oksentaa oksentavat oksentakaa oksennetaan oksensin oksensi oksentaisi oksentanut oksennettu
kumartaa kumarran kumartaa kumartavat kumartakaa kumarretaan kumarsin kumarsi kumartaisi kumartanut kumarrettu
kattaa katan kattaa kattavat kattakaa katetaan katoin kattoi kattaisi kattanut katettu
otattaa otatan otattaa otattavat otattakaa otatetaan otatin otatti otattaisi otattanut otatettu
opastaa opastan opastaa opastavat opastakaa opastetaan opastin opasti opastaisi opastanut opastettu
sataa sadan sataa satavat satakaa sadetaan sadoin satoi sataisi satanut sadettu
auttaa autan auttaa auttavat auttakaa autetaan autoin auttoi auttaisi auttanut autettu
pitää pidän pitää pitävät pitäkää pidetään pidin piti pitäisi pitänyt pidetty
vetää vedän vetää vetävät vetäkää vedetään vedin veti vetäisi vetänyt vedetty
ravistaa ravistan ravistaa ravistavat ravistakaa ravistetaan ravistin ravisti ravistaisi ravistanut ravistettu
kuunnella kuuntelen kuuntelee kuuntelevat kuunnelkaa kuunnellaan kuuntelin kuunteli kuuntelisi kuunnellut kuunneltu
hypellä hyppelen hyppelee hyppelevät hypelkää hypellään hyppelin hyppeli hyppelisi hypellyt hypelty
kävellä kävelen kävelee kävelevät kävelkää kävellään kävelin käveli kävelisi kävellyt kävelty
juosta juoksen juoksee juoksevat juoskaa juostaan juoksin juoksi juoksisi juossut juostu
syöstä syöksen syöksee syöksevät syöskää syöstään syöksin syöksi syöksisi syössyt syösty
panna panen panee panevat pankaa pannaan panin pani panisi pannut pantu
haista haisen haisee haisevat haiskaa haistaan haisin haisi haisisi haissut haistu
purra puren puree purevat purkaa purraan purin puri purisi purrut purtu
mennä menen menee menevät menkää mennään menin meni menisi mennyt menty
palella palelen palelee palelevat palelkaa palellaan palelin paleli palelisi palellut paleltu
harkita harkitsen harkitse harkitsevat harkitkaa harkitaan harkitsin harkitsi harkitsisi harkinnut harkittu
merkitä merkitsen merkitse merkitsevät merkitkää merkitään merkitsin merkitsi merkitsisi merkinnyt merkitty
haljeta halkean halkeaa halkeavat haljetkaa haljetaan halkesin halkesi halkeaisi haljennut haljettu
valjeta valkenen valkenee valkenevat valjetkaa valjetaan valkenin valkeni valkenisi valjennut valjettu
kerjetä kerkeän kerkeää kerkeävät kerjetkää kerjetään kerkesin kerkesi kerkeäisi kerjennyt kerjetty
pelätä pelkään pelkää pelkäävät pelätkää pelätään pelkäsin pelkäsi pelkäisi pelännyt pelätty
paeta pakenen pakenee pakenevat paetkaa paetaan pakenin pakeni pakenisi paennut paettu
pudota putoan putoaa putoavat pudotkaa pudotaan putosin putosi putoaisi pudonnut pudottu
vastata vastaan vastaa vastaavat vastatkaa vastataan vastasin vastasi vastaisi vastannut vastattu
karhuta karhuan karhuaa karhuavat karhutkaa karhutaan karhusin karhusi karhuaisi karhunnut karhuttu
älytä älyän älyää älyävät älytkää älytään älysin älysi älyäisi älynnyt älytty
hypätä hyppään hyppää hyppäävät hypätkää hypätään hyppäsin hyppäsi hyppäisi hypännyt hypätty
yrjötä yrjöän yrjöää yrjöävät yrjötkää yrjötään yrjösin yrjösi yrjöäisi yrjönnyt yrjötty
ällötä ällöän ällöää ällöävät ällötkää ällötään ällösin ällösi ällöäisi ällönnyt ällötty
naida nain nai naivat naikaa naidaan nain nai naisi nainut naitu
uida uin ui uivat uikaa uidaan uin ui uisi uinut uitu
haravoida haravoin haravoi haravoivat haravoikaa haravoidaan haravoin haravoi haravoisi haravoinut haravoitu
saada saan saa saavat saakaa saadaan sain sai saisi saanut saatu
jäädä jään jää jäävät jääkää jäädään jäin jäi jäisi jäänyt jääty
huutaa huudan huutaa huutavat huutakaa huudetaan huudin huuti huutaisi huutanut huudettu
olla olen olee olevat olkaa ollaan olin oli olisi ollut oltu
tehdä teen tekee tekevät tehkää tehdään tein teki tekisi tehnyt tehty
nähdä näen näkee näkevät nähkää nähdään näin näki näkisi nähnyt nähty
käydä käyn käy käyvät käykää käydään kävin kävi kävisi käynyt käyty

View File

@@ -0,0 +1,112 @@
puhaltaa puhallan puhaltaa puhaltavat puhaltakaa puhalletaan puhalsin puhalsi puhaltaisi puhaltanut puhallettu
hengittää hengitän hengittää hengittävät hengittäkää hengitetään hengitin hengitti hengittäisi hengittänyt hengitetty
palaa palan palaa palavat palakaa paletaan paloin paloi palaisi palanut palettu
tulla tulen tulee tulevat tulkaa tullaan tulin tuli tulisi tullut tultu
kuolla kuolen kuolee kuolevat kuolkaa kuollaan kuolin kuoli kuolisi kuollut kuoltu
kaivaa kaivan kaivaa kaivavat kaivakaa kaivetaan kaivoin kaivoi kaivaisi kaivanut kaivettu
pudota putoan putoaa putoavat pudotkaa pudotaan putosin putosi putoaisi pudonnut pudottu
kellua kellun kelluu kelluvat kellukaa kellutaan kelluin kellui kelluisi kellunut kelluttu
virrata virtaan virtaa virtaavat virratkaa virrataan virtasin virtasi virtaisi virrannut virrattu
lentää lennän lentää lentävät lentäkää lennetään lensin lensi lentäisi lentänyt lennetty
jäätyä jäädyn jäätyy jäätyvät jäätykää jäädytään jäädyin jäätyi jäätyisi jäätynyt jäädytty
nauraa nauran nauraa nauravat naurakaa nauretaan nauroin nauroi nauraisi nauranut naurettu
maata makaan makaa makaavat maatkaa maataan makasin makasi makaisi maannut maattu
elää elän elää elävät eläkää eletään elin eli eläisi elänyt eletty
pelata pelaan pelaa pelaavat pelatkaa pelataan pelasin pelasi pelaisi pelannut pelattu
sanoa sanon sanoo sanovat sanokaa sanotaan sanoin sanoi sanoisi sanonut sanottu
kylvää kylvän kylvää kylvävät kylväkää kylvetään kylvin kylvi kylväisi kylvänyt kylvetty
laulaa laulan laulaa laulavat laulakaa lauletaan lauloin lauloi laulaisi laulanut laulettu
istua istun istuu istuvat istukaa istutaan istuin istui istuisi istunut istuttu
nukkua nukun nukkuu nukkuvat nukkukaa nukutaan nukuin nukkui nukkuisi nukkunut nukuttu
haistaa haistan haistaa haistavat haistakaa haistetaan haistoin haistoi haistaisi haistanut haistettu
sylkeä syljen sylkee sylkevät sylkekää syljetään syljin sylki sylkisi sylkenyt syljetty
seistä seison seisoo seisovat seiskää seistään seisoin seisoi seisoisi seissyt seisty
turvota turpoan turpoaa turpoavat turvotkaa turvotaan turposin turposi turpoaisi turvonnut turvottu
uida uin ui uivat uikaa uidaan uin ui uisi uinut uitu
ajatella ajattelen ajattelee ajattelevat ajatelkaa ajatellaan ajattelin ajatteli ajattelisi ajatellut ajateltu
kääntyä käännyn kääntyy kääntyvät kääntykää käännytään käännyin kääntyi kääntyisi kääntynyt käännytty
oksentaa oksennan oksentaa oksentavat oksentakaa oksennetaan oksensin oksensi oksentaisi oksentanut oksennettu
kävellä kävelen kävelee kävelevät kävelkää kävellään kävelin käveli kävelisi kävellyt kävelty
purra puren puree purevat purkaa purraan purin puri purisi purrut purtu
laskea lasken laskee laskevat laskekaa lasketaan laskin laski laskisi laskenut laskettu
leikata leikkaan leikkaa leikkaavat leikatkaa leikataan leikkasin leikkasi leikkaisi leikannut leikattu
juoda juon juo juovat juokaa juodaan join joi joisi juonut juotu
syödä syön syö syövät syökää syödään söin söi söisi syönyt syöty
pelätä pelkään pelkää pelkäävät pelätkää pelätään pelkäsin pelkäsi pelkäisi pelännyt pelätty
taistella taistelen taistelee taistelevat taistelkaa taistellaan taistelin taisteli taistelisi taistellut taisteltu
kuulla kuulen kuulee kuulevat kuulkaa kuullaan kuulin kuuli kuulisi kuullut kuultu
lyödä lyön lyö lyövät lyökää lyödään löin löi löisi lyönyt lyöty
pitää pidän pitää pitävät pitäkää pidetään pidin piti pitäisi pitänyt pidetty
metsästää metsästän metsästää metsästävät metsästäkää metsästetään metsästin metsästi metsästäisi metsästänyt metsästetty
tappaa tapan tappaa tappavat tappakaa tapetaan tappoin tappoi tappaisi tappanut tapettu
tietää tiedän tietää tietävät tietäkää tiedetään tiesin tiesi tietäisi tiennyt/tietänyt tiedetty
vetää vedän vetää vetävät vetäkää vedetään vedin veti vetäisi vetänyt vedetty
työntää työnnän työntää työntävät työntäkää työnnetään työnsin työnsi työntäisi työntänyt työnnetty
hieroa hieron hieroo hierovat hierokaa hierotaan hieroin hieroi hieroisi hieronut hierottu
raapia raavin raapii raapivat raapikaa raavitaan raavin raapi raapisi raapinut raavittu
nähdä näen näkee näkevät näkekää nähdään näin näki näkisi nähnyt nähty
halkaista halkaisen halkaisee halkaisevat halkaiskaa halkaistaan halkaisin halkaisi halkaisisi halkaissut halkaistu
puristaa puristan puristaa puristavat puristakaa puristetaan puristin puristi puristaisi puristanut puristettu
pistää pistän pistää pistävät pistäkää pistetään pistin pisti pistäisi pistänyt pistetty
imeä imen imee imevät imekää imetään imin imi imisi imenyt imetty
heittää heitän heittää heittävät heittäkää heitetään heitin heitti heittäisi heittänyt heitetty
sitoa sidon sitoo sitovat sitokaa sidotaan sidoin sitoi sitoisi sitonut sidottu
pestä pesen pesee pesevät peskää pestään pesin pesi pesisi pessyt pesty
pyyhkiä pyyhin pyyhkii pyyhkivät pyyhkikää pyyhitään pyyhin pyyhki pyyhkisi pyyhkinyt pyyhitty
antaa annan antaa antavat antakaa annetaan annoin antoi antaisi antanut annettu

View File

@@ -0,0 +1,115 @@
potilas
äiti
tytär
aivoveren+vuoto
keuhko+syöpä
muna+sarja
poisto
endometrioosi
paksu+suoli
virtsa+inkontinenssi
alku
vuoto
hyytymistekijä+tutkimus
tulos
Basedow
tauti
hypertyreoosi
karbimatsoliesi+hoito
silmä+oire
HYKS
endokrinologia
poliklinikka
häköhermo+kompressio
dekompressio+leikkaus
kortisoni
hyperkalsemia
seerumi
kokonaiskalsium+pitoisuus
viitealue
kevät
Kauko+itä
kuu+kausi
1970-+luku
kalsium+arvo
ylä+osa
sarkoidoosi
keuhko+kuvaus
ACE
vaihe
aktiivisuus
lisäkilpirauhas+hormoni
seuranta
kontrolli
tuntuma
laboratorio
virhe
hyperparatyreoosi+epäily
lisäkilpi+rauhanen
ala+paratyreoidea
näyte
löydös
hyperplasia
lääkitys
tyroksiini
estradioli+valeraatti
glukoosirasitus+koe
veri
kalsium
vuorokausi+virtsa
kalsium+määrä
PTH
luun+tiheys
poskiontelo+tulehdus
ehkäisy+pilleri
luontais+tuote
D-vitamiini+valmiste
diagnoosi
väsymys
poikkeavuus
kalsiumaineen+vaihdunta
häiriö
piirre
eritys
ylä+raja
tieto
reseptio
munuainen
reabsorptio
luusto
imeytyminen
suolisto
D-+vitamiini
muodostus
CaR
synteesi
vaikutus
syy
taulukko
sairaus
tausta
vajaa+toiminta
kriteeri
puhdistuma
suhde
kreatiniini
poistuma
FHH
suku+historia
mahdollisuus
autosomi
tila
suku
mutaatio
annos-vaste+käyrä
koe+henkilö
oire+yhtymä
hikoilu
suppressio
-- Anna-Mari Koski ja Matti Välimäki, Äidin ja tyttären pulmallinen
-- hyperkalsemia, Duodecim 123(18), 2007, 2248-2255.
-- ignored titles, captions, abstract, references
-- only in fixed expressions: vuosi väli luku kerta peruste yhteys
-- removed compounds with repeated last part

View File

@@ -0,0 +1,55 @@
import List
import Char
kotus = "sanat.xxmmll"
main = do
ss <- readFile kotus >>= return . lines
let ws = [w | Just w <- map analyse ss]
writeFile "kotus.gf" $ unlines $ treat ws
-- mapM putStrLn $ treat ws
treat = map mkLin . entries
entries = zip [10001..] . filter isNoun
isNoun x = ((<5) . read . take 1 . fst) x && (all isAlpha . snd) x
mkLin (n,(pa,ex)) =
"fun n" ++ show n ++ "_" ++ ex ++ " : N ;\n" ++
"lin n" ++ show n ++ "_" ++ ex ++ " = ud d" ++ pa ++ " \"" ++ ex ++ "\" ;"
-- treat = map mkRule . paradigms
mkRule ((pa,ex),nu) =
" " ++ pos ++ pa ++ " : Str -> " ++ poss ++
"Forms -- " ++ show nu ++ " " ++ ex ++ "\n = \\s -> ;"
where
(pos,poss) = if read (take 2 pa) < 52 then ("d","N") else ("c","V")
-- paradigms = map info . groupByFst . sort
info x = (last x, length x)
--info = last
-- groupByFst = groupBy (\ x y -> fst x == fst y)
-- <st><s>aaloe</s><t><tn>3</tn></t></st>
-- <st><s>vuoksi</s><hn>1</hn><t><tn>7</tn></t></st>
-- <st><s>visiitti</s><t><tn>5</tn><av>C</av></t></st>
analyse s =
let
rest = drop 7 s
(word,end) = span (/='<') rest
lst = drop 6 $ dropWhile (/='t') end
(num,gr) = span isDigit lst
para = (replicate (2 - length num) '0' ++ num) ++ ['A' | isPrefixOf "av" (drop 6 gr)]
in case num of
"" -> Nothing
"0" -> Nothing
_ | length num > 2 -> Nothing
_ -> if last word == 't' then Nothing else Just (para,word)
sub cs s = isPrefixOf cs s || isPrefixOf cs (drop 1 s)

View File

@@ -0,0 +1,28 @@
<!--
Copyright (C) Kotimaisten kielten tutkimuskeskus 2006
Kotimaisten kielten tutkimuskeskuksen nykysuomen sanalista, versio 1
Julkaistu 15.12.2006
Sanalista julkaistaan GNU LGPL -lisenssillä.
Lisenssiteksti luettavissa osoitteessa http://www.gnu.org/licenses/lgpl.html
Listaan perustuvien sovellusten mukana on aina toimitettava alkuperäinen
sanalista lukukelpoisessa muodossaan.
-->
<!ELEMENT kotus-sanalista (st*) >
<!ELEMENT st (s, hn?, t*) >
<!ELEMENT s (#PCDATA) >
<!ELEMENT hn (#PCDATA) >
<!ELEMENT t (tn, av?)* >
<!ATTLIST t taivutus CDATA #IMPLIED>
<!ELEMENT tn (#PCDATA) >
<!ELEMENT av (#PCDATA) >
<!ATTLIST av astevaihtelu CDATA #IMPLIED>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
aarne-rantas-computer:~/GF/examples/uusisuomi aarne$ make
NSSK
Omat
Dictionary:
(Aino Wuolle, Suomalais-englantilainen sanakirja, 11. painos WSOY 1973,
ca. 24k Words)
Duodecim
Aino
Fri Jan 4 18:24:29 CET 2008
Aino
7 diff1-Aino.txt
2 diff2-Aino.txt
0 diff3-Aino.txt
0 diff4-Aino.txt
Dictionary
15 diff1-Dictionary.txt
10 diff2-Dictionary.txt
1 diff3-Dictionary.txt
0 diff4-Dictionary.txt
Duodecim
17 diff1-Duodecim.txt
8 diff2-Duodecim.txt
3 diff3-Duodecim.txt
1 diff4-Duodecim.txt
NSSK
50 diff1-NSSK.txt
32 diff2-NSSK.txt
26 diff3-NSSK.txt
19 diff4-NSSK.txt
Omat
42 diff1-Omat.txt
21 diff2-Omat.txt
14 diff3-Omat.txt
7 diff4-Omat.txt
Swadesh
31 diff1-Swadesh.txt
7 diff2-Swadesh.txt
7 diff3-Swadesh.txt
2 diff4-Swadesh.txt