summaryrefslogtreecommitdiff
path: root/deprecated/old-lib/resource/romance/RelativeRomance.gf
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/old-lib/resource/romance/RelativeRomance.gf')
-rw-r--r--deprecated/old-lib/resource/romance/RelativeRomance.gf50
1 files changed, 50 insertions, 0 deletions
diff --git a/deprecated/old-lib/resource/romance/RelativeRomance.gf b/deprecated/old-lib/resource/romance/RelativeRomance.gf
new file mode 100644
index 000000000..40b83c1b3
--- /dev/null
+++ b/deprecated/old-lib/resource/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
+ } ;
+
+}