From 677c5cdac996db9b931de92520cc8e41b9c107c2 Mon Sep 17 00:00:00 2001 From: aarne Date: Sun, 13 Apr 2014 10:37:58 +0000 Subject: [PATCH] CompoundAP in translator/Extensions, e.g. language(-)independent. Implemented for all but Bul,Hin --- lib/src/translator/Extensions.gf | 1 + lib/src/translator/ExtensionsChi.gf | 3 ++- lib/src/translator/ExtensionsDut.gf | 14 ++++++++++---- lib/src/translator/ExtensionsEng.gf | 6 ++++++ lib/src/translator/ExtensionsFin.gf | 4 ++++ lib/src/translator/ExtensionsFre.gf | 6 ++++++ lib/src/translator/ExtensionsGer.gf | 5 +++++ lib/src/translator/ExtensionsIta.gf | 6 ++++++ lib/src/translator/ExtensionsSpa.gf | 5 +++++ lib/src/translator/ExtensionsSwe.gf | 5 +++++ lib/src/translator/Translate.gf | 2 +- lib/src/translator/TranslateChi.gf | 2 +- lib/src/translator/TranslateDut.gf | 2 +- lib/src/translator/TranslateEng.gf | 2 +- lib/src/translator/TranslateFin.gf | 2 +- lib/src/translator/TranslateFre.gf | 2 +- lib/src/translator/TranslateGer.gf | 2 +- lib/src/translator/TranslateIta.gf | 2 +- lib/src/translator/TranslateSpa.gf | 2 +- lib/src/translator/TranslateSwe.gf | 2 +- lib/src/translator/translate.probs | 5 +++-- 21 files changed, 63 insertions(+), 17 deletions(-) diff --git a/lib/src/translator/Extensions.gf b/lib/src/translator/Extensions.gf index b25defc49..d5de780a6 100644 --- a/lib/src/translator/Extensions.gf +++ b/lib/src/translator/Extensions.gf @@ -48,6 +48,7 @@ fun GenRP : Num -> CN -> RP ; -- whose car(s) CompoundCN : N -> CN -> CN ; -- control system / controls system / control-system + CompoundAP : N -> A -> AP ; -- language independent / language-independent GerundCN : VP -> CN ; -- publishing of the document (can get a determiner) GerundNP : VP -> NP ; -- publishing the document (by nature definite) diff --git a/lib/src/translator/ExtensionsChi.gf b/lib/src/translator/ExtensionsChi.gf index fadc6348d..feba34be8 100644 --- a/lib/src/translator/ExtensionsChi.gf +++ b/lib/src/translator/ExtensionsChi.gf @@ -44,7 +44,8 @@ lin -- but_Subj = {s = "pero" ; m = Indic} ; ---- strange to have this as Subj -CompoundCN noun cn = {s = noun.s ++ cn.s ; c = cn.c} ; ---- + CompoundCN noun cn = {s = noun.s ++ cn.s ; c = cn.c} ; ---- + CompoundAP noun adj = complexAP (noun.s ++ possessive_s ++ adj.s) ; ---- GerundN v = { s = v.s ; diff --git a/lib/src/translator/ExtensionsDut.gf b/lib/src/translator/ExtensionsDut.gf index 1e524aee3..8fc664fa7 100644 --- a/lib/src/translator/ExtensionsDut.gf +++ b/lib/src/translator/ExtensionsDut.gf @@ -63,12 +63,18 @@ lin -} PredVPosv = G.PredVP; PredVPovs = G.PredVP; -{- + CompoundCN noun cn = { - s = \\a,n,c => glue (noun.s ! Sg ! Nom) (cn.s ! a ! n ! c) ; + s = \\af,nf => glue (noun.s ! NF Sg Nom) (cn.s ! af ! nf) ; g = cn.g - } ; --} + } ; + + CompoundAP noun adj = { + s = \\af => glue (noun.s ! NF Sg Nom) (adj.s ! Posit ! af) ; + isPre = True + } ; + + GerundN v = { -- parsing s = \\n,c => v.s ! VInf False ; --- formalisieren, not formalisierung g = Neutr diff --git a/lib/src/translator/ExtensionsEng.gf b/lib/src/translator/ExtensionsEng.gf index d83f57c81..d34a83f0b 100644 --- a/lib/src/translator/ExtensionsEng.gf +++ b/lib/src/translator/ExtensionsEng.gf @@ -42,6 +42,12 @@ lin g = cn.g } ; + CompoundAP noun adj = { + s = (\\_ => noun.s ! Sg ! Nom ++ Predef.BIND ++ "-" ++ Predef.BIND ++ adj.s ! AAdj Posit Nom) + | (\\_ => noun.s ! Sg ! Nom ++ adj.s ! AAdj Posit Nom) + ; + isPre = True + } ; GerundCN vp = { s = \\n,c => vp.ad ! AgP3Sg Neutr ++ vp.prp ++ diff --git a/lib/src/translator/ExtensionsFin.gf b/lib/src/translator/ExtensionsFin.gf index 4fd748a68..0a4d59312 100644 --- a/lib/src/translator/ExtensionsFin.gf +++ b/lib/src/translator/ExtensionsFin.gf @@ -52,6 +52,10 @@ lin h = cn.h } ; + CompoundAP noun adj = { + s = \\_ => (snoun2nounSep {s = \\f => noun.s ! 10 ++ BIND ++ adj.s ! Posit ! sAN f ; h = adj.h}).s + } ; + ---- PastPartAP vp = {s = \\_,nf => (sverb2verbSep v).s ! PastPartPass (AN nf)} ; PredVPosv np vp = mkCl np vp ; ---- diff --git a/lib/src/translator/ExtensionsFre.gf b/lib/src/translator/ExtensionsFre.gf index 43946e797..db96febf5 100644 --- a/lib/src/translator/ExtensionsFre.gf +++ b/lib/src/translator/ExtensionsFre.gf @@ -53,6 +53,12 @@ lin g = cn.g } ; + CompoundAP noun adj = { + s = \\af => adj.s ! Posit ! af ++ elisDe ++ noun.s ! Sg ; + isPre = False + } ; + + {- GerundN v = { s = \\n,c => v.s ! VPresPart ; diff --git a/lib/src/translator/ExtensionsGer.gf b/lib/src/translator/ExtensionsGer.gf index 6e4794bf2..430b1fccd 100644 --- a/lib/src/translator/ExtensionsGer.gf +++ b/lib/src/translator/ExtensionsGer.gf @@ -68,6 +68,11 @@ lin g = cn.g } ; + CompoundAP noun adj = { + s = \\af => glue (noun.s ! Sg ! Nom) (adj.s ! Posit ! af) ; + isPre = True + } ; + GerundN v = { -- parsing s = \\n,c => v.s ! VInf False ; --- formalisieren, not formalisierung g = Neutr diff --git a/lib/src/translator/ExtensionsIta.gf b/lib/src/translator/ExtensionsIta.gf index 0c4415b4a..628159e38 100644 --- a/lib/src/translator/ExtensionsIta.gf +++ b/lib/src/translator/ExtensionsIta.gf @@ -53,6 +53,12 @@ lin g = cn.g } ; + CompoundAP noun adj = { + s = \\af => adj.s ! Posit ! af ++ "di" ++ noun.s ! Sg ; + isPre = False + } ; + + {- GerundN v = { s = \\n,c => v.s ! VPresPart ; diff --git a/lib/src/translator/ExtensionsSpa.gf b/lib/src/translator/ExtensionsSpa.gf index 612ea0863..f003734c2 100644 --- a/lib/src/translator/ExtensionsSpa.gf +++ b/lib/src/translator/ExtensionsSpa.gf @@ -53,6 +53,11 @@ lin g = cn.g } ; + CompoundAP noun adj = { + s = \\af => adj.s ! Posit ! af ++ "de" ++ noun.s ! Sg ; + isPre = False + } ; + {- GerundN v = { s = \\n,c => v.s ! VPresPart ; diff --git a/lib/src/translator/ExtensionsSwe.gf b/lib/src/translator/ExtensionsSwe.gf index f9214456f..0bb87d189 100644 --- a/lib/src/translator/ExtensionsSwe.gf +++ b/lib/src/translator/ExtensionsSwe.gf @@ -41,6 +41,11 @@ lin isMod = False } ; + CompoundAP noun adj = { + s = \\ap => noun.co ++ BIND ++ adj.s ! AF (APosit ap) Nom ; + isPre = True + } ; + GerundN v = { s = \\n,d,c => v.s ! VI (VPtPres n d c) ; g = Neutr ; diff --git a/lib/src/translator/Translate.gf b/lib/src/translator/Translate.gf index 14879a306..99c46e37f 100644 --- a/lib/src/translator/Translate.gf +++ b/lib/src/translator/Translate.gf @@ -23,7 +23,7 @@ abstract Translate = Chunk, Construction, - Extensions [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + Extensions [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], Dictionary, Documentation diff --git a/lib/src/translator/TranslateChi.gf b/lib/src/translator/TranslateChi.gf index ef269c6ef..841fffb35 100644 --- a/lib/src/translator/TranslateChi.gf +++ b/lib/src/translator/TranslateChi.gf @@ -27,7 +27,7 @@ concrete TranslateChi of Translate = DocumentationChi, ChunkChi, - ExtensionsChi [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsChi [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryChi ** diff --git a/lib/src/translator/TranslateDut.gf b/lib/src/translator/TranslateDut.gf index dd7c5484f..4afa67994 100644 --- a/lib/src/translator/TranslateDut.gf +++ b/lib/src/translator/TranslateDut.gf @@ -23,7 +23,7 @@ concrete TranslateDut of Translate = ---- DocumentationDut, ChunkDut, - ExtensionsDut [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsDut [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryDut ** open MorphoDut, ResDut, ParadigmsDut, SyntaxDut, (E = ExtraDut), Prelude in { diff --git a/lib/src/translator/TranslateEng.gf b/lib/src/translator/TranslateEng.gf index 2bf1276de..94c16ad82 100644 --- a/lib/src/translator/TranslateEng.gf +++ b/lib/src/translator/TranslateEng.gf @@ -28,7 +28,7 @@ concrete TranslateEng of Translate = DocumentationEng, ChunkEng, - ExtensionsEng [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsEng [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryEng ** open MorphoEng, ResEng, ParadigmsEng, (G = GrammarEng), (E = ExtraEng), Prelude in { diff --git a/lib/src/translator/TranslateFin.gf b/lib/src/translator/TranslateFin.gf index 6239822e4..72ce9a97a 100644 --- a/lib/src/translator/TranslateFin.gf +++ b/lib/src/translator/TranslateFin.gf @@ -27,7 +27,7 @@ concrete TranslateFin of Translate = DocumentationFin, ChunkFin, - ExtensionsFin [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsFin [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryFin ** diff --git a/lib/src/translator/TranslateFre.gf b/lib/src/translator/TranslateFre.gf index df1ed6c06..a7fda7392 100644 --- a/lib/src/translator/TranslateFre.gf +++ b/lib/src/translator/TranslateFre.gf @@ -25,7 +25,7 @@ concrete TranslateFre of Translate = DocumentationFre, ChunkFre, - ExtensionsFre [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsFre [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryFre ** open PhonoFre, MorphoFre, ResFre, CommonRomance, ParadigmsFre, SyntaxFre, Prelude, (G = GrammarFre) in { diff --git a/lib/src/translator/TranslateGer.gf b/lib/src/translator/TranslateGer.gf index ef9925bc5..cd99a47da 100644 --- a/lib/src/translator/TranslateGer.gf +++ b/lib/src/translator/TranslateGer.gf @@ -23,7 +23,7 @@ concrete TranslateGer of Translate = DocumentationGer, ChunkGer, - ExtensionsGer [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsGer [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryGer ** open MorphoGer, ResGer, ParadigmsGer, SyntaxGer, CommonScand, (E = ExtraGer), Prelude in { diff --git a/lib/src/translator/TranslateIta.gf b/lib/src/translator/TranslateIta.gf index dceb973fe..6d1ef5836 100644 --- a/lib/src/translator/TranslateIta.gf +++ b/lib/src/translator/TranslateIta.gf @@ -23,7 +23,7 @@ concrete TranslateIta of Translate = DocumentationIta, ChunkIta, - ExtensionsIta [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsIta [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionaryIta ** open MorphoIta, ResIta, ParadigmsIta, SyntaxIta, CommonScand, (E = ExtraIta), Prelude in { diff --git a/lib/src/translator/TranslateSpa.gf b/lib/src/translator/TranslateSpa.gf index e858c6795..1c2623928 100644 --- a/lib/src/translator/TranslateSpa.gf +++ b/lib/src/translator/TranslateSpa.gf @@ -23,7 +23,7 @@ concrete TranslateSpa of Translate = DocumentationSpa, ChunkSpa, - ExtensionsSpa [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsSpa [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionarySpa ** open MorphoSpa, ResSpa, ParadigmsSpa, SyntaxSpa, CommonScand, (E = ExtraSpa), Prelude in { diff --git a/lib/src/translator/TranslateSwe.gf b/lib/src/translator/TranslateSwe.gf index 1e18b8ee4..191228427 100644 --- a/lib/src/translator/TranslateSwe.gf +++ b/lib/src/translator/TranslateSwe.gf @@ -23,7 +23,7 @@ concrete TranslateSwe of Translate = DocumentationSwe, ChunkSwe, - ExtensionsSwe [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash], + ExtensionsSwe [CompoundCN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], DictionarySwe ** open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), Prelude in { diff --git a/lib/src/translator/translate.probs b/lib/src/translator/translate.probs index 2d1ab8f3e..625f9db9a 100644 --- a/lib/src/translator/translate.probs +++ b/lib/src/translator/translate.probs @@ -58,7 +58,8 @@ ComplVPIVV 1.629348323337908e-4 ComplVQ 3.3840311330864245e-4 ComplVS 0.10664084776246609 ComplVV 6.258577578913727e-2 -CompoundCN 0.010736547702286556 +CompoundAP 0.0010736547702286556 +CompoundCN 0.0010736547702286556 ConjAP 2.1189670416781e-3 ConjAdV 9.744689144416293e-5 ConjAdv 1.0922898208991453e-3 @@ -189,7 +190,7 @@ SlashVPIV2V 3.942764206272281e-4 SlashVS 9.46372239747634e-3 SlashVV 4.484894284634719e-3 SubjS 4.386497217261647e-3 -SymbPN 0.8107861060329068 +SymbPN 0.008107861060329068 TCond 1.7737397420867527e-2 TFut 2.4267291910902697e-2 TPast 0.25411488862837045