From 48d61ad7c26edb25af1c8da20b2bf7db38f2ad53 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 23 May 2014 13:17:22 +0000 Subject: [PATCH] DirectComplVS, DirectComplVQ, FocusObjS in translator/Extensions.gf, implemented for Eng,Ger,Swe so far --- lib/src/translator/Extensions.gf | 5 +++++ lib/src/translator/ExtensionsEng.gf | 11 ++++++++++- lib/src/translator/ExtensionsGer.gf | 10 ++++++++++ lib/src/translator/ExtensionsSwe.gf | 10 ++++++++++ lib/src/translator/Translate.gf | 3 ++- lib/src/translator/TranslateEng.gf | 4 +++- lib/src/translator/TranslateGer.gf | 3 ++- lib/src/translator/TranslateSwe.gf | 3 ++- 8 files changed, 44 insertions(+), 5 deletions(-) diff --git a/lib/src/translator/Extensions.gf b/lib/src/translator/Extensions.gf index d5de780a6..28e4a6821 100644 --- a/lib/src/translator/Extensions.gf +++ b/lib/src/translator/Extensions.gf @@ -85,6 +85,11 @@ fun SlashSlashV2V : V2V -> Ant -> Pol -> VPSlash -> VPSlash ; -- induce them to sell (it) -- analogous to Verb.SlashVV + DirectComplVS : Temp -> NP -> VS -> Utt -> S ; -- I am here, she said / she said: I am here -- no negation possible + DirectComplVQ : Temp -> NP -> VQ -> QS -> S ; -- who is there, she asked / she asked: who is there -- no negation possible + + FocusObjS : NP -> SSlash -> S ; -- this woman I love -- in declarative S, not in QS + } diff --git a/lib/src/translator/ExtensionsEng.gf b/lib/src/translator/ExtensionsEng.gf index d34a83f0b..b2a07aae4 100644 --- a/lib/src/translator/ExtensionsEng.gf +++ b/lib/src/translator/ExtensionsEng.gf @@ -1,7 +1,7 @@ --# -path=.:../abstract concrete ExtensionsEng of Extensions = - CatEng ** open MorphoEng, ResEng, ParadigmsEng, (S = SentenceEng), (E = ExtraEng), Prelude in { + CatEng ** open MorphoEng, ResEng, ParadigmsEng, (S = SentenceEng), (E = ExtraEng), SyntaxEng, Prelude in { lincat VPI = E.VPI ; @@ -154,4 +154,13 @@ lin UttAdV adv = adv; + DirectComplVS t np vs utt = + mkS (lin Adv (optCommaSS utt)) (mkS t positivePol (mkCl np (lin V vs))) ; + + DirectComplVQ t np vs q = + mkS (lin Adv (optCommaSS (mkUtt q))) (mkS t positivePol (mkCl np (lin V vs))) ; + + FocusObjS np sslash = + mkS (lin Adv (optCommaSS (ss (sslash.c2 ++ np.s ! NPAcc)))) ; + } diff --git a/lib/src/translator/ExtensionsGer.gf b/lib/src/translator/ExtensionsGer.gf index 430b1fccd..2b3ddc56f 100644 --- a/lib/src/translator/ExtensionsGer.gf +++ b/lib/src/translator/ExtensionsGer.gf @@ -120,5 +120,15 @@ lin UttAdV adv = adv; + DirectComplVS t np vs utt = + mkS (lin Adv (optCommaSS utt)) (mkS t positivePol (mkCl np (lin V vs))) ; + + DirectComplVQ t np vs q = + mkS (lin Adv (optCommaSS (mkUtt q))) (mkS t positivePol (mkCl np (lin V vs))) ; + + FocusObjS np sslash = + mkS (lin Adv (ss (appPrep sslash.c2 np.s))) ; + + } diff --git a/lib/src/translator/ExtensionsSwe.gf b/lib/src/translator/ExtensionsSwe.gf index 0bb87d189..a914bfb2c 100644 --- a/lib/src/translator/ExtensionsSwe.gf +++ b/lib/src/translator/ExtensionsSwe.gf @@ -115,4 +115,14 @@ lin UttAdV adv = adv; + DirectComplVS t np vs utt = + mkS (lin Adv (optCommaSS utt)) (mkS t positivePol (mkCl np (lin V vs))) ; + + DirectComplVQ t np vs q = + mkS (lin Adv (optCommaSS (mkUtt q))) (mkS t positivePol (mkCl np (lin V vs))) ; + + FocusObjS np sslash = + mkS (lin Adv (ss (sslash.c2.s ++ np.s ! NPAcc))) ; + + } diff --git a/lib/src/translator/Translate.gf b/lib/src/translator/Translate.gf index 1f6eda726..eff5762da 100644 --- a/lib/src/translator/Translate.gf +++ b/lib/src/translator/Translate.gf @@ -24,7 +24,8 @@ abstract Translate = Construction, Extensions [ - CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP + CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, + DirectComplVS, DirectComplVQ, FocusObjS ---- , PastPartAP, PastPartAgentAP, PresPartAP ---- not yet available for all languages ], Dictionary, diff --git a/lib/src/translator/TranslateEng.gf b/lib/src/translator/TranslateEng.gf index 294f95806..534438b97 100644 --- a/lib/src/translator/TranslateEng.gf +++ b/lib/src/translator/TranslateEng.gf @@ -28,7 +28,9 @@ concrete TranslateEng of Translate = DocumentationEng, ChunkEng, - ExtensionsEng [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP + ExtensionsEng [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, + DirectComplVS, DirectComplVQ, FocusObjS + ---- , PastPartAP, PastPartAgentAP, PresPartAP ], DictionaryEng ** diff --git a/lib/src/translator/TranslateGer.gf b/lib/src/translator/TranslateGer.gf index 107980639..9dcd1a5de 100644 --- a/lib/src/translator/TranslateGer.gf +++ b/lib/src/translator/TranslateGer.gf @@ -23,7 +23,8 @@ concrete TranslateGer of Translate = DocumentationGer, ChunkGer, - ExtensionsGer [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], + ExtensionsGer [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, + DirectComplVS, DirectComplVQ, FocusObjS], DictionaryGer ** open MorphoGer, ResGer, ParadigmsGer, SyntaxGer, CommonScand, (E = ExtraGer), Prelude in { diff --git a/lib/src/translator/TranslateSwe.gf b/lib/src/translator/TranslateSwe.gf index 191228427..89bfcf7e0 100644 --- a/lib/src/translator/TranslateSwe.gf +++ b/lib/src/translator/TranslateSwe.gf @@ -23,7 +23,8 @@ concrete TranslateSwe of Translate = DocumentationSwe, ChunkSwe, - ExtensionsSwe [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], + ExtensionsSwe [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP, + DirectComplVS, DirectComplVQ, FocusObjS], DictionarySwe ** open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in {