From b1e25c2167cfb3958fe2eed7923d301d14ccbc93 Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 24 Apr 2020 07:02:23 +0200 Subject: [PATCH] (Hun) Fix allomorph of Pl P3 possessor with Pl noun --- src/hungarian/ParamHun.gf | 4 ++-- src/hungarian/ResHun.gf | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/hungarian/ParamHun.gf b/src/hungarian/ParamHun.gf index f20616229..af7d8d234 100644 --- a/src/hungarian/ParamHun.gf +++ b/src/hungarian/ParamHun.gf @@ -29,7 +29,7 @@ param ; -- Singular stems. Plural is always same, no need to add here. - PossStem = dSg_rSg1P2 | dSg_rP3 | dSg_rPl1 ; + PossStem = dSg_rSg1P2 | dSg_rP3 Number | dSg_rPl1 ; oper -- standard trick to prevent "a one car" @@ -42,7 +42,7 @@ oper agr2PossStem : Person*Number -> PossStem = \pn -> case of { => dSg_rPl1 ; - => dSg_rP3 ; + => dSg_rP3 n ; _ => dSg_rSg1P2 } ; diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index 9f9de7a7e..a48b990e1 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -40,13 +40,17 @@ oper let stem_casetable : NumCaseStem*(Case->HarmForms) = case of { => case st of { dSg_rSg1P2 => ; - dSg_rP3 => ; -- TODO nneeds to be vowel only after Sg3 + dSg_rP3 Sg => ; + dSg_rP3 Pl => ; dSg_rPl1 => } ; => ; _ => Predef.error "caseFromPossStem: Trying to apply to non-possessive Det" } ; stem = stem_casetable.p1 ; casetable = stem_casetable.p2 ; - in applyCaseSuf (det.poss ! cn.h) cas cn stem casetable ; + suf = case of { + => "k" ; + _ => det.poss ! cn.h } ; + in applyCaseSuf suf cas cn stem casetable ; BaseNP : Type = { agr : Person*Number ;