summaryrefslogtreecommitdiff
path: root/old-lib/resource/russian/QuestionRus.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
committeraarne <aarne@chalmers.se>2009-06-22 15:39:08 +0000
commite89fdae2fa1626348d8025824a7469252fa85e42 (patch)
treec7d46bbd0494043b4bd6f917a25a7687517d0547 /old-lib/resource/russian/QuestionRus.gf
parent3049b59b35b25381a7c6787444165c200d66e08b (diff)
next-lib renamed to lib, lib to old-lib
Diffstat (limited to 'old-lib/resource/russian/QuestionRus.gf')
-rw-r--r--old-lib/resource/russian/QuestionRus.gf72
1 files changed, 72 insertions, 0 deletions
diff --git a/old-lib/resource/russian/QuestionRus.gf b/old-lib/resource/russian/QuestionRus.gf
new file mode 100644
index 000000000..28a9dfccd
--- /dev/null
+++ b/old-lib/resource/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} ;
+}