(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
+12 -10
View File
@@ -7,50 +7,52 @@ concrete AdjectiveDut of Adjective = CatDut ** open ResDut, Prelude in
lin
PositA a = {
s = a.s ! Posit ;
s = \\agr => a.s ! Posit ;
isPre = True
} ;
ComparA a np = {
s = \\af => a.s ! Compar ! af ++ "dan" ++ np.s ! NPNom ;
s = \\agr,af => a.s ! Compar ! af ++ "dan" ++ np.s ! NPNom ;
isPre = True
} ;
CAdvAP ad ap np = {
s = \\af => ad.s ++ ap.s ! af ++ ad.p ++ np.s ! NPNom ;
s = \\agr,af => ad.s ++ ap.s ! agr ! af ++ ad.p ++ np.s ! NPNom ;
isPre = False
} ;
UseComparA a = {
s = \\af => a.s ! Compar ! af ;
s = \\agr => a.s ! Compar ;
isPre = True
} ;
AdjOrd a = {
s = a.s ;
s = \\agr => a.s ;
isPre = True
} ;
-- $SuperlA$ belongs to determiner syntax in $Noun$.
ComplA2 a np = {
s = \\af => a.s ! Posit ! af ++ appPrep a.c2 np ;
s = \\agr,af => a.s ! Posit ! af ++ appPrep a.c2 np ;
isPre = True
} ;
ReflA2 a = {
s = \\af => a.s ! Posit ! APred ++ appPrep a.c2 (npLite (\\_ => reflPron ! agrP3 Sg)) ; --- agr
s = \\agr,af => a.s ! Posit ! APred ++
appPrep a.c2 (npLite (\\_ => reflPron ! agr)) ;
isPre = True
} ;
SentAP ap sc = {
s = \\a => ap.s ! a ++ sc.s ;
s = \\agr,af => ap.s ! agr ! af ++ sc.s ;
isPre = False
} ;
AdAP ada ap = {
s = \\a => ada.s ++ ap.s ! a ;
s = \\agr,af => ada.s ++ ap.s ! agr ! af ;
isPre = ap.isPre
} ;
UseA2 a = {
s = a.s ! Posit ;
s = \\agr => a.s ! Posit ;
isPre = True
} ;