diff options
| author | krasimir <krasimir@chalmers.se> | 2008-11-26 14:43:05 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2008-11-26 14:43:05 +0000 |
| commit | d0116c395839cd53dd24cfe1cb26b3f64ddc9430 (patch) | |
| tree | 74665c6353429f714a973437fb49a7b80a1ac12a /next-lib/src/russian/QuestionRus.gf | |
| parent | 66785b20208f9ea2fca7b6ff3355cd8ce87636c3 (diff) | |
add Russian in next-lib
Diffstat (limited to 'next-lib/src/russian/QuestionRus.gf')
| -rw-r--r-- | next-lib/src/russian/QuestionRus.gf | 72 |
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} ; +} |
