1
0
forked from GitHub/gf-core
Files
gf-core/lib/src/greek/RelativeGre.gf

57 lines
1.3 KiB
Plaintext

concrete RelativeGre of Relative = CatGre ** open Prelude, ResGre in {
flags coding= utf8;
lin
RelCl cl = {
s = \\ag,t,a,p,_ =>"ώστε" ++ cl.s ! Main ! t ! a ! p ! Ind ;
c = Nom
} ;
RelVP rp vp = case rp.hasAgr of {
True => {s = \\ag,t,a,p,m =>
(predVP
(rp.s ! False! complAgr ag ! Nom )
(Ag rp.a.g rp.a.n P3)
vp).s ! Main !t !a! p! m ; c = Nom } ;
False => {s = \\ag,t,a,p,m =>
(predVP
(rp.s ! True! complAgr ag ! Nom)
ag
vp).s! Main !t! a! p! m ; c = Nom
}
} ;
RelSlash rp slash = {
s = \\ag,t,a,p,m =>
let aag = complAgr ag ;
agr = Ag rp.a.g rp.a.n P3 ;
in
slash.c2.s ++ rp.s ! False ! aag ! slash.c2.c ++
slash.s ! aag ! Main ! t ! a ! p ! m ++ slash.n3 ! agr ;
c = Acc
} ;
FunRP p np rp = {
s = \\_,a,c => (np.s ! c).comp ++ p.s ++ rp.s ! False ! a ! p.c ;
a = complAgr np.a ;
hasAgr = True
} ;
IdRP = {
s = relPron ;
a = {g = Masc ; n = Sg} ;
hasAgr = False
} ;
}