PassVPSlash in ExtendFre

This commit is contained in:
Krasimir Angelov
2023-03-08 18:51:06 +01:00
parent 98e3aa8c61
commit 2551040b5a
2 changed files with 17 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
abstract AllFreAbs = abstract AllFreAbs =
Lang, Lang,
IrregFreAbs, IrregFreAbs,
ExtraFreAbs Extend
** {} ; ** {} ;

View File

@@ -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 ;