blob: e3506aef60097be9e5003908660d56b41062022b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
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 (gennum okhotnik.g kakoj.n) ++
okhotnik.s ! NF kakoj.n (extCase pf) ;
_ =>
kakoj.s ! AF (extCase pf) okhotnik.anim (gennum okhotnik.g kakoj.n) ++
okhotnik.s ! NF 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} ;
}
|