From 4ed862617c67f4d4e0b7a4861dd06f41aa4fb150 Mon Sep 17 00:00:00 2001 From: Julia Jansson Date: Thu, 9 Apr 2020 19:31:07 +0200 Subject: [PATCH] =?UTF-8?q?Checked=20Sup=20case=20and=20started=20with=20s?= =?UTF-8?q?=C3=A1tor=20case?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hungarian/NounMorphoHun.gf | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf index 01641f8c3..ec0f22278 100644 --- a/src/hungarian/NounMorphoHun.gf +++ b/src/hungarian/NounMorphoHun.gf @@ -23,6 +23,7 @@ oper } ; -- Handles words like "madár, nyár, név" with shortened stem vowel in plural + -- No special case here dMadár : Str -> Noun = \madár -> let r = last madár ; madá = init madár ; @@ -43,8 +44,9 @@ oper } ; --Handles words like "ló, lé, kő" which are "lovak, levek, kövek" in plural. - --TODO: "lovon" instead of "lón" - --TODO: special case "lén" not "leven", maybe just put the case in specific words, many special cases... + -- "lovon" instead of "lón" fixed but that gives the following problems: + --TODO: special case "lén" not "leven" + --TODO: also "kövön" not "köven", but that is due to H_e, which is needed for "köveket" so it's conflicting dLó : Str -> Noun = \ló -> let lo = shorten ló ; lov = lo + "v" ; @@ -72,8 +74,8 @@ oper --Handles words like "tó, hó"" which are "tavak, havak" in plural. --(Since I only have these examples for now I do a simplified case with ó, a) - --TODO: "tavon" instead of "tón" - --TODO: szó special case which fulfills this but not the or case + -- "tavon" instead of "tón" case fixed, works automatically with the Sup rules + --TODO: szó special case which fulfills the plural cases but not the or case ("szót" not "szavat") dTó : Str -> Noun = \tó -> let t = init tó ; tav = t + "av" ; @@ -81,8 +83,8 @@ oper nTó = mkNoun tó ; in {s = \\n,c => case of { - -- All plural forms and Sg Acc use the "tava" stem - | => nTav.s ! n ! c ; + -- All plural forms and Sg Acc use the "tav" stem + || => nTav.s ! n ! c ; -- The rest of the forms are formed with the regular constructor, -- using "tó" as the stem. @@ -91,7 +93,10 @@ oper } ; } ; - --Handles words like "gyomor, majom, retek, eper" which are "gyomrot, majmot, retket, epret" in plural (wovel dropping base) + --Handles words like "gyomor, majom, retek" which are "gyomrot, majmot, retket" in accusative (wovel dropping base) + --More examples: "bokor, cukor, csokor, eper, fészek, fodor, gödör, iker, izom, kölyök, köröm, méreg, piszok, sarok, selyem, szeder, szobor, takony, terem, titok, torok, torony, tükör, vödör" -> + -- "bokrot, cukrot, csokrot, epret, fészket, fodrot, gödröt, ikret, izmot, kölyköt, körmet, mérget, piszkot, sarkot, selymet, szedret, szobrot, taknyot, termet, titkot, torkot, tornyot, tükröt, vödröt" + -- case handled dMajom : Str -> Noun = \majom -> let mo = last majom + last (init majom); maj = init (init majom) ; @@ -99,8 +104,6 @@ oper nMajmo = mkNounHarm (getHarm majmo) "k" majmo ; nMajom = mkNoun majom ; in {s = \\n,c => case of { - -- => majmo + "kat" ; --Special case - -- All plural forms and Sg Acc and Sg Sup use the "majmo" stem | | => nMajmo.s ! n ! c ; @@ -110,6 +113,8 @@ oper } ; } ; + --Handles words like "sátor, ajak, álom, alkalom, farok, halom, haszon, vászon, bátor" + -- More words not covered by current paradigms: -- https://cl.lingfil.uu.se/~bea/publ/megyesi-hungarian.pdf -- falu ~ falva-k