forked from GitHub/gf-rgl
implement contractions with prepositions also for interrogative pronouns and quants and dets
This commit is contained in:
@@ -21,10 +21,10 @@ concrete CatDut of Cat =
|
||||
-- Question
|
||||
|
||||
QCl = {s : ResDut.Tense => Anteriority => Polarity => QForm => Str} ;
|
||||
IP = {s : NPCase => Str ; n : Number} ;
|
||||
IP = MergesWithPrep ** {s : NPCase => Str ; n : Number} ; -- met wat -> waarmee
|
||||
IComp = {s : Agr => Str} ;
|
||||
IDet = {s : Gender => Str ; n : Number} ;
|
||||
IQuant = {s : Number => Gender => Str} ;
|
||||
IDet = MergesWithPrep ** {s : Gender => Str ; n : Number} ;
|
||||
IQuant = MergesWithPrep ** {s : Number => Gender => Str} ;
|
||||
|
||||
-- Relative
|
||||
|
||||
|
||||
@@ -60,19 +60,18 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
||||
} ;
|
||||
|
||||
PrepIP p ip = {
|
||||
s = appPrep p (noMerge ** ip)
|
||||
s = appPrep p ip
|
||||
} ;
|
||||
|
||||
AdvIP ip adv = {
|
||||
AdvIP ip adv = ip ** {
|
||||
s = \\c => ip.s ! c ++ adv.s ;
|
||||
n = ip.n
|
||||
} ;
|
||||
|
||||
IdetCN idet cn =
|
||||
let
|
||||
g = cn.g ;
|
||||
n = idet.n
|
||||
in {
|
||||
in noMerge ** {
|
||||
s = \\c => idet.s ! g ++ cn.s ! Weak ! NF n Nom ;
|
||||
n = n
|
||||
} ;
|
||||
@@ -83,7 +82,9 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
||||
n = idet.n
|
||||
in {
|
||||
s = \\_ => idet.s ! g ;
|
||||
n = n
|
||||
n = n ;
|
||||
mergesWithPrep = idet.mergesWithPrep ;
|
||||
mergeForm = idet.mergeForm
|
||||
} ;
|
||||
|
||||
IdetQuant idet num =
|
||||
@@ -91,7 +92,9 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
||||
n = num.n
|
||||
in {
|
||||
s = \\g => idet.s ! n ! g ++ num.s ;
|
||||
n = n
|
||||
n = n ;
|
||||
mergesWithPrep = idet.mergesWithPrep ;
|
||||
mergeForm = idet.mergeForm
|
||||
} ;
|
||||
|
||||
AdvIAdv i a = {s = i.s ++ a.s} ;
|
||||
|
||||
@@ -44,7 +44,8 @@ concrete StructuralDut of Structural = CatDut, Prelude **
|
||||
in8front_Prep = mkPrep "voor" ;
|
||||
i_Pron = mkPronoun "ik" "me" "mijn" "ik" "mij" "mijn" "mijne" Utr Sg P1 ;
|
||||
in_Prep = mkPrep "in" ;
|
||||
it_Pron = mkPronoun "het" "het" "zijn" "het" "het" "zijn" "zijne" Neutr Sg P3 ;
|
||||
it_Pron = mkPronoun "het" "het" "zijn" "het" "het" "zijn" "zijne" Neutr Sg P3 **
|
||||
{ mergesWithPrep = True ; mergeForm = "er" } ;
|
||||
|
||||
less_CAdv = X.mkCAdv "minder" "dan" ;
|
||||
many_Det = mkDet "veel" "veel" Pl ;
|
||||
@@ -90,16 +91,16 @@ concrete StructuralDut of Structural = CatDut, Prelude **
|
||||
|
||||
we_Pron = mkPronoun "we" "ons" "ons" "wij" "ons" "onze" "onze" Utr Pl P3 ; ----
|
||||
|
||||
whatSg_IP = {s = \\_ => "wat" ; n = Sg} ;
|
||||
whatPl_IP = {s = \\_ => "wat" ; n = Pl} ;
|
||||
whatSg_IP = {s = \\_ => "wat" ; n = Sg ; mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||
whatPl_IP = {s = \\_ => "wat" ; n = Pl ; mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||
|
||||
when_IAdv = ss "wanneer" ;
|
||||
when_Subj = ss "als" ;
|
||||
where_IAdv = ss "waar" ;
|
||||
which_IQuant = mkPredet "welke" "welk" ;
|
||||
which_IQuant = mkPredet "welke" "welk" ** { mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||
|
||||
whoSg_IP = {s = \\_ => "wie" ; n = Sg} ;
|
||||
whoPl_IP = {s = \\_ => "wie" ; n = Pl} ;
|
||||
whoSg_IP = noMerge ** {s = \\_ => "wie" ; n = Sg} ;
|
||||
whoPl_IP = noMerge ** {s = \\_ => "wie" ; n = Pl} ;
|
||||
why_IAdv = ss "waarom" ;
|
||||
without_Prep = nomergePrep "zonder" ; -- doesn't combine
|
||||
with_Prep = mkPrep "met" ** { mergeForm = "mee" } ;
|
||||
|
||||
Reference in New Issue
Block a user