mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-12 22:39:31 -06:00
51 lines
1.3 KiB
Plaintext
51 lines
1.3 KiB
Plaintext
incomplete concrete RelativeRomance of Relative =
|
|
CatRomance ** open Prelude, CommonRomance, ResRomance in {
|
|
|
|
flags optimize=all_subs ;
|
|
|
|
lin
|
|
|
|
RelCl cl = {
|
|
s = \\ag,t,a,p,m => pronSuch ! ag ++ conjThat ++
|
|
cl.s ! DDir ! t ! a ! p ! m ;
|
|
c = Nom
|
|
} ;
|
|
|
|
--- more efficient to compile than case inside mkClause; see log.txt
|
|
RelVP rp vp = case rp.hasAgr of {
|
|
True => {s = \\ag =>
|
|
(mkClause
|
|
(rp.s ! False ! {g = ag.g ; n = ag.n} ! Nom) False
|
|
{g = rp.a.g ; n = rp.a.n ; p = P3}
|
|
vp).s ! DDir ; c = Nom} ;
|
|
False => {s = \\ag =>
|
|
(mkClause
|
|
(rp.s ! False ! {g = ag.g ; n = ag.n} ! Nom) False
|
|
ag
|
|
vp).s ! DDir ; c = Nom
|
|
}
|
|
} ;
|
|
|
|
RelSlash rp slash = {
|
|
s = \\ag,t,a,p,m =>
|
|
let aag = {g = ag.g ; n = ag.n}
|
|
in
|
|
slash.c2.s ++
|
|
rp.s ! False ! aag ! slash.c2.c ++
|
|
slash.s ! DDir ! aag ! t ! a ! p ! m ; --- ragr
|
|
c = Acc
|
|
} ;
|
|
|
|
FunRP p np rp = {
|
|
s = \\_,a,c => np.s ! Ton Nom ++ p.s ++ rp.s ! True ! a ! p.c ;
|
|
a = {g = np.a.g ; n = np.a.n} ;
|
|
hasAgr = True
|
|
} ;
|
|
IdRP = {
|
|
s = relPron ;
|
|
a = {g = Masc ; n = Sg} ;
|
|
hasAgr = False
|
|
} ;
|
|
|
|
}
|