diff --git a/src/dutch/DocumentationDutFunctor.gf b/src/dutch/DocumentationDutFunctor.gf index dd52a81b9..9fa553434 100644 --- a/src/dutch/DocumentationDutFunctor.gf +++ b/src/dutch/DocumentationDutFunctor.gf @@ -176,7 +176,7 @@ oper tr (th (heading imperative_Parameter ++ heading singular_Parameter) ++ td (vfin VImp2 ++ Predef.BIND ++ "," ++ vfin VImp3)) ++ tr (th (heading imperative_Parameter ++ heading plural_Parameter) ++ td (vfin (VImpPl))) ++ tr (th (heading infinitive_Parameter) ++ td (verb.s ! VInf)) ++ - tr (th (heading perfect_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPerf)) ++ + tr (th (heading perfect_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPerf APred)) ++ tr (th (heading imperfect_Parameter ++ heading participle_Parameter) ++ td (verb.s ! VPresPart)) ++ tr (th (heading gerund_Parameter) ++ td (verb.s ! VGer)) ++ tr (th (heading aux_verb_Parameter) ++ td (case verb.aux of {VHebben => "hebben" ; VZijn => "zijn"})) diff --git a/src/dutch/ExtendDut.gf b/src/dutch/ExtendDut.gf index eaaf8beed..994a368c9 100644 --- a/src/dutch/ExtendDut.gf +++ b/src/dutch/ExtendDut.gf @@ -13,9 +13,12 @@ concrete ExtendDut of Extend = ParadigmsDut in { lin - PastPartAP vp = { - s = \\agr,af => (infClause [] agr vp).s ! Past ! Anter ! Pos ! Sub ; - isPre = notB vp.inf.p2 - } ; + PastPartAP vp = { + s = \\agr,af => let aForm = case vp.isHeavy of { + True => APred ; + False => af } ; + in (infClause [] agr vp aForm).s ! Past ! Anter ! Pos ! Sub ; + isPre = notB vp.isHeavy ; + } ; - } \ No newline at end of file + } \ No newline at end of file diff --git a/src/dutch/ExtraDut.gf b/src/dutch/ExtraDut.gf index 15c103ace..a4ab768ba 100644 --- a/src/dutch/ExtraDut.gf +++ b/src/dutch/ExtraDut.gf @@ -58,7 +58,7 @@ lin b = p.p ; vform = vForm t agr.g agr.n agr.p o ; auxv = (auxVerb vp.s.aux).s ; - vperf = vp.s.s ! VPerf ; + vperf = vp.s.s ! VPerf APred ; verb : Str * Str = case of { => ; --# notpresent => ; --# notpresent @@ -96,9 +96,9 @@ lin ConjVPS = conjunctDistrTable2 Order Agr ; PassVPSlash vps = - insertInf (vps.s.s ! VPerf) (predV ResDut.worden_V) ; + insertInf (vps.s.s ! VPerf APred) (predV ResDut.worden_V) ; PassAgentVPSlash vps np = - insertAdv (appPrep (P.mkPrep "door") np) (insertInf (vps.s.s ! VPerf) (predV ResDut.worden_V)) ; + insertAdv (appPrep (P.mkPrep "door") np) (insertInf (vps.s.s ! VPerf APred) (predV ResDut.worden_V)) ; lin NominalizeVPSlashNP vpslash np = diff --git a/src/dutch/NounDut.gf b/src/dutch/NounDut.gf index 72a66fdd8..59e30203d 100644 --- a/src/dutch/NounDut.gf +++ b/src/dutch/NounDut.gf @@ -34,7 +34,7 @@ concrete NounDut of Noun = CatDut ** open ResDut, Prelude in { } ; PPartNP np v2 = heavyNP { - s = \\c => np.s ! c ++ v2.s ! VPerf ; -- invar part + s = \\c => np.s ! c ++ v2.s ! VPerf APred ; -- invar part a = np.a ; } ; diff --git a/src/dutch/ParadigmsDut.gf b/src/dutch/ParadigmsDut.gf index 6b25a6546..25d65a8c4 100644 --- a/src/dutch/ParadigmsDut.gf +++ b/src/dutch/ParadigmsDut.gf @@ -289,7 +289,7 @@ oper no_geV v = let vs = v.s in { s = table { - VPerf => Predef.drop 2 (vs ! VPerf) ; + VPerf x => Predef.drop 2 (vs ! VPerf x) ; p => vs ! p } ; prefix = v.prefix ; lock_V = v.lock_V ; particle = v.particle ; aux = v.aux ; vtype = v.vtype @@ -297,7 +297,7 @@ oper fixprefixV s v = let vs = v.s in { s = table { - VPerf => s + Predef.drop 2 (vs ! VPerf) ; + VPerf x => s + Predef.drop 2 (vs ! VPerf x) ; p => s + vs ! p } ; prefix = v.prefix ; lock_V = v.lock_V ; aux = v.aux ; particle = v.particle ; vtype = v.vtype diff --git a/src/dutch/ResDut.gf b/src/dutch/ResDut.gf index cbe7ad35d..bfdcb6272 100644 --- a/src/dutch/ResDut.gf +++ b/src/dutch/ResDut.gf @@ -122,8 +122,7 @@ param | VImp2 -- wees | VImp3 -- weest | VImpPl -- wezen - | VPerf -- geweest - | VPerfInfl -- geweeste + | VPerf AForm -- geweest / geweeste / geweests (e.g. "iets verdwaalds") | VPresPart -- zijnde | VGer -- zijnde ; @@ -135,24 +134,25 @@ param mkVerb : (x1,_,_,_,_,_,x7 : Str) -> Verb = \aai, aait, aaien, aaide, aaidet, aaiden, geaaid -> - mkVerb8 aai aait aait aaien aaide aaidet aaiden geaaid ; + mkVerb8 aai aait aait aaien aaide aaidet aaiden geaaid ; mkVerb8 : (_,_,_,_,_,_,_,_ : Str) -> Verb = \aai, aaitt, aait, aaien, aaide, _, aaiden, geaaid -> let geaaide = inflParticiple geaaid in { s = table { - VInf | VInfFull | - VImpPl | VPresPl => aaien; -- hij/zij/het/wij aaien - VPresSg1 | VImp2 => aai; -- ik aai - VPresSg2 => aaitt ; -- jij aait - VPresSg3 | VImp3 => aait; -- hij/zij aait - VPastSg => aaide; -- ik aaide --# notpresent - VPastPl => aaiden; -- hij/zij/het/wij aaiden --# notpresent - VPerf => geaaid ; -- ik heb geaaid - VPerfInfl => geaaide ; -- inflected form of participle - VPresPart => aaien + "de" ; - VGer => aaien + "d" - } + VInf | VInfFull | + VImpPl | VPresPl => aaien; -- hij/zij/het/wij aaien + VPresSg1 | VImp2 => aai; -- ik aai + VPresSg2 => aaitt ; -- jij aait + VPresSg3 | VImp3 => aait; -- hij/zij aait + VPastSg => aaide; -- ik aaide --# notpresent + VPastPl => aaiden; -- hij/zij/het/wij aaiden --# notpresent + VPerf APred => geaaid ; -- ik heb geaaid + VPerf AAttr => geaaide ; -- geaaide X + VPerf AGen => geaaid + "s" ; -- iets geaaids + VPresPart => aaien + "de" ; + VGer => aaien + "d" + } }; inflParticiple : Str -> Str = \gezien -> @@ -187,7 +187,7 @@ param -- if_then_Str b (ein + geb) geb ; in {s = table { - f@(VInfFull | VPerf) => ein + vs ! f; + f@(VInfFull | VPerf _) => ein + vs ! f; f => vs ! f } ; prefix = ein ; @@ -196,25 +196,24 @@ param vtype = verb.vtype } ; - -- Pattern matching verbs - -- Checking if the verb starts with "ver" is due to a bugfix in mkStem regarding ≥2-syllable verbs. /IL2018 + -- Pattern matching verbs + -- Checking if the verb starts with "ver" is due to a bugfix in mkStem regarding ≥2-syllable verbs. /IL2018 smartVerb : (_,_:Str) -> Verb = \verb,stem -> - let raw = Predef.tk 2 verb; + let raw = Predef.tk 2 verb; vg : {ver : Str ; geet : Str } = case verb of { "ver" + geten => {ver = "ver" ; geet = mkStem geten } ; _ => {ver = [] ; geet = stem } } ; vergeten : Str = verb ; vergeet : Str = vg.ver + vg.geet ; - in - case raw of { - _+ ("k"|"f"|"s"|"c"|"h"|"p") => t_regVerb vergeten vergeet ; - _+ "v" => v_regVerb vergeten vergeet ; - _+ "z" => z_regVerb vergeten vergeet ; - _+ ("t" | "tt") => t_end_regVerb vergeten vergeet ; - _+ "d" => d_end_regVerb vergeten vergeet ; - _ => d_regVerb vergeten vergeet - - }; + in + case raw of { + _+ ("k"|"f"|"s"|"c"|"h"|"p") => t_regVerb vergeten vergeet ; + _+ "v" => v_regVerb vergeten vergeet ; + _+ "z" => z_regVerb vergeten vergeet ; + _+ ("t" | "tt") => t_end_regVerb vergeten vergeet ; + _+ "d" => d_end_regVerb vergeten vergeet ; + _ => d_regVerb vergeten vergeet + }; consonant : pattern Str = #("b"|"c"|"d"|"f"|"g"|"h"|"j"|"k"|"l"|"m"|"n"|"p"|"q"|"r"|"s"|"t"|"v"|"w"|"x"|"y"|"z") ; vowel : pattern Str = #("a"|"e"|"i"|"o"|"u") ; @@ -230,10 +229,10 @@ param lo = init lop ; o = last lo ; p = case last lop of { - "v" => "f" ; - "z" => "s" ; - p => p - } ; + "v" => "f" ; + "z" => "s" ; + p => p + } ; loop = lo + o + p ; -- voiced consonant to unvoiced, vowel doubling kerf = lo + p ; -- voiced consonant to unvoiced, no vowel doubling zeg = tk 3 lopen ; -- double consonant disappearing @@ -249,74 +248,74 @@ param _ + #vowel + ("w"|"j") => werk ; -- Don't double a vowel before a w or j (are there other consonants?) _ + #vowel + #consonant => loop ; -- In other cases, a single penultimate vowel doubles. - _+ ("bb" | "dd" | "ff" | "gg" | "kk" | "ll" | "mm" | "nn" | "pp" | - "rr" | "ss" | "tt") => zeg ; - _+ #consonant + ("v"|"z") => kerf ; - _ => werk --default case, #consonant + #consonant + _+ ("bb" | "dd" | "ff" | "gg" | "kk" | "ll" | "mm" | "nn" | "pp" | + "rr" | "ss" | "tt") => zeg ; + _+ #consonant + ("v"|"z") => kerf ; + _ => werk --default case, #consonant + #consonant }; - -- To add a particle to a verb + -- To add a particle to a verb -- addPartVerb : Str -> Verb -> Verb = \aanmoedigen -> -- let verbpiece = Predef.drop 3 aanmoedigen; - -- part = Predef.take 3 aanmoedigen; - -- in - -- mkVerb (smartVerb verbpiece) part; + -- part = Predef.take 3 aanmoedigen; + -- in + -- mkVerb (smartVerb verbpiece) part; -- For regular verbs with past tense 'd' d_regVerb : (_,_ :Str) -> Verb = \geeuwen,geeuw -> mkVerb geeuw (geeuw + "t") geeuwen (geeuw + "de") (geeuw + "de") (geeuw + "den") - ("ge" + geeuw + "d"); + ("ge" + geeuw + "d"); - -- For regular verbs with past tense 't' - t_regVerb : (_,_ :Str) -> Verb = \botsen,bots -> - mkVerb bots (bots + "t") botsen - (bots + "te") (bots + "te") (bots + "ten") - ("ge" + bots + "t"); - - -- For verbs that dont need an extra 't' at the end + -- For regular verbs with past tense 't' + t_regVerb : (_,_ :Str) -> Verb = \botsen,bots -> + mkVerb bots (bots + "t") botsen (bots + "te") + (bots + "te") (bots + "ten") ("ge" + bots + "t"); + + -- For verbs that dont need an extra 't' at the end t_end_regVerb : (_,_ : Str) -> Verb = \achten,acht -> - mkVerb acht (acht) achten - (acht + "te") (acht +"te") (acht+"ten") ("ge"+acht); + mkVerb acht (acht) achten (acht + "te") + (acht +"te") (acht+"ten") ("ge"+acht); -- For verbs that dont need an extra 'd' at the end d_end_regVerb : (_,_ : Str) -> Verb = \aarden,aard -> - mkVerb aard (aard+"t") aarden - (aard + "de") (aard +"de") (aard+"den") ("ge"+aard); + mkVerb aard (aard+"t") aarden (aard + "de") + (aard +"de") (aard+"den") ("ge"+aard); - -- For verbs that need a vowel doubled in singular - add_vowel_regVerb : (_,_ : Str) -> Verb = \absorberen,stem -> - case stem of { - _+ ("t"|"k"|"f"|"s"|"c"|"h"|"p") => t_regVerb absorberen stem; - _ => d_regVerb absorberen stem - }; + -- For verbs that need a vowel doubled in singular + add_vowel_regVerb : (_,_ : Str) -> Verb = \absorberen,stem -> + case stem of { + _+ ("t"|"k"|"f"|"s"|"c"|"h"|"p") => t_regVerb absorberen stem; + _ => d_regVerb absorberen stem }; - -- For verbs that have their stem ending with a 'z' - z_regVerb : (_,_ : Str) -> Verb = \omhelzen,stem -> - d_regVerb omhelzen stem; - - -- For verbs that have their stem ending with a 'v' - v_regVerb : (_,_ : Str) -> Verb = \hoeven,hoef -> - mkVerb hoef (hoef +"t") hoeven (hoef+"de") (hoef+"de") (hoef+"den") ("ge"+hoef+"d"); + -- For verbs that have their stem ending with a 'z' + z_regVerb : (_,_ : Str) -> Verb = \omhelzen,stem -> + d_regVerb omhelzen stem; + + -- For verbs that have their stem ending with a 'v' + v_regVerb : (_,_ : Str) -> Verb = \hoeven,hoef -> + mkVerb hoef (hoef +"t") hoeven (hoef+"de") + (hoef+"de") (hoef+"den") ("ge"+hoef+"d"); zijn_V : VVerb = { s = table { - VInf => "zijn" ; - VInfFull => "zijn" ; - VPresSg1 => "ben" ; - VPresSg2 => "bent" ; - VPresSg3 => "is" ; - VPresPl => "zijn" ; - VPastSg => "was" ; --# notpresent - VPastPl => "waren" ; --# notpresent - VImp2 => "wees" ; - VImp3 => "weest" ; - VImpPl => "wezen" ; - VPerf => "geweest" ; - VPerfInfl => "geweeste" ; - VPresPart => "zijnde" ; - VGer => "wezend" + VInf => "zijn" ; + VInfFull => "zijn" ; + VPresSg1 => "ben" ; + VPresSg2 => "bent" ; + VPresSg3 => "is" ; + VPresPl => "zijn" ; + VPastSg => "was" ; --# notpresent + VPastPl => "waren" ; --# notpresent + VImp2 => "wees" ; + VImp3 => "weest" ; + VImpPl => "wezen" ; + VPerf APred => "geweest" ; + VPerf AAttr => "geweeste" ; + VPerf AGen => "geweests" ; + VPresPart => "zijnde" ; + VGer => "wezend" } ; aux = VZijn ; prefix = [] ; @@ -326,21 +325,22 @@ param hebben_V : VVerb = { s = table { - VInf => "hebben" ; - VInfFull => "hebben" ; - VPresSg1 => "heb" ; - VPresSg2 => "hebt" ; - VPresSg3 => "heeft" ; - VPresPl => "hebben" ; - VPastSg => "had" ; --# notpresent - VPastPl => "hadden" ; --# notpresent - VImp2 => "heb" ; - VImp3 => "heeft" ; - VImpPl => "hebben" ; - VPerf => "gehad" ; - VPerfInfl => "gehadde" ; - VPresPart => "hebbende" ; - VGer => "hebbend" + VInf => "hebben" ; + VInfFull => "hebben" ; + VPresSg1 => "heb" ; + VPresSg2 => "hebt" ; + VPresSg3 => "heeft" ; + VPresPl => "hebben" ; + VPastSg => "had" ; --# notpresent + VPastPl => "hadden" ; --# notpresent + VImp2 => "heb" ; + VImp3 => "heeft" ; + VImpPl => "hebben" ; + VPerf APred => "gehad" ; + VPerf AAttr => "gehadde" ; + VPerf AGen => "gehads" ; + VPresPart => "hebbende" ; + VGer => "hebbend" } ; aux = VHebben ; prefix = [] ; @@ -350,21 +350,22 @@ param zullen_V : VVerb = { s = table { - VInf => "zullen" ; - VInfFull => "zullen" ; - VPresSg1 => "zal" ; - VPresSg2 => "zult" ; - VPresSg3 => "zal" ; - VPresPl => "zullen" ; - VPastSg => "zou" ; --# notpresent - VPastPl => "zouden" ; --# notpresent - VImp2 => "zoud" ; ---- not used - VImp3 => "zoudt" ; - VImpPl => "zouden" ; ---- - VPerf => "gezoudt" ; - VPerfInfl => "gezoude" ; - VPresPart => "zullende" ; - VGer => "zullend" + VInf => "zullen" ; + VInfFull => "zullen" ; + VPresSg1 => "zal" ; + VPresSg2 => "zult" ; + VPresSg3 => "zal" ; + VPresPl => "zullen" ; + VPastSg => "zou" ; --# notpresent + VPastPl => "zouden" ; --# notpresent + VImp2 => "zoud" ; ---- not used + VImp3 => "zoudt" ; + VImpPl => "zouden" ; ---- + VPerf APred => "gezoudt" ; + VPerf AAttr => "gezoude" ; + VPerf AGen => "gezouds" ; + VPresPart => "zullende" ; + VGer => "zullend" } ; aux = VHebben ; prefix = [] ; @@ -374,21 +375,22 @@ param kunnen_V : VVerb = { s = table { - VInf => "kunnen" ; - VInfFull => "kunnen" ; - VPresSg1 => "kan" ; - VPresSg2 => "kunt" ; - VPresSg3 => "kan" ; ---- kun je - VPresPl => "kunnen" ; - VPastSg => "kon" ; --# notpresent - VPastPl => "konden" ; --# notpresent - VImp2 => "kan" ; ---- not used - VImp3 => "kan" ; - VImpPl => "kunnen" ; ---- - VPerf => "gekund" ; - VPerfInfl => "gekunde" ; - VPresPart => "kunnende" ; - VGer => "kunnend" + VInf => "kunnen" ; + VInfFull => "kunnen" ; + VPresSg1 => "kan" ; + VPresSg2 => "kunt" ; + VPresSg3 => "kan" ; ---- kun je + VPresPl => "kunnen" ; + VPastSg => "kon" ; --# notpresent + VPastPl => "konden" ; --# notpresent + VImp2 => "kan" ; ---- not used + VImp3 => "kan" ; + VImpPl => "kunnen" ; ---- + VPerf APred => "gekund" ; + VPerf AAttr => "gekunde" ; + VPerf AGen => "gekunds" ; + VPresPart => "kunnende" ; + VGer => "kunnend" } ; aux = VHebben ; prefix = [] ; @@ -425,9 +427,9 @@ param oper VVerb = Verb ** {prefix : Str ; -- af + stappen - particle : Str ; -- non-inflecting component, e.g. leuk vinden - aux : VAux ; -- hebben or zijn - vtype : VType} ; -- active or reflexive + particle : Str ; -- non-inflecting component, e.g. leuk vinden + aux : VAux ; -- hebben or zijn + vtype : VType} ; -- active or reflexive param VAux = VHebben | VZijn ; @@ -531,7 +533,8 @@ param isAux : Bool ; -- is a double infinitive negPos : NegPosition ; -- ik schoop X niet ; ik houd niet van X ; dat is niet leuk inf : Str * Bool ; -- zeggen (True = non-empty) - ext : Str -- dat je komt + ext : Str ; -- dat je komt + isHeavy : Bool ; -- has any other field than s. Affects any VP* -> AP function. } ; predV : VVerb -> VP = predVGen False AfterObjs ; @@ -550,7 +553,8 @@ param isAux = isAux ; negPos = negPos ; inf : Str * Bool = <[],False> ; - ext : Str = [] + ext : Str = [] ; + isHeavy = False ; } ; negation : Polarity => Str = table { @@ -568,6 +572,7 @@ param n0 = \\a => case isPron of {True => obj ! a ; _ => []} ++ vp.n0 ! a ; n2 = \\a => case isPron of {False => obj ! a ; _ => []} ++ vp.n2 ! a ; negPos = negPos ; + isHeavy = True ; } ; insertAdV : Str -> VP -> VP = \adv,vp -> vp ** { @@ -579,11 +584,13 @@ param } ; insertExtrapos : Str -> VP -> VP = \ext,vp -> vp ** { - ext = vp.ext ++ ext + ext = vp.ext ++ ext ; + isHeavy = True ; } ; insertInf : Str -> VP -> VP = \inf,vp -> vp ** { inf = ; + isHeavy = True ; } ; -- For $Sentence$. @@ -596,34 +603,31 @@ param s : Tense => Anteriority => Polarity => Order => Str } ; - -- To be used for normal clauses + -- To be used for normal clauses. APred chooses the noninflected past participle. mkClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> - mkClause' subj agr vp ! Fin ; + mkClause' subj agr vp APred Fin ; -- To be used for ExtendDut.PastPartAP -- If we need more variants, extend mkClause' - infClause : Str -> Agr -> VP -> Clause = \subj,agr,vp -> - mkClause' subj agr vp ! Inf ; + infClause : Str -> Agr -> VP -> AForm -> Clause = \subj,agr,vp,af -> + mkClause' subj agr vp af Inf ; - -- Lines 615-618 add a possibility to choose a participle verb form. + -- Added a possibility to choose a participle verb form. -- This is so far only used in ExtendDut.PastPartAP. /IL2018 - mkClause' : Str -> Agr -> VP -> (ClType => Clause) = \subj,agr,vp -> - \\isPart => { + mkClause' : Str -> Agr -> VP -> AForm -> ClType -> Clause = \subj,agr,vp,af,isPart -> { s = \\t,a,b,o => let vform = vForm t agr.g agr.n agr.p o ; auxv = (auxVerb vp.s.aux).s ; - vperf = vp.s.s ! VPerf ; + vperf = vp.s.s ! VPerf af ; verb : Str * Str = case of { - -- - => ; - => vp.s.s ! VPerfInfl ; - _ => vperf } - ,[]> ; - -- + -- + => ; + => ; + -- - <_,Fut|Cond,Simul> => ; --# notpresent + <_,Fut|Cond,Simul> => ; --# notpresent <_,Fut|Cond,Anter> => ; --# notpresent <_,_, Anter> => ; --# notpresent <_,_, Simul> => @@ -632,16 +636,16 @@ param neg = vp.a1 ! b ; obj0 = vp.n0 ! agr ; obj = vp.n2 ! agr ; - part = vp.s.particle ; - pref = case of { - Anter => [] ; -- prefix is part of participle: toegevoegd --# notpresent - _ => vp.s.prefix -- prefix not present in verb form - } ; - compl = case vp.negPos of { - BeforeObjs => neg ++ obj0 ++ obj ++ part ++ vp.a2 ++ pref ; - AfterObjs => obj0 ++ obj ++ neg ++ part ++ vp.a2 ++ pref ; - BetweenObjs => obj0 ++ neg ++ obj ++ part ++ vp.a2 ++ pref - } ; + part = vp.s.particle ; + pref = case of { + Anter => [] ; -- prefix is part of participle: toegevoegd --# notpresent + _ => vp.s.prefix -- prefix not present in verb form + } ; + compl = case vp.negPos of { + BeforeObjs => neg ++ obj0 ++ obj ++ part ++ vp.a2 ++ pref ; + AfterObjs => obj0 ++ obj ++ neg ++ part ++ vp.a2 ++ pref ; + BetweenObjs => obj0 ++ neg ++ obj ++ part ++ vp.a2 ++ pref + } ; inf : Str = case of { => vp.s.s ! VInf ++ vp.inf.p1 ; --# notpresent @@ -676,7 +680,7 @@ param let vverb = vp.s in { obj = \\agr => vp.n0 ! agr ++ vp.n2 ! agr ++ vp.a2 ; inf = vp.a1 ! Pos ++ -- altijd - vverb.particle ++ -- leuk + vverb.particle ++ -- leuk if_then_Str isAux (vverb.s ! VInfFull) -- toevoegen (vverb.prefix ++ "te" ++ vverb.s ! VInf) ; -- te vinden @@ -688,7 +692,7 @@ param in \vps -> insertExtrapos vpi.ext (insertInf vpi.inf - (insertObj vpi.obj vps)) ; + (insertObj vpi.obj (vps ** {isHeavy=True}))) ; useInfVP : Bool -> VP -> Agr => Str = \isAux,vp -> let vpi = infVP isAux vp in diff --git a/src/dutch/VerbDut.gf b/src/dutch/VerbDut.gf index d38f39fe2..a045198bd 100644 --- a/src/dutch/VerbDut.gf +++ b/src/dutch/VerbDut.gf @@ -80,7 +80,7 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in { (npLite (\\_ => reflPron ! a)) ) vp ; - PassV2 v = insertInf (v.s ! VPerf) (predV worden_V) ; + PassV2 v = insertInf (v.s ! VPerf APred) (predV worden_V) ; VPSlashPrep vp prep = vp ** {c2 = } ;