From 49ff81a3f4c69ef478dfa7540afcce991279fcd6 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 9 Apr 2020 14:26:45 +0200 Subject: [PATCH] (Hun) Updated paradigms --- src/hungarian/LexiconHun.gf | 4 ++-- src/hungarian/NounMorphoHun.gf | 20 +++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/hungarian/LexiconHun.gf b/src/hungarian/LexiconHun.gf index e90149e3..6646f103 100644 --- a/src/hungarian/LexiconHun.gf +++ b/src/hungarian/LexiconHun.gf @@ -9,7 +9,7 @@ concrete LexiconHun of Lexicon = CatHun ** -- lin alas_Interj = mkInterj "" ; -- lin already_Adv = mkA "" ; -- lin animal_N = mkN "" ; -lin answer_V2S = mkV2S "válasz" ; +--lin answer_V2S = mkV2S "válasz" ; -- lin apartment_N = mkN "" ; lin apple_N = mkN "alma" ; lin art_N = mkN "müvészet" ; @@ -395,7 +395,7 @@ lin village_N = mkN "falu" ; -- lin warm_A = mkA "" ; -- lin wash_V2 = mkV2 "" ; -- lin watch_V2 = mkV2 "" ; -lin water_N = mkNoun "víz" ; +lin water_N = mkN "víz" ; -- lin wet_A = mkA "" ; -- lin white_A = mkA "" ; -- lin wide_A = mkA "" ; diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf index e06d0294..641f2fd3 100644 --- a/src/hungarian/NounMorphoHun.gf +++ b/src/hungarian/NounMorphoHun.gf @@ -29,7 +29,7 @@ oper mada = shorten madá ; -- shortens vowels a = last mada ; madara = mada + r + a ; - nMadara = mkNoun madara ; + nMadara = mkNounHarm (getHarm madara) "k" madara ; nMadár = mkNoun madár ; in {s = \\n,c => case of { -- All plural forms and Sg Acc use the "madara"/"neve" stem @@ -42,11 +42,6 @@ oper } ; } ; - -- TODO: actual paradigm - dSör : Str -> Noun = \sör -> - let foo : Str = "foo" ; - in mkNoun sör ; - --Handles words like "ló, kő" which are "lovak, kövek" in plural. dLó : Str -> Noun = \ló -> let lo = shorten ló ; @@ -77,10 +72,10 @@ oper let mo = last majom + last (init majom); maj = init (init majom) ; majmo = maj + mo ; - nMajmo = mkNoun majmo ; + nMajmo = mkNounHarm (getHarm majmo) "k" majmo ; nMajom = mkNoun majom ; in {s = \\n,c => case of { - => majmo + "kat" ; --Special case + -- => majmo + "kat" ; --Special case -- All plural forms and Sg Acc use the "majmo" stem | => nMajmo.s ! n ! c ; @@ -224,12 +219,15 @@ oper mkNounHarm (getHarm w) (pluralAllomorph w) w ; -- Harmony and plural allomorph given explicitly - mkNounHarm : Harm -> (plural : Str) -> Str -> Noun = \h,plural,w -> + mkNounHarm : Harm -> (plural : Str) -> Str -> Noun = mkNounHarmAcc True ; + + mkNounHarmAcc : (useAt : Bool) -> Harm -> (plural : Str) -> Str -> Noun = \useAt,h,plural,w -> let endCaseSg : Case -> HarmForms = case vowFinal w of { True => endCaseVow ; False => endCaseCons } ; - endCasePl : Case -> HarmForms = case plural of { - "ak" => endCaseConsAccAt ; -- TODO check + endCasePl : Case -> HarmForms = case of { + <"ak",_> => endCaseConsAccAt ; + <_,True> => endCaseConsAccAt ; _ => endCaseCons } ; -- Last consonant doubles before instrumental and translative lastCons : Str = case vowFinal w of {