(Dut) make APs depend on agreement -- needed for reflexives

This commit is contained in:
Inari Listenmaa
2018-02-15 14:38:24 +01:00
parent 38dac3de60
commit 6fa7524c32
8 changed files with 41 additions and 34 deletions
+6 -6
View File
@@ -23,7 +23,8 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
insertExtrapos (conjThat ++ s.s ! Sub) (predV v) ;
ComplVQ v q =
insertExtrapos (q.s ! QIndir) (predV v) ;
ComplVA v ap = insertObj (\\ _ => ap.s ! APred) (predVGen False BetweenObjs v) ;
ComplVA v ap =
insertObj (\\agr => ap.s ! agr ! APred) (predVGen False BetweenObjs v) ;
SlashV2a v = predV (v2v v) ** {c2 = v.c2} ;
@@ -43,13 +44,12 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
insertExtrapos vpi.p3 (
insertInf vpi.p2 (
insertObj vpi.p1 ((predVGen v.isAux vp.negPos v)))) ** {c2 = v.c2} ;
SlashV2A v ap =
insertObj (\\_ => ap.s ! APred) (predVGen False BetweenObjs (v2v v)) ** {c2 = v.c2} ;
insertObj (\\agr => ap.s ! agr ! APred)
(predVGen False BetweenObjs (v2v v)) ** {c2 = v.c2} ;
--vp.c2.p2: if the verb has a preposition or not
ComplSlash vp np = insertObjNP np.isPron (case vp.c2.p2 of {True => BeforeObjs; False => vp.negPos}) (\\_ => appPrep vp.c2.p1 np) vp ;
SlashVV v vp =
let
vpi = infVP v.isAux vp
@@ -78,7 +78,7 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
CompCN cn = {s = \\a => case a.n of {
Sg => "een" ++ cn.s ! Strong ! NF Sg Nom ;
Pl => cn.s ! Strong ! NF Pl Nom }} ;
CompAP ap = {s = \\_ => ap.s ! APred} ;
CompAP ap = {s = \\agr => ap.s ! agr ! APred} ; -- agr needed for reflexives: "married to my/your/...self"
CompNP np = {s = \\_ => np.s ! NPNom} ;
CompAdv a = {s = \\_ => a.s} ;
@@ -95,10 +95,10 @@ concrete VerbDut of Verb = CatDut ** open Prelude, ResDut in {
VPSlashPrep vp prep = vp ** {c2 = <prep,True>} ;
---- workaround for a subtyping bug
oper
v2v : VVerb -> VVerb = \v ->
{s = v.s ; aux = v.aux ; prefix = v.prefix ; particle = v.particle ; vtype = v.vtype} ;
predVv : VVerb -> ResDut.VP = \v -> predV (v2v v) ;
}