summaryrefslogtreecommitdiff
path: root/next-lib/src/russian/QuestionRus.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-11-26 14:43:05 +0000
committerkrasimir <krasimir@chalmers.se>2008-11-26 14:43:05 +0000
commitd0116c395839cd53dd24cfe1cb26b3f64ddc9430 (patch)
tree74665c6353429f714a973437fb49a7b80a1ac12a /next-lib/src/russian/QuestionRus.gf
parent66785b20208f9ea2fca7b6ff3355cd8ce87636c3 (diff)
add Russian in next-lib
Diffstat (limited to 'next-lib/src/russian/QuestionRus.gf')
-rw-r--r--next-lib/src/russian/QuestionRus.gf72
1 files changed, 72 insertions, 0 deletions
diff --git a/next-lib/src/russian/QuestionRus.gf b/next-lib/src/russian/QuestionRus.gf
new file mode 100644
index 000000000..28a9dfccd
--- /dev/null
+++ b/next-lib/src/russian/QuestionRus.gf
@@ -0,0 +1,72 @@
+--# -path=.:../abstract:../common:../../prelude
+
+concrete QuestionRus of Question = CatRus ** open ResRus, Prelude in {
+
+ flags optimize=all_subs ; coding=utf8 ;
+
+ lin
+
+ QuestCl cl = {s = \\b,cf,_ => cl.s ! b ! cf } ;
+
+ QuestVP kto spit =
+ {s = \\b,clf,qf => (predVerbPhrase kto spit).s!b!clf } ;
+
+ QuestSlash Kto yaGovoruO =
+ let { kom = Kto.s ! (mkPronForm yaGovoruO.c No NonPoss) ; o = yaGovoruO.s2 } in
+ {s = \\b,clf,_ => o ++ kom ++ yaGovoruO.s ! b ! clf
+ } ;
+
+ QuestIAdv kak tuPozhivaesh =
+ {s = \\b,clf,q => kak.s ++ tuPozhivaesh.s!b!clf } ;
+
+ QuestIComp kak tuPozhivaesh =
+ {s = \\b,clf,q => let ne = case b of {Neg => ""; Pos => []}
+ in
+ kak.s ++ ne ++tuPozhivaesh.s! PF Nom No NonPoss } ;
+
+
+ PrepIP p ip = {s = p.s ++ ip.s ! PF Nom No NonPoss} ;
+
+ AdvIP ip adv = {
+ s = \\c => ip.s ! c ++ adv.s ;
+ n = ip.n; p=ip.p; g=ip.g; anim=ip.anim; pron=ip.pron
+ } ;
+
+ IdetCN kakoj okhotnik =
+ {s = \\pf => case kakoj.c of {
+ Nom =>
+ kakoj.s ! AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n) ++
+ okhotnik.s ! kakoj.n ! (extCase pf) ;
+ _ =>
+ kakoj.s ! AF (extCase pf) okhotnik.anim (gNum okhotnik.g kakoj.n) ++
+ okhotnik.s ! kakoj.n ! kakoj.c };
+ n = kakoj.n ;
+ p = P3 ;
+ pron = False;
+ g = kakoj.g ;
+ anim = okhotnik.anim
+ } ;
+
+-- 1.4 additions 17/6/2008 by AR
+
+ IdetIP kakoj = let anim = Inanimate in
+ {s = \\pf => kakoj.s ! AF (extCase pf) anim (pgNum kakoj.g kakoj.n) ;
+ n = kakoj.n ;
+ p = P3 ;
+ pron = False;
+ g = kakoj.g ;
+ anim = anim
+ } ;
+
+ IdetQuant kakoj pyat = -- okhotnik =
+ {s = \\af =>
+ kakoj.s ! pyat.n ! af ++
+ pyat.s ! caseAF af ! genAF af ;
+ n = pyat.n ;
+ g = kakoj.g ;
+ c = kakoj.c
+ } ;
+
+ CompIAdv a = a ;
+ CompIP ip = {s = ip.s ! PF Nom No NonPoss} ;
+}