diff --git a/src/hungarian/ResHun.gf b/src/hungarian/ResHun.gf index ee7a7757..fb3ad10b 100644 --- a/src/hungarian/ResHun.gf +++ b/src/hungarian/ResHun.gf @@ -181,7 +181,7 @@ oper Verb : Type = { s : VForm => Str ; - sc : Case ; -- subject case + sc : SubjCase ; -- subject case } ; Verb2 : Type = Verb ** { c2 : Case -- object case @@ -218,7 +218,7 @@ oper VFin P2 Pl => pl2 ; VFin P3 Pl => pl3 } ; - sc = Nom + sc = SCNom } ; copula : Verb = mkVerbFull @@ -274,11 +274,14 @@ oper Sentence : Type = {s : Str} ; predVP : NounPhrase -> VerbPhrase -> ClSlash = \np,vp -> vp ** { - s = \\t,a,p => - np.s ! vp.sc - ++ vp.obj - ++ vp.adv - ++ vp.s ! agr2vf np.agr + s = \\t,a,p => let subjcase : Case = case vp.sc of { + SCNom => Nom ; + SCDat => Dat } + in np.s ! subjcase + ++ np.empty -- standard trick for prodrop + ++ vp.obj + ++ vp.adv + ++ vp.s ! agr2vf np.agr } ; -------------------------------------------------------------------------------- diff --git a/src/hungarian/StructuralHun.gf b/src/hungarian/StructuralHun.gf index 513e7ba3..0c73f8cb 100644 --- a/src/hungarian/StructuralHun.gf +++ b/src/hungarian/StructuralHun.gf @@ -149,12 +149,11 @@ lin language_title_Utt = ss "magyar" ; lin no_Utt = ss "nem" ; lin yes_Utt = ss "igen" ; -{- ------- -- Verb -lin have_V2 = vtov2 copula ** {sc = ??}; -lin can8know_VV = can_VV ; -- can (capacity) +lin have_V2 = vtov2 copula ** {sc = SCDat ; c2 = Nom} ; +{-lin can8know_VV = can_VV ; -- can (capacity) lin can_VV = mkVV "" ; -- can (possibility) lin must_VV = mkVV "" ; lin want_VV = mkVV "" subjunctive ;