1
0
forked from GitHub/gf-rgl

(Dut) Update ExtensionsDut and TranslateDut

This commit is contained in:
Inari Listenmaa
2018-06-05 14:20:09 +02:00
parent 0eea611a8b
commit 5e4d2e654d
2 changed files with 23 additions and 27 deletions

View File

@@ -1,7 +1,7 @@
--# -path=.:../abstract --# -path=.:../abstract
concrete ExtensionsDut of Extensions = concrete ExtensionsDut of Extensions =
CatDut ** open ResDut, ParadigmsDut, SyntaxDut, (E = ExtraDut), (G = GrammarDut), Prelude in { CatDut ** open ResDut, ParadigmsDut, SyntaxDut, (E = ExtraDut), ExtendDut, (G = GrammarDut), Prelude in {
flags literal=Symb ; coding = utf8 ; flags literal=Symb ; coding = utf8 ;
@@ -70,14 +70,13 @@ lin
} ; } ;
CompoundAP noun adj = { CompoundAP noun adj = {
s = \\af => glue (noun.s ! NF Sg Nom) (adj.s ! Posit ! af) ; s = \\agr,af => glue (noun.s ! NF Sg Nom) (adj.s ! Posit ! af) ;
isPre = True isPre = True
} ; } ;
GerundNP vp = { -- infinitive: Bier zu trinken GerundNP vp = heavyNP { -- infinitive: Bier zu trinken
s = \\c => useInfVP False vp ; s = \\c => useInfVP False vp ! agrP3 Sg ;
a = agrP3 Sg ; a = agrP3 Sg
isPron = False
} ; } ;
GerundAdv vp = { -- Bier trinkend GerundAdv vp = { -- Bier trinkend
@@ -85,33 +84,31 @@ lin
} ; } ;
WithoutVP vp = { -- ohne Bier zu trinken WithoutVP vp = { -- ohne Bier zu trinken
s = "zonder" ++ useInfVP False vp s = "zonder" ++ useInfVP False vp ! agrP3 Sg
} ; } ;
InOrderToVP vp = { -- um Bier zu trinken InOrderToVP vp = { -- um Bier zu trinken
s = "om" ++ useInfVP False vp s = "om" ++ useInfVP False vp ! agrP3 Sg
} ; } ;
ByVP vp = { ---- durch Bier zu drinken ByVP vp = { ---- durch Bier zu drinken
s = "door" ++ useInfVP False vp ---- s = "door" ++ useInfVP False vp ! agrP3 Sg ----
} ; } ;
PresPartAP vp = { PastPartAP = ExtendDut.PastPartAP ;
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 = { PresPartAP vp = { --# notpresent
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? s = \\agr,af => let aForm = case vp.isHeavy of { --# notpresent
isPre = True True => APred ; --# notpresent
} ; False => af } ; --# notpresent
in (infClause [] agr vp aForm).s ! Pres ! Simul ! Pos ! Sub ; --# notpresent
isPre = notB vp.isHeavy ; --# notpresent
} ; --# notpresent
PastPartAgentAP vp np = PastPartAgentAP vp np =
let agent = (SyntaxDut.mkAdv (mkPrep "door") (lin NP np)).s let agent = (SyntaxDut.mkAdv (mkPrep "door") (lin NP np)).s ;
in { ap = ExtendDut.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? in ap ** { s = \\agr,af => ap.s ! agr ! af ++ agent } ;
isPre = True
} ;
{- {-
@@ -139,16 +136,15 @@ lin
} ; } ;
-} -}
CompS s = {s = \\_ => "dat" ++ s.s ! Main} ; -- S -> Comp CompS s = {s = \\_ => "dat" ++ s.s ! Main} ; -- S -> Comp
CompVP ant p vp = {s = \\_ => useInfVP True vp} ; -- VP -> Comp CompVP ant p vp = {s = useInfVP True vp} ; -- VP -> Comp
lin lin
that_RP = which_RP ; that_RP = which_RP ;
UttAdV adv = adv ; UttAdV adv = adv ;
ApposNP np1 np2 = { ApposNP np1 np2 = np1 ** {
s = \\c => np1.s ! c ++ SOFT_BIND ++ "," ++ np2.s ! NPNom ; s = \\c => np1.s ! c ++ SOFT_BIND ++ "," ++ np2.s ! NPNom ;
a = np1.a ;
isPron = False isPron = False
} ; } ;

View File

@@ -30,7 +30,7 @@ concrete TranslateDut of Translate =
, WithoutVP, InOrderToVP, ByVP , WithoutVP, InOrderToVP, ByVP
], ],
DictionaryDut ** DictionaryDut **
open ResDut, ParadigmsDut, SyntaxDut, (E = ExtraDut), Prelude in { open ResDut, ParadigmsDut, SyntaxDut, (E = ExtendDut), Prelude in {
flags flags
literal=Symb ; literal=Symb ;