Files
gf-rgl/src/russian/RelativeRus.gf
2020-08-09 17:20:03 +03:00

47 lines
1.2 KiB
Plaintext

concrete RelativeRus of Relative = CatRus ** open
ParadigmsRus,
ResRus,
MorphoRus,
Maybe,
Prelude, Coordination in {
lin
-- : Cl -> RCl ; -- such that John loves her
RelCl cl = {
subj=\\gn,anim,cas => such.s ! gn ! anim ! cas ++ comma ++ "что" ++ cl.subj ;
adv=\\a => cl.adv ;
verb=cl.verb ;
dep=cl.dep ;
compl=\\p,a => cl.compl ! p ;
a=Just Agr cl.a
} ;
-- : RP -> ClSlash -> RCl ; -- whom John loves
RelSlash rp cls = {
subj=\\gn,anim,cas => cls.c.s ++ (rp.s ! gn ! anim ! cls.c.c) ++ cls.subj ;
adv=\\a=>cls.adv ;
verb=cls.verb ;
dep=cls.dep ;
compl=\\p,a => cls.compl ! p ;
a=Just Agr cls.a
} ;
-- : RP -> VP -> RCl ; -- who loves John
RelVP rp vp = {
subj=rp.s;
adv=\\a=>vp.adv ! Ag (GSg Neut) P3 ;
verb=vp.verb ;
dep=vp.dep ;
compl=vp.compl ;
a=Nothing Agr (Ag (GSg Neut) P3)
} ;
-- : RP ; -- which
IdRP = lin RP (doKotoryjPron "который" (Ag (GSg Neut) P3)) ;
-- : Prep -> NP -> RP -> RP ; -- the mother of whom
FunRP prep np rp = {
s=\\gn,anim,cas => np.s ! cas ++ prep.s ++ rp.s ! gn ! Inanimate ! prep.c ;
a=np.a
} ;
}