From 382279fb5beb0ada5ce34f69a105d4af14c6e508 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 29 Apr 2020 19:15:12 +0200 Subject: [PATCH 1/3] (Hun) Fixes in dMajom + pattern that recognises dMajom in smart paradigm --- src/hungarian/NounMorphoHun.gf | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf index d214fae3..ebf4e85c 100644 --- a/src/hungarian/NounMorphoHun.gf +++ b/src/hungarian/NounMorphoHun.gf @@ -91,12 +91,17 @@ oper majm = init majmo ; nMajmo = mkNoun majmo ; nMajom = mkNoun majom ; + o = last (init majom) ; in nMajmo ** { s = \\nc => case nc of { - SgSup -- All plural forms and Sg Acc and Sg Sup use the "majmo" stem - | PlStem - | SgAccStem => nMajmo.s ! nc ; + -- All plural forms and Sg Acc use the "majmo" stem + PlStem | SgAccStem => nMajmo.s ! nc ; + + -- Sg Sup uses the same majm* stem, but vowel can be different: + -- sátor, sátrat -> sátron, not *sátran + -- vászon, vásznat -> vásznon, not *vásznan + SgSup => majm + o + "n" ; -- The plural morpheme before possessive suffixes: majmai PossdPl => majm + harm "a" "e" ! nMajmo.h + "i" ; @@ -296,8 +301,8 @@ oper -- Stem 1: Sg Nom -- Stem 2: Sg Gen, Sg Sup, Pl * - <_ + #shortv + #c, -- majom, majmot - _ + #c + #shortv + "t"> => dMajom n a ; + <_ + #c + #shortv + #c, -- majom, majmot + _ + #c + #c + #shortv + "t"> => dMajom n a ; -- Stem 1: Sg Nom -- Stem 2: Sg Sup From 0e80e3b76d27715b3c07be11f337562e805eb898 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 29 Apr 2020 19:15:59 +0200 Subject: [PATCH 2/3] (Hun) Use 4-arg paradigm for some words in Lexicon --- src/hungarian/LexiconHun.gf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/hungarian/LexiconHun.gf b/src/hungarian/LexiconHun.gf index 4d70bedf..deda0643 100644 --- a/src/hungarian/LexiconHun.gf +++ b/src/hungarian/LexiconHun.gf @@ -8,7 +8,7 @@ concrete LexiconHun of Lexicon = CatHun ** lin airplane_N = mkN "repülőgép" "repülőgépet" ; -- lin alas_Interj = mkInterj "" ; -- lin already_Adv = mkA "" ; -lin animal_N = mkN "állat" "állatot" ; +lin animal_N = mkN "állat" "állatot" "állatok" "állata" ; -- lin answer_V2S = mkV2S "válasz" ; lin apartment_N = mkN "lakás" "lakást" ; lin apple_N = mkN "alma" ; @@ -261,10 +261,10 @@ lin peace_N = mkN "béke" "békét"; lin pen_N = mkN "toll" "tollat" ; lin person_N = mkN "ember" "embert"; lin planet_N = mkN "bolygó" "bolygót" ; -lin plastic_N = mkN "műanyag" "műanyagot" ; +lin plastic_N = mkN "műanyag" "műanyagot" "műanyagok" "műanyaga" ; -- lin play_V = mkV "" ; lin policeman_N = mkN "rendőr" "rendőrt"; --the police "rendőrség" -lin priest_N = mkN "pap" "papot" ; +lin priest_N = mkN "pap" "papot" "papok" "papja" ; -- lin pull_V2 = mkV2 "" ; -- lin push_V2 = mkV2 "" ; -- lin put_V2 = mkV2 "" ; @@ -279,7 +279,7 @@ lin rain_N = mkN "eső" "esőt" ; -- lin rain_V0 = mkV "" ; -- lin read_V2 = mkV2 "" ; lin ready_A = mkA "kész" ; -lin reason_N = mkN "ok" "okot" ; +lin reason_N = mkN "ok" "okot" "okok" "oka" ; lin red_A = mkA "piros" ; lin religion_N = mkN "vallás" "vallást"; lin restaurant_N = mkN "étterem" "éttermet"; @@ -300,14 +300,14 @@ lin rule_N = mkN "szabály" "szabályt" ; -- S lin salt_N = mkN "só" "sót" ; -lin sand_N = mkN "homok" "homokot" ; +lin sand_N = mkN "homok" "homokot" "homokok" "homokja" ; -- lin say_VS = mkVS "" ; lin school_N = mkN "iskola" "iskolát"; lin science_N = mkN "tudomány" "tudományt" ; -- lin scratch_V2 = mkV2 "" ; lin sea_N = mkN "tenger" "tengert"; lin see_V2 = mkV2 "lát" ; -lin seed_N = mkN "mag" "magot" ; +lin seed_N = mkN "mag" "magot" "magok" "magja" ; -- lin seek_V2 = mkV2 "" ; -- lin sell_V3 = mkV3 "" ; -- lin send_V3 = mkV3 "" ; @@ -341,7 +341,7 @@ lin song_N = mkN "dal" "dalt" ; -- lin squeeze_V2 = mkV2 "" ; -- lin stab_V2 = mkV2 "" ; -- lin stand_V = mkV "" ; -lin star_N = mkN "csillag" "csillagot" ; +lin star_N = mkN "csillag" "csillagot" "csillagok" "csillaga" ; lin steel_N = mkN "acél" "ok" harmA ; lin stick_N = mkN "rúd" "rudat" ; lin stone_N = mkN "kő" "követ" ; @@ -373,7 +373,7 @@ lin thin_A = mkA "vekony" ; lin today_Adv = mkAdv "ma" ; lin tongue_N = mkN "nyelv" "nyelvet"; --same as language lin tooth_N = mkN "fog" "fogat" ; -lin train_N = mkN "vonat" "vonatot" ; +lin train_N = mkN "vonat" "vonatot" "vonatok" "vonata" ; -- lin travel_V = mkV "" ; lin tree_N = mkN "fa" "fát"; -- lin turn_V = mkV "" ; @@ -404,7 +404,7 @@ lin wide_A = mkA "széles" ; lin wife_N = mkN "feleség" "feleséget" ; -- lin win_V2 = mkV2 "" ; lin wind_N = mkN "szél" "szelet" ; -lin window_N = mkN "ablak" "ablakot" ; +lin window_N = mkN "ablak" "ablakot" "ablakok" "ablaka" ; lin wine_N = mkN "bor" "bort"; lin wing_N = mkN "szárny" "szárnyat"; -- lin wipe_V2 = mkV2 "" ; From db3c559fc85fb3028a2a22a07878b5e35060e956 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Wed, 29 Apr 2020 19:20:34 +0200 Subject: [PATCH 3/3] (Hun) Remove calls to Predef.error --- src/hungarian/NounMorphoHun.gf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf index ebf4e85c..5b08fb42 100644 --- a/src/hungarian/NounMorphoHun.gf +++ b/src/hungarian/NounMorphoHun.gf @@ -448,7 +448,7 @@ oper x + "u" => x + "ú" ; x + "ö" => x + "ő" ; x + "ü" => x + "ű" ; - _ => Predef.error "Lengthening not applicable to" ++ str + _ => str -- Lengthening not applicable to str } ; shorten : Str -> Str = \str -> case str of { @@ -459,7 +459,7 @@ oper x + "ú" => x + "u" ; x + "ő" => x + "ö" ; x + "ű" => x + "ü" ; - _ => Predef.error "Shortening not applicable to" ++ str + _ => str -- Shortening not applicable to str } ; -- Function to get a harmony from a string