diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-09-22 11:49:15 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-09-22 11:49:15 +0000 |
| commit | 98665df78b8018af30051cb4a9a31f845e0ba19d (patch) | |
| tree | 67ba30b09e2b9590a00a4b193bf7611caa935af8 /next-lib/src/romance/RelativeRomance.gf | |
| parent | 4862018f140a1bdcc7961d445ed9aa92facd742f (diff) | |
moved lib/next-resource to next-lib/src, to enable linking with next-lib as value of GF_LIB_PATH
Diffstat (limited to 'next-lib/src/romance/RelativeRomance.gf')
| -rw-r--r-- | next-lib/src/romance/RelativeRomance.gf | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/next-lib/src/romance/RelativeRomance.gf b/next-lib/src/romance/RelativeRomance.gf new file mode 100644 index 000000000..40b83c1b3 --- /dev/null +++ b/next-lib/src/romance/RelativeRomance.gf @@ -0,0 +1,50 @@ +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 ! aag ! DDir ! 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 + } ; + +} |
