1
0
forked from GitHub/gf-rgl

added GenRP to Extend Fin,Fre,Ger,Ita,Swe

This commit is contained in:
Aarne Ranta
2024-03-20 16:34:30 +01:00
parent 97b713520f
commit bb5107fa99
6 changed files with 51 additions and 5 deletions

View File

@@ -5,7 +5,7 @@ concrete ExtendFin of Extend =
VPI2,VPS2,MkVPS,MkVPS2,ConjVPS2,ComplVPS2, ConsVPS, BaseVPS, ListVPS, VPS, ConjVPS,PredVPS, VPI2,VPS2,MkVPS,MkVPS2,ConjVPS2,ComplVPS2, ConsVPS, BaseVPS, ListVPS, VPS, ConjVPS,PredVPS,
MkVPI2,ConjVPI2,ComplVPI2,ComplVPIVV MkVPI2,ConjVPI2,ComplVPI2,ComplVPIVV
,ExistCN, ExistMassCN, ICompAP, ByVP ,ExistCN, ExistMassCN, ICompAP, ByVP
,CompoundN, GenNP, GenIP, AdvIsNP, EmbedSSlash ,CompoundN, GenNP, GenIP, GenRP, AdvIsNP, EmbedSSlash
,PassVPSlash, PassAgentVPSlash ,PassVPSlash, PassAgentVPSlash
,CardCNCard ,CardCNCard
,UttAccNP ,UttAccNP
@@ -191,6 +191,15 @@ lin
GenIP ip = {s = \\_,_ => ip.s ! NPCase Gen} ; GenIP ip = {s = \\_,_ => ip.s ! NPCase Gen} ;
GenRP num cn = {
s = \\n,c =>
let k = npform2case num.n c
in relPron ! n ! Gen ++ linCN (NCase num.n k) cn ;
--- a = RNoAg
a = RAg (agrP3 num.n)
} ;
ByVP vp = lin Adv {s = S.infVP vp.s.sc Pos (Ag Sg P3) vp Inf3Adess} ; ---- Agr ? ByVP vp = lin Adv {s = S.infVP vp.s.sc Pos (Ag Sg P3) vp Inf3Adess} ; ---- Agr ?
AdvIsNP adv np = S.mkClause (\_ -> adv.s) np.a (UseComp (CompNP np)) ; AdvIsNP adv np = S.mkClause (\_ -> adv.s) np.a (UseComp (CompNP np)) ;

View File

@@ -4,6 +4,7 @@ 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,
GenRP,
ExistCN, ExistMassCN, ExistPluralCN, RNP, ReflRNP, ExistCN, ExistMassCN, ExistPluralCN, RNP, ReflRNP,
PassVPSlash, PassAgentVPSlash, ApposNP, CompoundN PassVPSlash, PassAgentVPSlash, ApposNP, CompoundN
] -- put the names of your own definitions here ] -- put the names of your own definitions here
@@ -23,6 +24,16 @@ lincat
RNP = {s : Agr => Case => Str} ; RNP = {s : Agr => Case => Str} ;
lin lin
GenRP nu cn = {
s = \\_b,_aagr,_c => "dont" ++ num ++ artDef False g n Nom ++ cn.s ! n ;
a = aagr g n ;
hasAgr = True
} where {
g = cn.g ;
n = nu.n ;
num = if_then_Str nu.isNum (nu.s ! g) []
} ;
ExistCN cn = ExistCN cn =
let let
pos = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ; pos = ExistNP (DetCN (DetQuant IndefArt NumSg) cn) ;

View File

@@ -3,7 +3,7 @@
concrete ExtendGer of Extend = concrete ExtendGer of Extend =
CatGer ** ExtendFunctor CatGer ** ExtendFunctor
- [ -- remove the default implementations of: - [ -- remove the default implementations of:
GenNP, EmptyRelSlash, GenNP, GenRP, EmptyRelSlash,
VPS, ListVPS, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS, VPS, ListVPS, MkVPS, BaseVPS, ConsVPS, ConjVPS, PredVPS,
VPI, ListVPI, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV, VPI, ListVPI, MkVPI, BaseVPI, ConsVPI, ConjVPI, ComplVPIVV,
ICompAP, IAdvAdv, CompIQuant, PrepCN, ICompAP, IAdvAdv, CompIQuant, PrepCN,
@@ -36,6 +36,13 @@ concrete ExtendGer of Extend =
delCardOne = False delCardOne = False
} ; } ;
GenRP nu cn = {
s = \\gn,c => relPron ! gn ! Gen ++ cn.s ! Weak ! nu.n ! c ;
a = RAg nu.n P3
} ;
EmptyRelSlash slash = { EmptyRelSlash slash = {
s = \\m,t,a,p,gn => s = \\m,t,a,p,gn =>
appPrep slash.c2 (relPron ! gn) ++ slash.s ! m ! t ! a ! p ! Sub ; appPrep slash.c2 (relPron ! gn) ++ slash.s ! m ! t ! a ! p ! Sub ;

View File

@@ -1,6 +1,7 @@
--# -path=alltenses:../common:../abstract:../romance --# -path=alltenses:../common:../abstract:../romance
concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor - concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor -
[ [
GenRP,
PassVPSlash, PassAgentVPSlash PassVPSlash, PassAgentVPSlash
] ]
-- don't forget to put the names of your own -- don't forget to put the names of your own
@@ -16,6 +17,19 @@ concrete ExtendIta of Extend = CatIta ** ExtendRomanceFunctor -
ParadigmsIta in { ParadigmsIta in {
-- put your own definitions here -- put your own definitions here
lin
GenRP nu cn = {
s = \\_b,_aagr,_c => "di cui" ++ num ++ cn.s ! n ;
a = aagr g n ;
hasAgr = True
} where {
g = cn.g ;
n = nu.n ;
num = if_then_Str nu.isNum (nu.s ! g) []
} ;
lin PassVPSlash vps = passVPSlash vps [] ; lin PassVPSlash vps = passVPSlash vps [] ;
PassAgentVPSlash vps np = passVPSlash PassAgentVPSlash vps np = passVPSlash

View File

@@ -7,7 +7,6 @@ concrete ExtendSpa of Extend = CatSpa ** ExtendRomanceFunctor -
ExistsNP, ExistsNP,
EmbedSSlash, EmbedSSlash,
GenRP, GenRP,
GenRP,
IAdvAdv, IAdvAdv,
ICompAP, ICompAP,
InOrderToVP, InOrderToVP,

View File

@@ -16,7 +16,8 @@ concrete ExtendSwe of Extend = CatSwe **
CompoundN, CompoundAP, AdvIsNP, CompoundN, CompoundAP, AdvIsNP,
UttAccNP, UttAccNP,
A2VPSlash, N2VPSlash, A2VPSlash, N2VPSlash,
CardCNCard CardCNCard,
GenRP
] ]
with (Grammar = GrammarSwe) with (Grammar = GrammarSwe)
** **
@@ -392,5 +393,10 @@ lin UseDAPMasc, UseDAPFem = \dap ->
lin CardCNCard card cn = lin CardCNCard card cn =
{s = \\g => card.s ! cn.g ++ cn.s ! card.n ! DIndef ! Nom ; n = Pl} ; {s = \\g => card.s ! cn.g ++ cn.s ! card.n ! DIndef ! Nom ; n = Pl} ;
GenRP num cn = {
s = \\g_,n,c => "vars" ++ cn.s ! num.n ! DDef Indef ! Nom ; --- c ?
a = RAg cn.g num.n P3
} ;
} }