summaryrefslogtreecommitdiff
path: root/next-lib/src/russian/RelativeRus.gf
blob: 51088de57753ec23251cc7842f338e14873d2197 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--# -path=.:../abstract:../common:../../prelude

concrete RelativeRus of Relative = CatRus ** open ResRus, MorphoRus in {

  flags optimize=all_subs ; coding=utf8 ;

  lin

    RelCl A =   {s = \\b,clf,gn,c, anim => 
     takoj.s ! AF c anim gn ++ "что" ++ A.s !b!clf};

    RelVP kotoruj gulyaet =
    { s = \\b,clf,gn, c, anim =>  let { nu = numGenNum gn } in
      kotoruj.s ! gn ! c ! anim ++ gulyaet.s2 ++ gulyaet.s ! clf ! gn !P3 ++ 
       gulyaet.s3 ! genGNum gn ! nu
    } ;


-- Preposition stranding: "that we are looking at". Pied-piping is
-- deferred to $ExtRus.gf$ ("at which we are looking").

    RelSlash kotoruj yaVizhu =
    {s = \\b,clf,gn, _ , anim => yaVizhu.s2 ++ 
         kotoruj.s ! gn ! yaVizhu.c ! anim 
         ++ yaVizhu.s!b!clf 
    } ;

    FunRP p mama kotoruj =
    {s = \\gn,c, anim => let {nu = numGenNum gn} in
           mama.s ! PF c No NonPoss ++  
           p.s ++ kotoruj.s !  gn ! p.c ! anim
    } ;

    IdRP ={ s  = \\gn, c, anim => 
     kotorujDet.s ! (AF c anim gn )} ;
}