summaryrefslogtreecommitdiff
path: root/next-lib/src/hindi/RelativeHin.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-12-18 14:21:28 +0000
committeraarne <aarne@cs.chalmers.se>2008-12-18 14:21:28 +0000
commit9e341cc7f9020eda842c8ad0f1f57bf6326eb89d (patch)
tree1c0e78a1c3790286a0fabf408ea15ee179f8749d /next-lib/src/hindi/RelativeHin.gf
parent98a4b6a8088273dfa55dfa1c3ea78e85cd9c7a8d (diff)
Hindi and Thai compile in 1.5
Diffstat (limited to 'next-lib/src/hindi/RelativeHin.gf')
-rw-r--r--next-lib/src/hindi/RelativeHin.gf54
1 files changed, 54 insertions, 0 deletions
diff --git a/next-lib/src/hindi/RelativeHin.gf b/next-lib/src/hindi/RelativeHin.gf
new file mode 100644
index 000000000..c4f3ad5d4
--- /dev/null
+++ b/next-lib/src/hindi/RelativeHin.gf
@@ -0,0 +1,54 @@
+concrete RelativeHin of Relative = CatHin ** open ResHin in {
+--
+-- flags optimize=all_subs ;
+--
+-- lin
+--
+-- RelCl cl = {
+-- s = \\t,a,p,_ => "such" ++ "that" ++ cl.s ! t ! a ! p ! ODir ;
+-- c = Nom
+-- } ;
+--
+-- RelVP rp vp = {
+-- s = \\t,ant,b,ag =>
+-- let
+-- agr = case rp.a of {
+-- RNoAg => ag ;
+-- RAg a => a
+-- } ;
+-- cl = mkClause (rp.s ! RC (fromAgr agr).g Nom) agr vp
+-- in
+-- cl.s ! t ! ant ! b ! ODir ;
+-- c = Nom
+-- } ;
+--
+---- Pied piping: "at which we are looking". Stranding and empty
+---- relative are defined in $ExtraHin.gf$ ("that we are looking at",
+---- "we are looking at").
+--
+-- RelSlash rp slash = {
+-- s = \\t,a,p,agr =>
+-- slash.c2 ++ rp.s ! RPrep (fromAgr agr).g ++ slash.s ! t ! a ! p ! ODir ;
+-- c = Acc
+-- } ;
+--
+-- FunRP p np rp = {
+-- s = \\c => np.s ! Acc ++ p.s ++ rp.s ! RPrep (fromAgr np.a).g ;
+-- a = RAg np.a
+-- } ;
+--
+-- IdRP =
+-- let varr : Str -> Str = \x -> variants {x ; "that"} --- for bwc
+-- in {
+-- s = table {
+-- RC _ Gen => "whose" ;
+-- RC Neutr _ => varr "which" ;
+-- RC _ Acc => varr "whom" ;
+-- RC _ Nom => varr "who" ;
+-- RPrep Neutr => "which" ;
+-- RPrep _ => "whom"
+-- } ;
+-- a = RNoAg
+-- } ;
+--
+}