mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
added VPS functions to Romance Extend modules
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
--# -path=alltenses:../common:../abstract:../romance
|
--# -path=alltenses:../common:../abstract:../romance
|
||||||
concrete ExtendCat of Extend = CatCat ** ExtendRomanceFunctor-- -
|
concrete ExtendCat of Extend = CatCat ** ExtendRomanceFunctor-- -
|
||||||
-- [
|
[
|
||||||
-- ]
|
|
||||||
|
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
|
||||||
|
|
||||||
|
]
|
||||||
-- don't forget to put the names of your own
|
-- don't forget to put the names of your own
|
||||||
-- definitions here
|
-- definitions here
|
||||||
with
|
with
|
||||||
@@ -15,4 +18,32 @@ concrete ExtendCat of Extend = CatCat ** ExtendRomanceFunctor-- -
|
|||||||
ParadigmsCat in {
|
ParadigmsCat in {
|
||||||
-- put your own definitions here
|
-- put your own definitions here
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ concrete ExtendFre of Extend =
|
|||||||
GenRP,
|
GenRP,
|
||||||
ExistCN, ExistMassCN, ExistPluralCN, RNP, ReflRNP,
|
ExistCN, ExistMassCN, ExistPluralCN, RNP, ReflRNP,
|
||||||
PassVPSlash, PassAgentVPSlash, PastPartAP, PastPartAgentAP, ApposNP, CompoundN,
|
PassVPSlash, PassAgentVPSlash, PastPartAP, PastPartAgentAP, ApposNP, CompoundN,
|
||||||
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS
|
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
|
||||||
] -- put the names of your own definitions here
|
] -- put the names of your own definitions here
|
||||||
with
|
with
|
||||||
(Grammar = GrammarFre) **
|
(Grammar = GrammarFre) **
|
||||||
@@ -154,4 +154,10 @@ lin UseDAP = \dap ->
|
|||||||
} ;
|
} ;
|
||||||
ConjVPS = conjunctDistrTable3 Mood Agr Bool ;
|
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
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,9 @@
|
|||||||
concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor -
|
concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor -
|
||||||
[
|
[
|
||||||
GenRP,
|
GenRP,
|
||||||
PassVPSlash, PassAgentVPSlash
|
PassVPSlash, PassAgentVPSlash,
|
||||||
|
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
|
||||||
|
|
||||||
]
|
]
|
||||||
-- don't forget to put the names of your own
|
-- don't forget to put the names of your own
|
||||||
-- definitions here
|
-- 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 ;
|
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
|
||||||
|
} ;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ concrete ExtendPor of Extend = CatPor ** ExtendRomanceFunctor -
|
|||||||
youPlFem_Pron,
|
youPlFem_Pron,
|
||||||
youPolFem_Pron,
|
youPolFem_Pron,
|
||||||
youPolPlFem_Pron,
|
youPolPlFem_Pron,
|
||||||
youPolPl_Pron
|
youPolPl_Pron,
|
||||||
|
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
|
||||||
] -- don't forget to put the names of your own
|
] -- don't forget to put the names of your own
|
||||||
-- definitions here
|
-- definitions here
|
||||||
with
|
with
|
||||||
@@ -120,4 +121,31 @@ concrete ExtendPor of Extend = CatPor ** ExtendRomanceFunctor -
|
|||||||
youPolPlFem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ;
|
youPolPlFem_Pron = pronAgr youPolPl_Pron Fem Pl P2 ;
|
||||||
theyFem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ;
|
theyFem_Pron = mkPronFrom S.they_Pron "elas" "as" "lhes" "elas" Fem Pl P3 ;
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ concrete ExtendSpa of Extend = CatSpa ** ExtendRomanceFunctor -
|
|||||||
youPolPlFem_Pron,
|
youPolPlFem_Pron,
|
||||||
youPolPl_Pron,
|
youPolPl_Pron,
|
||||||
PassVPSlash, PassAgentVPSlash,
|
PassVPSlash, PassAgentVPSlash,
|
||||||
UseComp_estar, UseComp_ser
|
UseComp_estar, UseComp_ser,
|
||||||
|
BaseVPS, ConsVPS, PredVPS, MkVPS, ConjVPS, RelVPS
|
||||||
|
|
||||||
] -- don't forget to put the names of your own
|
] -- don't forget to put the names of your own
|
||||||
-- definitions here
|
-- definitions here
|
||||||
with
|
with
|
||||||
@@ -125,4 +127,10 @@ oper
|
|||||||
|
|
||||||
lin AnaphPron np = agr2pron ! np.a ;
|
lin AnaphPron np = agr2pron ! np.a ;
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
} ;
|
} ;
|
||||||
|
|||||||
Reference in New Issue
Block a user