mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
PassVPSlash in ExtendFre
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
abstract AllFreAbs =
|
abstract AllFreAbs =
|
||||||
Lang,
|
Lang,
|
||||||
IrregFreAbs,
|
IrregFreAbs,
|
||||||
ExtraFreAbs
|
Extend
|
||||||
** {} ;
|
** {} ;
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ concrete ExtendFre of Extend =
|
|||||||
CatFre ** ExtendFunctor -
|
CatFre ** ExtendFunctor -
|
||||||
[
|
[
|
||||||
---- iFem_Pron, youFem_Pron, weFem_Pron, youPlFem_Pron, theyFem_Pron, youPolFem_Pron, youPolPl_Pron, youPolPlFem_Pron,
|
---- iFem_Pron, youFem_Pron, weFem_Pron, youPlFem_Pron, theyFem_Pron, youPolFem_Pron, youPolPl_Pron, youPolPlFem_Pron,
|
||||||
ExistCN, ExistMassCN, ExistPluralCN
|
ExistCN, ExistMassCN, ExistPluralCN,
|
||||||
|
PassVPSlash, PassAgentVPSlash
|
||||||
] -- put the names of your own definitions here
|
] -- put the names of your own definitions here
|
||||||
with
|
with
|
||||||
(Grammar = GrammarFre) **
|
(Grammar = GrammarFre) **
|
||||||
@@ -38,6 +39,20 @@ lin
|
|||||||
oper
|
oper
|
||||||
de_Quant : Quant = IndefArt ** {s = \\_,_,_,_ => elisDe} ;
|
de_Quant : Quant = IndefArt ** {s = \\_,_,_,_ => elisDe} ;
|
||||||
|
|
||||||
|
lin PassVPSlash vps = passVPSlash vps [] ;
|
||||||
|
PassAgentVPSlash vps np = passVPSlash
|
||||||
|
vps (let by = <Grammar.by8agent_Prep : Prep> in by.s ++ (np.s ! by.c).ton) ;
|
||||||
|
|
||||||
|
oper
|
||||||
|
passVPSlash : VPSlash -> Str -> VP = \vps, agent ->
|
||||||
|
let auxvp = predV auxPassive
|
||||||
|
in
|
||||||
|
vps ** {
|
||||||
|
s = auxvp.s ;
|
||||||
|
agr = auxvp.agr ;
|
||||||
|
comp = \\a => vps.comp ! a ++ (let agr = complAgr a in vps.s.s ! VPart agr.g agr.n) ++ agent ;
|
||||||
|
} ;
|
||||||
|
|
||||||
lin GivenName, MaleSurname, FemaleSurname = \n -> n ;
|
lin GivenName, MaleSurname, FemaleSurname = \n -> n ;
|
||||||
lin FullName gn sn = {
|
lin FullName gn sn = {
|
||||||
s = gn.s ++ sn.s ;
|
s = gn.s ++ sn.s ;
|
||||||
|
|||||||
Reference in New Issue
Block a user