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
|
-- Question
|
||||||
|
|
||||||
QCl = {s : ResDut.Tense => Anteriority => Polarity => QForm => Str} ;
|
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} ;
|
IComp = {s : Agr => Str} ;
|
||||||
IDet = {s : Gender => Str ; n : Number} ;
|
IDet = MergesWithPrep ** {s : Gender => Str ; n : Number} ;
|
||||||
IQuant = {s : Number => Gender => Str} ;
|
IQuant = MergesWithPrep ** {s : Number => Gender => Str} ;
|
||||||
|
|
||||||
-- Relative
|
-- Relative
|
||||||
|
|
||||||
|
|||||||
@@ -60,19 +60,18 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
PrepIP p ip = {
|
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 ;
|
s = \\c => ip.s ! c ++ adv.s ;
|
||||||
n = ip.n
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IdetCN idet cn =
|
IdetCN idet cn =
|
||||||
let
|
let
|
||||||
g = cn.g ;
|
g = cn.g ;
|
||||||
n = idet.n
|
n = idet.n
|
||||||
in {
|
in noMerge ** {
|
||||||
s = \\c => idet.s ! g ++ cn.s ! Weak ! NF n Nom ;
|
s = \\c => idet.s ! g ++ cn.s ! Weak ! NF n Nom ;
|
||||||
n = n
|
n = n
|
||||||
} ;
|
} ;
|
||||||
@@ -83,7 +82,9 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
|||||||
n = idet.n
|
n = idet.n
|
||||||
in {
|
in {
|
||||||
s = \\_ => idet.s ! g ;
|
s = \\_ => idet.s ! g ;
|
||||||
n = n
|
n = n ;
|
||||||
|
mergesWithPrep = idet.mergesWithPrep ;
|
||||||
|
mergeForm = idet.mergeForm
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
IdetQuant idet num =
|
IdetQuant idet num =
|
||||||
@@ -91,7 +92,9 @@ concrete QuestionDut of Question = CatDut ** open ResDut in {
|
|||||||
n = num.n
|
n = num.n
|
||||||
in {
|
in {
|
||||||
s = \\g => idet.s ! n ! g ++ num.s ;
|
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} ;
|
AdvIAdv i a = {s = i.s ++ a.s} ;
|
||||||
|
|||||||
@@ -44,7 +44,8 @@ concrete StructuralDut of Structural = CatDut, Prelude **
|
|||||||
in8front_Prep = mkPrep "voor" ;
|
in8front_Prep = mkPrep "voor" ;
|
||||||
i_Pron = mkPronoun "ik" "me" "mijn" "ik" "mij" "mijn" "mijne" Utr Sg P1 ;
|
i_Pron = mkPronoun "ik" "me" "mijn" "ik" "mij" "mijn" "mijne" Utr Sg P1 ;
|
||||||
in_Prep = mkPrep "in" ;
|
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" ;
|
less_CAdv = X.mkCAdv "minder" "dan" ;
|
||||||
many_Det = mkDet "veel" "veel" Pl ;
|
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 ; ----
|
we_Pron = mkPronoun "we" "ons" "ons" "wij" "ons" "onze" "onze" Utr Pl P3 ; ----
|
||||||
|
|
||||||
whatSg_IP = {s = \\_ => "wat" ; n = Sg} ;
|
whatSg_IP = {s = \\_ => "wat" ; n = Sg ; mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||||
whatPl_IP = {s = \\_ => "wat" ; n = Pl} ;
|
whatPl_IP = {s = \\_ => "wat" ; n = Pl ; mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||||
|
|
||||||
when_IAdv = ss "wanneer" ;
|
when_IAdv = ss "wanneer" ;
|
||||||
when_Subj = ss "als" ;
|
when_Subj = ss "als" ;
|
||||||
where_IAdv = ss "waar" ;
|
where_IAdv = ss "waar" ;
|
||||||
which_IQuant = mkPredet "welke" "welk" ;
|
which_IQuant = mkPredet "welke" "welk" ** { mergesWithPrep = True ; mergeForm = "waar"} ;
|
||||||
|
|
||||||
whoSg_IP = {s = \\_ => "wie" ; n = Sg} ;
|
whoSg_IP = noMerge ** {s = \\_ => "wie" ; n = Sg} ;
|
||||||
whoPl_IP = {s = \\_ => "wie" ; n = Pl} ;
|
whoPl_IP = noMerge ** {s = \\_ => "wie" ; n = Pl} ;
|
||||||
why_IAdv = ss "waarom" ;
|
why_IAdv = ss "waarom" ;
|
||||||
without_Prep = nomergePrep "zonder" ; -- doesn't combine
|
without_Prep = nomergePrep "zonder" ; -- doesn't combine
|
||||||
with_Prep = mkPrep "met" ** { mergeForm = "mee" } ;
|
with_Prep = mkPrep "met" ** { mergeForm = "mee" } ;
|
||||||
|
|||||||
Reference in New Issue
Block a user