From fccc0428fd176adce500a13af9328b9a485ba2a7 Mon Sep 17 00:00:00 2001 From: Aarne Ranta Date: Thu, 17 Aug 2023 23:04:41 +0300 Subject: [PATCH] a couple more infinitives interpreted --- src/finnish/infinitives/InfinitiveFin.gf | 2 +- .../infinitives/InterpretInfinitives.hs | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/finnish/infinitives/InfinitiveFin.gf b/src/finnish/infinitives/InfinitiveFin.gf index 8ace5786..220825b7 100644 --- a/src/finnish/infinitives/InfinitiveFin.gf +++ b/src/finnish/infinitives/InfinitiveFin.gf @@ -159,7 +159,7 @@ oper -- hänen syövän, häntä syödyn, häntä syötävän subjPartVP : ResFin.NP -> StemFin.VP -> NPForm -> VForm -> Str = \np, vp, npform, vform -> - np.s ! NPCase Gen ++ + np.s ! npform ++ vp.s.s ! vform ++ vp.s2 ! True ! Pos ! np.a ++ vp.adv ! Pos ++ diff --git a/src/finnish/infinitives/InterpretInfinitives.hs b/src/finnish/infinitives/InterpretInfinitives.hs index a7d2c054..1b32f6fb 100644 --- a/src/finnish/infinitives/InterpretInfinitives.hs +++ b/src/finnish/infinitives/InterpretInfinitives.hs @@ -18,12 +18,14 @@ data Fact = Fact { initFact = Fact Nothing Nothing Nothing Nothing Nothing Nothing Nothing -factTree fact = case (agent fact, action fact) of - (Just np, Just vp) -> +factTree fact = case action fact of + (Just vp) -> GUttS $ GUseCl (maybe presentTense id (tense fact)) (maybe positivePol id (polarity fact)) - (GPredVP np vp) + (GPredVP + (maybe Gsomebody_NP id (agent fact)) + vp) _ -> GUttNP Gnothing_NP presentTense = GTTAnt GTPres GASimul @@ -31,6 +33,7 @@ pastTense = GTTAnt GTPast GASimul perfectTense = GTTAnt GTPres GAAnter pluperfectTense = GTTAnt GTPast GAAnter positivePol = GPPos +negativePol = GPNeg facts :: Infinitive.Tree a -> [Fact] @@ -38,7 +41,15 @@ facts t = case t of GComplPresPartActVS vs np vp -> [initFact{attitude = Just vs, agent = Just np, action = Just vp}] GComplPastPartActVS vs np vp -> - [initFact{tense = Just perfectTense, attitude = Just vs, agent = Just np, action = Just vp}] + [initFact{tense = Just perfectTense, attitude = Just vs, + agent = Just np, action = Just vp}] + GInf3AbessAdv vp -> + [initFact{polarity = Just negativePol, action = Just vp}] + GComplPresPartPassVS vs np vpslash -> + [initFact{attitude = Just vs, action = Just (GComplSlash vpslash np)}] + GComplPastPartPassVS vs np vpslash -> + [initFact{tense = Just perfectTense, attitude = Just vs, + action = Just (GComplSlash vpslash np)}] _ -> composOpMPlus facts t