From 6d9fa598632ae4bb71b5711d36752c939e877453 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Thu, 9 Apr 2020 19:54:06 +0200 Subject: [PATCH] (Hun) Fix partially the case with takony in dMajom --- src/hungarian/NounMorphoHun.gf | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/hungarian/NounMorphoHun.gf b/src/hungarian/NounMorphoHun.gf index ec0f22278..1027b4eff 100644 --- a/src/hungarian/NounMorphoHun.gf +++ b/src/hungarian/NounMorphoHun.gf @@ -98,10 +98,23 @@ oper -- "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) ; - majmo = maj + mo ; - nMajmo = mkNounHarm (getHarm majmo) "k" majmo ; + -- Str*Str is syntactic sugar for {p1 : Str ; p2 : Str} ; + -- confusing syntax: you can't write let : Str*Str = … + -- it has to be called something else, and then you + -- can get "tako" and "ny" with p1, p2. + let tako_ny : Str*Str = case majom of { + x + trigraph@("dzs") => ; + x + digraph@("cs"|"dz"|"gy"|"ly"|"ny"|"sz"|"ty"|"zs") + => ; + -- ? pattern matches exactly 1 character + x + unigraph@? => } ; + tako = tako_ny.p1 ; + ny = tako_ny.p2 ; + + nyo = ny + last tako ; + tak = init tako ; + taknyo = tak + nyo ; + nMajmo = mkNounHarm (getHarm taknyo) "k" taknyo ; nMajom = mkNoun majom ; in {s = \\n,c => case of { -- All plural forms and Sg Acc and Sg Sup use the "majmo" stem