diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-09-23 09:52:10 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-09-23 09:52:10 +0000 |
| commit | ffb5b007488e4f36079d3c319c299fb865ce0497 (patch) | |
| tree | 6ae623241f74428f8ef6ea6cffffa61f57b5c385 /next-lib/src/telugu/RelativeTel.gf | |
| parent | 47abd5327d5f2764dbb3fa26c7fa98b76944b6c6 (diff) | |
started Telugu in next-lib
Diffstat (limited to 'next-lib/src/telugu/RelativeTel.gf')
| -rw-r--r-- | next-lib/src/telugu/RelativeTel.gf | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/next-lib/src/telugu/RelativeTel.gf b/next-lib/src/telugu/RelativeTel.gf new file mode 100644 index 000000000..961624f22 --- /dev/null +++ b/next-lib/src/telugu/RelativeTel.gf @@ -0,0 +1,54 @@ +--concrete RelativeTel of Relative = CatTel ** open ResTel 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 $ExtraTel.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 +---- } ; +---- +--} |
