diff --git a/src/dutch/ResDut.gf b/src/dutch/ResDut.gf index 77fb4c83f..9b7860a5a 100644 --- a/src/dutch/ResDut.gf +++ b/src/dutch/ResDut.gf @@ -701,13 +701,26 @@ param Determiner : Type = MergesWithPrep ** {s,sp : Gender => Str ; n : Number ; a : Adjf} ; - mkDet : Str -> Str -> Number -> Determiner = + mkDet2 : Str -> Str -> Number -> Determiner = \deze,dit,n -> noMerge ** { - s = \\g => case of { => dit ; _ => deze} ; - sp = \\g => case of { => dit ; _ => deze} ; - n = n ; - a = Weak - } ; + s = \\g => case of { => dit ; _ => deze} ; + sp = \\g => case of { => dit ; _ => deze} ; + n = n ; + a = Weak } ; + + mkDet = overload { + mkDet : Str -> Str -> Number -> Determiner = mkDet2 ; + + -- NB: this function has 3 arguments to separate it from the previous one + -- where the independent NP form is the same as the attribute form + -- ("deze mensen" and "deze"). + -- In contrast, here we have a different NP form: + -- "er zijn veel/weinig mensen" + -- "velen zijn geroepen, maar weinigen uitverkoren." + mkDet : Str -> Str -> Str -> Number -> Determiner = + \weinig,_,weinigen,n -> + mkDet2 weinig weinig n ** { sp = \\g => weinigen } + } ; Quantifier : Type = MergesWithPrep ** { s : Bool => Number => Gender => Str ; sp : Number => Gender => Str ; diff --git a/src/dutch/StructuralDut.gf b/src/dutch/StructuralDut.gf index a25c34f8e..dece9158e 100644 --- a/src/dutch/StructuralDut.gf +++ b/src/dutch/StructuralDut.gf @@ -26,11 +26,11 @@ concrete StructuralDut of Structural = CatDut, Prelude ** can8know_VV, can_VV = auxVV kunnen_V ; during_Prep = nomergePrep "tijdens" ; -- doesn't combine either7or_DConj = {s1 = "ofwel" ; s2 = "of" ; n = Pl} ; - everybody_NP = mkNP "alle" Utr Pl ; ---- + everybody_NP = mkNP "iedereen" Utr Pl ; ---- every_Det = mkDet "elke" "elk" Sg ; ---- everything_NP = mkNP "alles" Neutr Sg ; ---- everywhere_Adv = ss "overal" ; - few_Det = mkDet "weinig" "weinig" Pl ; + few_Det = mkDet "weinig" "weinig" "weinigen" Pl ; for_Prep = mkPrep "voor" ; from_Prep = mkPrep "uit" ; he_Pron = mkPronoun "hij" "hem" "zijn" "hij" "hem" "zijn" "zijne" Utr Sg P3 ; @@ -39,7 +39,7 @@ concrete StructuralDut of Structural = CatDut, Prelude ** here_Adv = ss "hier" ; how_IAdv = ss "hoe" ; how8much_IAdv = ss "hoeveel" ; - how8many_IDet = mkDet "hoeveel" "hoeveel" Pl ; + how8many_IDet = mkDet2 "hoeveel" "hoeveel" Pl ; if_Subj = ss "als" ; in8front_Prep = mkPrep "voor" ; i_Pron = mkPronoun "ik" "me" "mijn" "ik" "mij" "mijn" "mijne" Utr Sg P1 ; @@ -48,7 +48,7 @@ concrete StructuralDut of Structural = CatDut, Prelude ** { mergesWithPrep = True ; mergeForm = "er" } ; less_CAdv = X.mkCAdv "minder" "dan" ; - many_Det = mkDet "veel" "veel" Pl ; + many_Det = mkDet "veel" "veel" "velen" Pl ; more_CAdv = X.mkCAdv "meer" "dan" ; most_Predet = mkPredet "meeste" "meeste" ; much_Det = mkDet "veel" "veel" Sg ; @@ -68,7 +68,7 @@ concrete StructuralDut of Structural = CatDut, Prelude ** so_AdA = ss "zo" ; somebody_NP = mkNP "iemand" Utr Sg ; - somePl_Det = mkDet "sommige" "sommige" Pl ; + somePl_Det = mkDet "sommige" "sommige" "sommigen" Pl ; someSg_Det = mkDet "enige" "enig" Sg ; something_NP = mkNP "iets" Utr Sg ; somewhere_Adv = ss "ergens" ;