From 26a1e55cbe60e9253c34432f51933d40bbb4455e Mon Sep 17 00:00:00 2001 From: Krasimir Angelov Date: Tue, 19 May 2026 13:29:03 +0200 Subject: [PATCH] more constructions --- src/hungarian/AdjectiveHun.gf | 4 +++- src/hungarian/ExtendHun.gf | 13 +++++++++++++ src/hungarian/SentenceHun.gf | 3 +++ src/hungarian/VerbHun.gf | 6 ++++-- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/hungarian/AdjectiveHun.gf b/src/hungarian/AdjectiveHun.gf index f5fa609d..4cdeb05d 100644 --- a/src/hungarian/AdjectiveHun.gf +++ b/src/hungarian/AdjectiveHun.gf @@ -54,7 +54,9 @@ concrete AdjectiveHun of Adjective = CatHun ** open ResHun, Prelude in { -- phrases, although the semantics is only clear for some adjectives. -- : AP -> SC -> AP ; -- good that she is here - -- SentAP ap sc = ap ** {} ; + SentAP ap sc = ap ** { + compl = \\n => ap.compl ! n ++ SOFT_BIND ++ "," ++ "hogy" ++ sc.s ; + } ; -- An adjectival phrase can be modified by an *adadjective*, such as "very". diff --git a/src/hungarian/ExtendHun.gf b/src/hungarian/ExtendHun.gf index 3bd446d1..851cd358 100644 --- a/src/hungarian/ExtendHun.gf +++ b/src/hungarian/ExtendHun.gf @@ -11,6 +11,19 @@ lin CompoundN n1 n2 = n2 ** {s = \\nc => n1.s ! SgNom ++ BIND ++ n2.s ! nc} ; + GenModNP num np cn = + let det : Determiner = DetQuant DefArt num ; + pron : Pronoun = pronTable ! np.agr ; + in emptyNP ** cn ** det ** { + s = \\_,c => + np.s ! NoPoss ! Nom + ++ np.postmod + ++ caseFromPossStem cn (DetQuant (PossPron pron) num) c + ++ cn.compl ! det.n ! c ; + agr = ; + objdef = Def ; + } ; + UseDAP = DetNP ; UseDAPMasc, UseDAPFem = \dap -> DetNP dap ** {g = Human} ; diff --git a/src/hungarian/SentenceHun.gf b/src/hungarian/SentenceHun.gf index 8ddef3f1..a74cf853 100644 --- a/src/hungarian/SentenceHun.gf +++ b/src/hungarian/SentenceHun.gf @@ -47,6 +47,9 @@ lin -} --2 Sentences + -- : S -> SC ; + EmbedS s = {s = s.s} ; + -- : Temp -> Pol -> Cl -> S ; UseCl t p cl = { s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p diff --git a/src/hungarian/VerbHun.gf b/src/hungarian/VerbHun.gf index 0b4afc72..593c5c3e 100644 --- a/src/hungarian/VerbHun.gf +++ b/src/hungarian/VerbHun.gf @@ -111,8 +111,10 @@ lin CompAP ap = UseCopula ** { s = \\vf => case vf of { VPres P3 n => ap.s ! n ! Nom ++ ap.compl ! n ; - VPres _ n => ap.s ! n ! Nom ++ copula.s ! vf ++ ap.compl ! n ; - _ => ap.s ! Sg ! Nom ++ copula.s ! vf ++ ap.compl ! Sg } ; + VPres _ n => ap.s ! n ! Nom ++ copula.s ! vf ++ ap.compl ! n ; + VPast _ n => ap.s ! n ! Nom ++ copula.s ! vf ++ ap.compl ! n ; + _ => ap.s ! Sg ! Nom ++ copula.s ! vf ++ ap.compl ! Sg + } ; } ; -- : CN -> Comp ;