added tests for Croatian noun paradigms

This commit is contained in:
Aarne Ranta
2022-09-21 08:44:11 +02:00
parent 70d9c74279
commit 912de3f664
3 changed files with 305 additions and 17 deletions

View File

@@ -58,7 +58,7 @@ palatalize : Str -> Str = \s -> case s of {
-- so this is the lincat of N
NounForms : Type = {snom,sgen,sdat,sacc,svoc,sloc,sins, pnom,pgen,pdat,pacc,ploc,pins : Str ; g : Gender} ;
NounForms : Type = {snom,sgen,sdat,sacc,svoc,sins,pnom,pgen,pdat,pacc : Str ; g : Gender} ;
-- But traditional tables make agreement easier to handle in syntax
-- so this is the lincat of CN
@@ -76,7 +76,7 @@ palatalize : Str -> Str = \s -> case s of {
Dat => forms.sdat ;
Acc => forms.sacc ;
Voc => forms.svoc ;
Loc => forms.sloc ;
Loc => forms.sdat ;
Ins => forms.sins
} ;
Pl => table {
@@ -85,8 +85,8 @@ palatalize : Str -> Str = \s -> case s of {
Dat => forms.pdat ;
Acc => forms.pacc ;
Voc => forms.pnom ;
Loc => forms.ploc ;
Ins => forms.pins
Loc => forms.pdat ;
Ins => forms.pdat
}
} ;
g = forms.g
@@ -155,18 +155,18 @@ palatalize : Str -> Str = \s -> case s of {
izvorN : Animacy -> DeclensionType = \anim, izvor ->
{
snom = izvor ;
sgen = izvor + "a" ;
sdat,sloc = izvor + "u" ;
sacc = ifAnim anim (izvor + "a") izvor ;
svoc = palatalize (izvor + "e") ;
sins = ifSoft izvor
snom = izvor ;
sgen = izvor + "a" ;
sdat = izvor + "u" ;
sacc = ifAnim anim (izvor + "a") izvor ;
svoc = palatalize (izvor + "e") ;
sins = ifSoft izvor
(palatalize (izvor + "e") + "m")
(izvor + "om") ;
pnom,pvoc = palatalize (izvor + "i") ;
pgen = izvor + "a" ;
pdat,ploc,pins =
pnom = palatalize (izvor + "i") ;
pgen = izvor + "a" ;
pdat =
ifSoft izvor
(palatalize (izvor + "e") + "vima")
(palatalize (izvor + "i") + "ma") ;
@@ -188,10 +188,10 @@ palatalize : Str -> Str = \s -> case s of {
gradan = Predef.tk 2 gradanin ;
gradanN = izvorN anim gradan
in izvorN anim gradanin ** {
pnom,pvoc = gradanN.pnom ;
pgen = gradanN.pgen ;
pdat,ploc,pins = gradanN.pdat ;
pacc = gradanN.pacc ;
pnom = gradanN.pnom ;
pgen = gradanN.pgen ;
pdat = gradanN.pdat ;
pacc = gradanN.pacc ;
} ;
-- vojnik, bubreg, trbuh, stric by izvorN, čvórak, klinac by nokatN

270
src/croatian/gold-test.txt Normal file
View File

@@ -0,0 +1,270 @@
s . Sg => Nom => izvor
s . Sg => Gen => izvora
s . Sg => Dat => izvoru
s . Sg => Acc => izvor
s . Sg => Voc => izvore
s . Sg => Loc => izvoru
s . Sg => Ins => izvorom
s . Pl => Nom => izvori
s . Pl => Gen => izvora
s . Pl => Dat => izvorima
s . Pl => Acc => izvore
s . Pl => Voc => izvori
s . Pl => Loc => izvorima
s . Pl => Ins => izvorima
g . Masc Inanim
s . Sg => Nom => nokat
s . Sg => Gen => nokta
s . Sg => Dat => noktu
s . Sg => Acc => nokat
s . Sg => Voc => nokte
s . Sg => Loc => noktu
s . Sg => Ins => noktom
s . Pl => Nom => nokti
s . Pl => Gen => nokata
s . Pl => Dat => noktima
s . Pl => Acc => nokte
s . Pl => Voc => nokti
s . Pl => Loc => noktima
s . Pl => Ins => noktima
g . Masc Inanim
s . Sg => Nom => građanin
s . Sg => Gen => građanina
s . Sg => Dat => građaninu
s . Sg => Acc => građanina
s . Sg => Voc => građanine
s . Sg => Loc => građaninu
s . Sg => Ins => građaninom
s . Pl => Nom => građani
s . Pl => Gen => građana
s . Pl => Dat => građanima
s . Pl => Acc => građane
s . Pl => Voc => građani
s . Pl => Loc => građanima
s . Pl => Ins => građanima
g . Masc Anim
s . Sg => Nom => vojnik
s . Sg => Gen => vojnika
s . Sg => Dat => vojniku
s . Sg => Acc => vojnika
s . Sg => Voc => vojniče
s . Sg => Loc => vojniku
s . Sg => Ins => vojnikom
s . Pl => Nom => vojnici
s . Pl => Gen => vojnika
s . Pl => Dat => vojnicima
s . Pl => Acc => vojnike
s . Pl => Voc => vojnici
s . Pl => Loc => vojnicima
s . Pl => Ins => vojnicima
g . Masc Anim
s . Sg => Nom => bubreg
s . Sg => Gen => bubrega
s . Sg => Dat => bubregu
s . Sg => Acc => bubrega
s . Sg => Voc => bubreže
s . Sg => Loc => bubregu
s . Sg => Ins => bubregom
s . Pl => Nom => bubrezi
s . Pl => Gen => bubrega
s . Pl => Dat => bubrezima
s . Pl => Acc => bubrege
s . Pl => Voc => bubrezi
s . Pl => Loc => bubrezima
s . Pl => Ins => bubrezima
g . Masc Anim
s . Sg => Nom => trbuh
s . Sg => Gen => trbuha
s . Sg => Dat => trbuhu
s . Sg => Acc => trbuha
s . Sg => Voc => trbuše
s . Sg => Loc => trbuhu
s . Sg => Ins => trbuhom
s . Pl => Nom => trbusi
s . Pl => Gen => trbuha
s . Pl => Dat => trbusima
s . Pl => Acc => trbuhe
s . Pl => Voc => trbusi
s . Pl => Loc => trbusima
s . Pl => Ins => trbusima
g . Masc Anim
s . Sg => Nom => čvorak
s . Sg => Gen => čvorka
s . Sg => Dat => čvorku
s . Sg => Acc => čvorka
s . Sg => Voc => čvorče
s . Sg => Loc => čvorku
s . Sg => Ins => čvorkom
s . Pl => Nom => čvorci
s . Pl => Gen => čvoraka
s . Pl => Dat => čvorcima
s . Pl => Acc => čvorke
s . Pl => Voc => čvorci
s . Pl => Loc => čvorcima
s . Pl => Ins => čvorcima
g . Masc Anim
s . Sg => Nom => panj
s . Sg => Gen => panja
s . Sg => Dat => panju
s . Sg => Acc => panj
s . Sg => Voc => panju
s . Sg => Loc => panju
s . Sg => Ins => panjem
s . Pl => Nom => panjevi
s . Pl => Gen => panjeva
s . Pl => Dat => panjevima
s . Pl => Acc => panjeve
s . Pl => Voc => panjevi
s . Pl => Loc => panjevima
s . Pl => Ins => panjevima
g . Masc Inanim
s . Sg => Nom => sužanj
s . Sg => Gen => sužanja
s . Sg => Dat => sužanju
s . Sg => Acc => sužanj
s . Sg => Voc => sužanju
s . Sg => Loc => sužanju
s . Sg => Ins => sužanjem
s . Pl => Nom => sužnji
s . Pl => Gen => sužanja
s . Pl => Dat => sužnjima
s . Pl => Acc => sužnje
s . Pl => Voc => sužnji
s . Pl => Loc => sužnjima
s . Pl => Ins => sužnjima
g . Masc Inanim
s . Sg => Nom => prišt
s . Sg => Gen => prišta
s . Sg => Dat => prištu
s . Sg => Acc => prišt
s . Sg => Voc => prištu
s . Sg => Loc => prištu
s . Sg => Ins => prištem
s . Pl => Nom => prištevi
s . Pl => Gen => prištava
s . Pl => Dat => prištevima
s . Pl => Acc => prišteve
s . Pl => Voc => prištevi
s . Pl => Loc => prištevima
s . Pl => Ins => prištevima
g . Masc Inanim
s . Sg => Nom => stric
s . Sg => Gen => strica
s . Sg => Dat => stricu
s . Sg => Acc => strica
s . Sg => Voc => striče
s . Sg => Loc => stricu
s . Sg => Ins => stricem
s . Pl => Nom => stričevi
s . Pl => Gen => stričeva
s . Pl => Dat => stričevima
s . Pl => Acc => stričeve
s . Pl => Voc => stričevi
s . Pl => Loc => stričevima
s . Pl => Ins => stričevima
g . Masc Anim
s . Sg => Nom => klinac
s . Sg => Gen => klinca
s . Sg => Dat => klincu
s . Sg => Acc => klinac
s . Sg => Voc => klinče
s . Sg => Loc => klincu
s . Sg => Ins => klincem
s . Pl => Nom => klinci
s . Pl => Gen => klinaca
s . Pl => Dat => klincima
s . Pl => Acc => klince
s . Pl => Voc => klinci
s . Pl => Loc => klincima
s . Pl => Ins => klincima
g . Masc Inanim
s . Sg => Nom => posjetilac
s . Sg => Gen => posjetioca
s . Sg => Dat => posjetiocu
s . Sg => Acc => posjetioca
s . Sg => Voc => posjetioče
s . Sg => Loc => posjetiocu
s . Sg => Ins => posjetiočem
s . Pl => Nom => posjetioci
s . Pl => Gen => posjetilaca
s . Pl => Dat => posjetiocima
s . Pl => Acc => posjetioce
s . Pl => Voc => posjetioci
s . Pl => Loc => posjetiocima
s . Pl => Ins => posjetiocima
g . Masc Anim
s . Sg => Nom => pepeo
s . Sg => Gen => pepela
s . Sg => Dat => pepelu
s . Sg => Acc => pepeo
s . Sg => Voc => pepele
s . Sg => Loc => pepelu
s . Sg => Ins => pepelom
s . Pl => Nom => pepeli
s . Pl => Gen => pepela
s . Pl => Dat => pepelima
s . Pl => Acc => pepele
s . Pl => Voc => pepeli
s . Pl => Loc => pepelima
s . Pl => Ins => pepelima
g . Masc Inanim
s . Sg => Nom => ugao
s . Sg => Gen => ugla
s . Sg => Dat => uglu
s . Sg => Acc => ugao
s . Sg => Voc => ugle
s . Sg => Loc => uglu
s . Sg => Ins => uglom
s . Pl => Nom => uglovi
s . Pl => Gen => uglova
s . Pl => Dat => uglovima
s . Pl => Acc => uglove
s . Pl => Voc => uglovi
s . Pl => Loc => uglovima
s . Pl => Ins => uglovima
g . Masc Inanim
s . Sg => Nom => bife
s . Sg => Gen => bifea
s . Sg => Dat => bifeu
s . Sg => Acc => bife
s . Sg => Voc => bifeu
s . Sg => Loc => bifeu
s . Sg => Ins => bifeom
s . Pl => Nom => bifei
s . Pl => Gen => bifea
s . Pl => Dat => bifeima
s . Pl => Acc => bifee
s . Pl => Voc => bifei
s . Pl => Loc => bifeima
s . Pl => Ins => bifeima
g . Masc Inanim
s . Sg => Nom => žiri
s . Sg => Gen => žirija
s . Sg => Dat => žiriju
s . Sg => Acc => žiri
s . Sg => Voc => žiriju
s . Sg => Loc => žiriju
s . Sg => Ins => žirijem
s . Pl => Nom => žirji
s . Pl => Gen => žirija
s . Pl => Dat => žirijima
s . Pl => Acc => žirije
s . Pl => Voc => žiriji
s . Pl => Loc => žirijima
s . Pl => Ins => žirijima
g . Masc Inanim
s . Sg => Nom => taksi
s . Sg => Gen => taksija
s . Sg => Dat => taksiju
s . Sg => Acc => taksi
s . Sg => Voc => taksiju
s . Sg => Loc => taksiju
s . Sg => Ins => taksijem
s . Pl => Nom => taksiji
s . Pl => Gen => taksija
s . Pl => Dat => taksijima
s . Pl => Acc => taksije
s . Pl => Voc => taksiji
s . Pl => Loc => taksijima
s . Pl => Ins => taksijima
g . Masc Inanim

18
src/croatian/testHrv.gfs Normal file
View File

@@ -0,0 +1,18 @@
cc -table -unqual nounFormsNoun (izvorN Inanim "izvor")
cc -table -unqual nounFormsNoun (nokatN Inanim "nokat")
cc -table -unqual nounFormsNoun (gradaninN Anim "građanin")
cc -table -unqual nounFormsNoun (izvorN Anim "vojnik")
cc -table -unqual nounFormsNoun (izvorN Anim "bubreg")
cc -table -unqual nounFormsNoun (izvorN Anim "trbuh")
cc -table -unqual nounFormsNoun (nokatN Anim "čvorak")
cc -table -unqual nounFormsNoun (izvorN Inanim "panj")
cc -table -unqual nounFormsNoun (nokatN Inanim "sužanj")
cc -table -unqual nounFormsNoun (izvorN Inanim "prišt")
cc -table -unqual nounFormsNoun (izvorN Anim "stric")
cc -table -unqual nounFormsNoun (nokatN Inanim "klinac")
cc -table -unqual nounFormsNoun (nokatN Anim "posjetilac")
cc -table -unqual nounFormsNoun (izvorN Inanim "pepeo")
cc -table -unqual nounFormsNoun (izvorN Inanim "ugao")
cc -table -unqual nounFormsNoun (izvorN Inanim "bife")
cc -table -unqual nounFormsNoun (izvorN Inanim "žiri")
cc -table -unqual nounFormsNoun (izvorN Inanim "taksi")