added VPS functions to Romance Extend modules

This commit is contained in:
Aarne Ranta
2024-07-26 16:47:43 +02:00
parent afe544bb29
commit 78fc625174
5 changed files with 107 additions and 6 deletions

View File

@@ -2,7 +2,9 @@
concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor -
[
GenRP,
PassVPSlash, PassAgentVPSlash
PassVPSlash, PassAgentVPSlash,
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
]
-- don't forget to put the names of your own
-- definitions here
@@ -45,4 +47,30 @@ oper
comp = \\a => vps.comp ! a ++ (let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) ++ agent ;
} ;
lincat
VPS = {s : Mood => Agr => Bool => Str} ;
[VPS] = {s1,s2 : Mood => Agr => Bool => Str} ;
lin
BaseVPS x y = twoTable3 Mood Agr Bool x y ;
ConsVPS = consrTable3 Mood Agr Bool comma ;
lin
PredVPS np vpi = {
s = \\m => (np.s ! Nom).comp ++ vpi.s ! m ! np.a ! np.isNeg
} ;
MkVPS tm p vp = {
s = \\m,agr,isNeg =>
tm.s ++ p.s ++
(mkClausePol (orB isNeg vp.isNeg) [] False False agr vp).s
! DDir ! tm.t ! tm.a ! p.p ! m
} ;
ConjVPS = conjunctDistrTable3 Mood Agr Bool ;
RelVPS rp vpi = {
s = \\m, agr => rp.s ! False ! complAgr agr ! Nom ++ vpi
.s ! m ! (Ag rp.a.g rp.a.n P3) ! False ;
c = Nom
} ;
}