From e1538f762fe84fc65c622bb74021b717a0b3a8aa Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 25 Sep 2014 21:01:17 +0000 Subject: [PATCH] =?UTF-8?q?participles=20and=20gerunds=20in=20TranslateFin?= =?UTF-8?q?.=20"vaimoni=20ostama=20olut=20on=20hyv=C3=A4=C3=A4",=20"ty?= =?UTF-8?q?=C3=B6n=20l=C3=B6yt=C3=A4minen=20on=20vaikeaa"=20etc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/translator/ExtensionsEng.gf | 2 +- lib/src/translator/ExtensionsFin.gf | 22 ++++++++++++++++++++-- lib/src/translator/TranslateFin.gf | 20 +++++++++++++++++--- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/lib/src/translator/ExtensionsEng.gf b/lib/src/translator/ExtensionsEng.gf index c28fd84af..37c94032a 100644 --- a/lib/src/translator/ExtensionsEng.gf +++ b/lib/src/translator/ExtensionsEng.gf @@ -79,7 +79,7 @@ lin } ; PastPartAgentAP vp np = { s = \\a => vp.ad ! a ++ vp.ptp ++ vp.c2 ++ vp.s2 ! a ++ "by" ++ np.s ! NPAcc ++ vp.ext ; - isPre = vp.isSimple -- depends on whether there are complements + isPre = False } ; PositAdVAdj a = {s = a.s ! AAdv} ; diff --git a/lib/src/translator/ExtensionsFin.gf b/lib/src/translator/ExtensionsFin.gf index 3196858d6..5401c69f3 100644 --- a/lib/src/translator/ExtensionsFin.gf +++ b/lib/src/translator/ExtensionsFin.gf @@ -69,9 +69,27 @@ lin isPron = np1.isPron ; isNeg = np1.isNeg } ; - GerundN v = mkN (lin V v) ; + GerundNP vp = { + s = \\c => vp.s2 ! True ! Pos ! agrP3 Sg ++ (mkNP the_Det (lin N (sverb2snoun vp.s))).s ! c ++ vp.adv ! Pos ++ vp.ext ; + a = agrP3 Sg ; + isPron = False ; isNeg = False + } ; +-- sen sanominen suoraan että... +---- se --> sen +---- lost agreement, lost genitive, lost possessive +---- minun saamiseni mukaan - GerundAP v = {s = \\_ => (snoun2nounSep (sverb2nounPresPartAct v)).s} ; + GerundAP vp = {s = \\f => vp.s2 ! True ! Pos ! agrP3 Sg ++ (snoun2nounSep (sverb2nounPresPartAct vp.s)).s ! f ++ vp.adv ! Pos ++ vp.ext} ; + + GerundAdv vp = {s = (sverb2verbSep vp.s).s ! Inf Inf2Instr ++ vp.s2 ! True ! Pos ! agrP3 Sg ++ vp.adv ! Pos ++ vp.ext} ; -- nukkuen + +-- tänään löydetty + PastPartAP vp = {s = \\_,f => vp.s2 ! True ! Pos ! agrP3 Sg ++ vp.adv ! Pos ++ (sverb2verbSep vp.s).s ! PastPartPass (AN f) ++ vp.ext} ; + +-- miehen tänään löytämä + PastPartAgentAP vp np = + {s = \\_,f => np.s ! NPCase Gen ++ vp.s2 ! True ! Pos ! agrP3 Sg ++ vp.adv ! Pos ++ (sverb2verbSep vp.s).s ! AgentPart (AN f) ++ vp.ext} ; + OrdCompar a = snoun2nounSep {s = \\nc => a.s ! Compar ! SAN nc ; h = a.h} ; diff --git a/lib/src/translator/TranslateFin.gf b/lib/src/translator/TranslateFin.gf index 00a5d5de7..9e97551be 100644 --- a/lib/src/translator/TranslateFin.gf +++ b/lib/src/translator/TranslateFin.gf @@ -13,7 +13,8 @@ concrete TranslateFin of Translate = ], ConjunctionFin, VerbFin - [ - UseCopula, + UseCopula, -- not used + CompAP, -- variant Nom/Part PassV2 -- generalized in Extensions ], AdverbFin, @@ -26,8 +27,11 @@ concrete TranslateFin of Translate = DocumentationFin, ChunkFin, - ExtensionsFin [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, - DirectComplVS, DirectComplVQ, FocusObjS], + ExtensionsFin [ + CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, + DirectComplVS, DirectComplVQ, FocusObjS + ,PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv + ], DictionaryFin ** @@ -35,5 +39,15 @@ open MorphoFin, ResFin, ParadigmsFin, SyntaxFin, StemFin, (E = ExtraFin), (G = G flags literal=Symb ; coding = utf8 ; + +lin + CompAP ap = G.CompAP ap + | + {s = \\agr => + let + n = complNumAgr agr ; + c = Part ; + in ap.s ! False ! (NCase n c) + } ; }