diff --git a/src/croatian/ResHrv.gf b/src/croatian/ResHrv.gf index 8aaab1c61..22980d1f8 100644 --- a/src/croatian/ResHrv.gf +++ b/src/croatian/ResHrv.gf @@ -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 diff --git a/src/croatian/gold-test.txt b/src/croatian/gold-test.txt new file mode 100644 index 000000000..c007fed40 --- /dev/null +++ b/src/croatian/gold-test.txt @@ -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 diff --git a/src/croatian/testHrv.gfs b/src/croatian/testHrv.gfs new file mode 100644 index 000000000..1dcace23b --- /dev/null +++ b/src/croatian/testHrv.gfs @@ -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")