diff --git a/lib/src/translator/DictionaryFin.gf b/lib/src/translator/DictionaryFin.gf index cc176745a..23b737ab4 100644 --- a/lib/src/translator/DictionaryFin.gf +++ b/lib/src/translator/DictionaryFin.gf @@ -33321,7 +33321,7 @@ lin noble_A = mkA "jalo" ; lin nobleman_N = mkWN (k38 "aatelinen") ; --UNCHK lin noblesse_N = mkWN (k2 "ylhäisö") ; --UNCHK lin noblesse_oblige_N = mkWN (k48A "velvoite") "aateluuden" ; --UNCHK -lin nobody_NP = S.nobody_NP ** {s = \\c => "ei" ++ S.nobody_NP.s ! c} ; +lin nobody_NP = S.nobody_NP ** {s = \\c => "ei" ++ S.nobody_NP.s ! c} | S.nobody_NP ** {s = \\c => S.nobody_NP.s ! c} ; lin nocent_A = mkWA "harmeja" "aiheuttava" ; --UNCHK lin nociceptive_A = mkWA (compoundA "nosi" (k38 "septinen")) ; --UNCHK lin noctambulist_N = mkWN (compoundN "unissa" (k12 "kävelijä")) ; --UNCHK @@ -33745,7 +33745,7 @@ lin notepaper_N = mkWN (compoundN "kirje" (k6 "paperi")) ; --UNCHK lin noteworthy_A = mkWA (k10 "huomattava") ; --UNCHK lin nothing_Adv = mkWAdv (k99 "ensinkään") "ei" ; --UNCHK lin nothing_N = mkWN (k101 "mikään") "ei" ; --UNCHK -lin nothing_NP = S.nothing_NP ** {s = \\c => "ei" ++ S.nothing_NP.s ! c} ; +lin nothing_NP = S.nothing_NP ** {s = \\c => "ei" ++ S.nothing_NP.s ! c} | S.nothing_NP ** {s = \\c => S.nothing_NP.s ! c} ; lin nothingness_N = mkWN (k48 "puhe") "turha" ; --UNCHK lin nothosaur_N = mkWN "nothosaurus" ; --UNCHK lin notice_N = mkWN (k1A "havainto") ; --UNCHK @@ -33789,7 +33789,7 @@ lin novobiocin_N = mkWN "novobiosiini" ; --UNCHK lin now_AdV = lin AdV (ss "nyt") ; lin now_Adv = L.now_Adv ; lin nowadays_Adv = mkWAdv (k99 "nykyään") ; --UNCHK -lin nowhere_Adv = mkWAdv (k99 "minnekään") "ei" ; +lin nowhere_Adv = mkAdv "ei missään" | mkAdv "ei minnekään" | mkAdv "missään" | mkAdv "minnekään" ; ---- split: be nowhere ; go nowhere lin nowhere_N = mkWN (k101 "missään") "ei" ; --UNCHK lin nowise_Adv = mkWAdv (k99 "lailla") "ei" "millään" ; --UNCHK lin noxious_A = mkWA (k38 "vahingollinen") ; --UNCHK @@ -51573,7 +51573,7 @@ lin tiyin_N = mkWN "tenge" ; --UNCHK lin tizzy_N = mkWN (k39 "kiihtymys") ; --UNCHK lin tnt_N = mkWN (k6 "trotyyli") ; --UNCHK lin to_Adv = mkAdv "luo" ; ---- what is this? -lin to_Prep = mkPrep illative | luokse_Prep | luokse_Prep ** {s = luokse_Prep.s ** {p2 = "luo"}} | mkPrep "tykö" | mkPrep translative | mkPrep allative ; +lin to_Prep = mkPrep illative | mkPrep allative | mkPrep translative ; ---- | luokse_Prep | luokse_Prep ** {s = luokse_Prep.s ** {p2 = "luo"}} | mkPrep "tykö" ; ---- adding these makes the first variants, which is not good lin toad_N = mkWN (k10 "konna") ; --UNCHK lin toadfish_N = mkWN (k18 "tau") "Opsanus" ; --UNCHK lin toadflax_N = mkWN (compoundN "kannus" (k1 "ruoho")) ; --UNCHK diff --git a/lib/src/translator/ExtensionsDut.gf b/lib/src/translator/ExtensionsDut.gf index f0615955c..750366b6f 100644 --- a/lib/src/translator/ExtensionsDut.gf +++ b/lib/src/translator/ExtensionsDut.gf @@ -74,22 +74,46 @@ lin isPre = True } ; + GerundNP vp = { -- infinitive: Bier zu trinken + s = \\c => useInfVP False vp ; + a = agrP3 Sg ; + isPron = False + } ; - GerundN v = { -- parsing - s = \\n,c => v.s ! VInf False ; --- formalisieren, not formalisierung - g = Neutr - } ; + GerundAdv vp = { -- Bier trinkend + s = vp.n0 ! agrP3 Sg ++ vp.n2 ! agrP3 Sg ++ vp.a2 ++ vp.a1 ! Pos ++ vp.inf.p1 ++ vp.ext ++ vp.s.s ! VGer + } ; + + WithoutVP vp = { -- ohne Bier zu trinken + s = "zonder" ++ useInfVP False vp + } ; + + InOrderToVP vp = { -- um Bier zu trinken + s = "om" ++ useInfVP False vp + } ; + + ByVP vp = { ---- durch Bier zu drinken + s = "door" ++ useInfVP False vp ---- + } ; + + PresPartAP vp = { + s = \\af => vp.n0 ! agrP3 Sg ++ vp.n2 ! agrP3 Sg ++ vp.a2 ++ vp.a1 ! Pos ++ vp.inf.p1 ++ vp.ext ++ vp.s.s ! VPresPart ; + isPre = True + } ; + + PastPartAP vp = { + s = \\af => vp.n0 ! agrP3 Sg ++ vp.n2 ! agrP3 Sg ++ vp.a2 ++ vp.a1 ! Pos ++ vp.inf.p1 ++ vp.ext ++ vp.s.s ! VPerf ; ---- agr inflection? + isPre = True + } ; + + PastPartAgentAP vp np = + let agent = (SyntaxDut.mkAdv (mkPrep "door") (lin NP np)).s + in { + s = \\af => vp.n0 ! agrP3 Sg ++ vp.n2 ! agrP3 Sg ++ vp.a2 ++ vp.a1 ! Pos ++ vp.inf.p1 ++ vp.ext ++ vp.s.s ! VPerf ; ---- agr inflection? + isPre = True + } ; {- - GerundAP v = { -- beckoning - s = \\agr => v.s ! VPresPart ; - isPre = True - } ; - - PastPartAP v = { -- broken - s = \\agr => v.s ! VPPart ; - isPre = True - } ; OrdCompar a = {s = \\c => a.s ! AAdj Compar c } ; -- higher diff --git a/lib/src/translator/TranslateDut.gf b/lib/src/translator/TranslateDut.gf index 7885697a0..bda43047b 100644 --- a/lib/src/translator/TranslateDut.gf +++ b/lib/src/translator/TranslateDut.gf @@ -23,8 +23,11 @@ concrete TranslateDut of Translate = DocumentationDut, ChunkDut, - ExtensionsDut [CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP], - + ExtensionsDut [ + CompoundN,AdAdV,UttAdV,ApposNP,MkVPI, MkVPS, PredVPS, PassVPSlash, PassAgentVPSlash, CompoundAP + , PastPartAP, PastPartAgentAP, PresPartAP, GerundNP, GerundAdv + , WithoutVP, InOrderToVP, ByVP + ], DictionaryDut ** open MorphoDut, ResDut, ParadigmsDut, SyntaxDut, (E = ExtraDut), Prelude in {