blob: d5635005bb9e09f4a4cbcbd03853c0997f871a64 (
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
--# -path=.:../abstract:../common:../../prelude
concrete StructuralRus of Structural = CatRus **
open ResRus, MorphoRus, (P = ParadigmsRus), Prelude, NounRus in {
flags optimize=all ; coding=utf8 ;
lin
-- First mount the numerals.
-- UseNumeral i = i ;
-- Then an alphabetical list of structural words
above_Prep = { s = "над" ; c = Inst} ;
after_Prep = { s = "после" ; c = Gen };
-- all8mass_Det = vesDet ** {n = Sg; g = PNoGen; c = Nom} ;
all_Predet = vseDetPl ** { g = PNoGen; c = Nom} ;
almost_AdA = {s= "почти"} ;
almost_AdN = {s= "почти"} ;
although_Subj = ss "хотя" ;
always_AdV = ss "всегда" ;
and_Conj = {s1 = [] ; s2 = "и" ; n = Pl} ;
because_Subj = ss ["потому что"] ;
before_Prep ={ s = "перед" ; c = Inst};
behind_Prep = { s = "за" ; c = Inst };
between_Prep = { s = "между" ; c = Inst};
both7and_DConj = sd2 "как" [", так и"] ** {n = Pl} ;
but_PConj = ss "но" ;
by8agent_Prep = { s = ["с помощью"] ; c = Gen};
by8means_Prep = { s = ["с помощью"] ; c = Gen};
can8know_VV = verbMoch ;
can_VV = verbMoch ;
during_Prep = { s = ["в течение"] ; c = Gen};
either7or_DConj = sd2 "либо" [", либо"] ** {n = Sg} ;
-- comma is not visible in GUI!
every_Det = kazhdujDet ** {n = Sg ; g = PNoGen; c= Nom} ;
everybody_NP = mkNP Pl (UseN ((eEnd_Decl "вс")**{lock_N=<>})) ;
everything_NP = UsePron (pronVseInanimate ** {lock_Pron=<>}) ;
everywhere_Adv = ss "везде" ;
few_Det = nemnogoSgDet **{lock_Det= <>; n= Sg; g = PNoGen; c = Nom};
--- DEPREC first_Ord = (uy_j_EndDecl "перв" ) ** {lock_A = <>}; --AStaruyj
from_Prep = { s = "от" ; c = Gen };
he_Pron = pronOn ;
here_Adv = ss "здесь" ;
here7to_Adv = ss "сюда" ;
here7from_Adv = ss "отсюда" ;
how_IAdv = ss "как" ;
how8many_IDet = skolkoSgDet ** {n = Pl; g = (PGen Neut); c= Gen};
i_Pron = pronYa ;
if_Subj = ss "если" ;
in8front_Prep = { s = "перед" ; c = Inst};
in_Prep = { s = "в" ; c = Prepos PrepVNa } ;
it_Pron = pronOno ;
less_CAdv = {s="менее"; p=""} ;
many_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
more_CAdv = {s="более"; p=""} ;
most_Predet = bolshinstvoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
-- inanimate, Sg: "большинство телефонов безмолству-ет"
-- most8many_Det = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ;
-- animate, Pl: "большинство учащихся хорошо подготовлен-ы"
much_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous
must_VV = verbDolzhen ;
no_Utt = ss ["Нет"] ;
on_Prep = { s = "на" ; c = Prepos PrepVNa };
--- DEPREC one_Quant = odinDet ** {lock_QuantSg = <>; n= Sg; g = PNoGen; c = Nom };
--AStaruyj :
only_Predet = (uy_j_EndDecl "единственн" ) ** {lock_Predet = <>; n= Sg; g = PNoGen; c = Nom };
or_Conj = {s1= [] ; s2 = "или" ; n = Sg} ;
otherwise_PConj = ss "иначе" ;
part_Prep = { s = "" ; c = Nom}; -- missing in Russian
please_Voc = ss "пожалуйста" ;
possess_Prep = { s = "" ; c = Gen}; --- ?? AR 19/2/2004
quite_Adv = ss "довольно" ;
she_Pron = pronOna ;
so_AdA = ss "так";
somebody_NP = UsePron (pronKtoTo** {lock_Pron = <>});
someSg_Det = nekotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
somePl_Det = nekotorujDet ** {n = Pl; g = PNoGen; c= Nom} ;
something_NP = UsePron (pronChtoTo** {lock_Pron=<> }) ;
somewhere_Adv = ss "где-нибудь" ;
that_Quant = totDet ** {n = Sg; g = PNoGen; c= Nom} ;
there_Adv = ss "там" ;
there7to_Adv = ss "туда" ;
there7from_Adv = ss "оттуда" ;
therefore_PConj = ss "следовательно" ;
they_Pron = pronOni;
this_Quant = etotDet ** {n = Sg; g = PNoGen; c= Nom} ;
through_Prep = { s = "через" ; c = Acc };
to_Prep = { s = "к" ; c = Dat };
too_AdA = ss "слишком" ;
under_Prep = { s = "под" ; c = Inst };
very_AdA = ss "очень" ;
want_VV = verbKhotet ;
we_Pron = pronMu ;
whatPl_IP = pron2NounPhraseNum pronChto Inanimate Pl;
whatSg_IP = pron2NounPhraseNum pronChto Inanimate Sg;
when_IAdv = ss "когда" ;
when_Subj = ss "когда" ;
where_IAdv = ss "где" ;
which_IQuant = {
s = \\_ => kotorujDet.s ;
g = PNoGen;
c= Nom
} ;
whoPl_IP = pron2NounPhraseNum pronKto Animate Pl;
whoSg_IP = pron2NounPhraseNum pronKto Animate Sg;
why_IAdv = ss "почему" ;
with_Prep = { s = "с" ; c = Inst};
without_Prep = { s = "без" ; c = Gen};
youPl_Pron = pronVu;
yes_Utt = ss ["Да"] ;
youSg_Pron = pronTu;
youPol_Pron = pronVu;
have_V2= P.dirV2 (P.regV P.imperfective P.first "име" "ю" "имел" "имей" "иметь" );
--- NoDet = nikakojDet ** {n = Sg; g = PNoGen; c= Nom} ;
--- AnyDet = lubojDet ** {n = Sg; g = PNoGen; c= Nom} ;
--- AnyNumDet = mkDeterminerNum (lubojDet ** {n = Pl; g = PNoGen; c= Nom} );
--- NoNumDet = mkDeterminerNum (nikakojDet ** {n = Pl; g = PNoGen; c= Nom} );
---NobodyNP = UsePron pronNikto Animate;
---NothingNP = UsePron pronNichto Inanimate;
-- In case of "neither.. no" expression double negation is not
-- only possible, but also required in Russian.
-- There is no means of control for this however in the resource grammar.
--- NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ;
--- NowhereNP = ss "нигде" ;
--- AgentPrep = { s = "" ; c = Nom}; -- missing in Russian
}
|