Russian_lex

This commit is contained in:
janna
2005-11-28 11:25:46 +00:00
parent 0b3d28f6d9
commit 0fbb2fe27e
10 changed files with 915 additions and 537 deletions

View File

@@ -1,5 +1,4 @@
--# -path=.:../abstract:../../prelude
--1 The Top-Level Russian Resource Grammar
--
-- Janna Khegai 2003
@@ -25,112 +24,115 @@ flags
coding=utf8 ;
lin
INP = pron2NounPhrase pronYa Animate;
ThouNP = pron2NounPhrase pronTu Animate;
HeNP = pron2NounPhrase pronOn Animate;
SheNP = pron2NounPhrase pronOna Animate;
ItNP = pron2NounPhrase pronOno Inanimate;
WeNumNP = pronWithNum (pron2NounPhrase pronMu Animate);
YeNumNP = pronWithNum (pron2NounPhrase pronVu Animate);
YouNP = pron2NounPhrase pronVu Animate;
TheyNP = pron2NounPhrase pronOni Animate;
TheyFemNP = pron2NounPhrase pronOni Animate;
EveryDet = kazhdujDet ** {n = Sg ; g = PNoGen; c= Nom} ;
AllMassDet = vesDet ** {n = Sg; g = PNoGen; c = Nom} ;
AllNumDet = mkDeterminerNum (vseDetPl ** {n = Pl; g = PNoGen; c = Nom} );
WhichDet = kotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
WhichNumDet = mkDeterminerNum (kotorujDet ** {n = Pl; g = PNoGen; c= Nom} );
MostDet = bolshinstvoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
-- inanimate, Sg: "большинство телефонов безмолству-ет"
MostsDet = bolshinstvoPlDet ** {n = Pl; g = (PGen Neut); c= Gen} ;
-- animate, Pl: "большинство учащихся хорошо подготовлен-ы"
HowManyDet = skolkoSgDet ** {n = Sg; g = (PGen Neut); c= Gen};
ManyDet = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
MuchDet = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ; -- same as previous
SomeDet = nekotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
SomeNumDet = mkDeterminerNum (nekotorujDet ** {n = Pl; g = PNoGen; c= Nom} );
AnyDet = lubojDet ** {n = Sg; g = PNoGen; c= Nom} ;
AnyNumDet = mkDeterminerNum (lubojDet ** {n = Pl; g = PNoGen; c= Nom} );
NoDet = nikakojDet ** {n = Sg; g = PNoGen; c= Nom} ;
NoNumDet = mkDeterminerNum (nikakojDet ** {n = Pl; g = PNoGen; c= Nom} );
ThisDet = etotDet ** {n = Sg; g = PNoGen; c= Nom} ;
TheseNumDet = mkDeterminerNum (etotDet ** {n = Pl; g = PNoGen; c= Nom} );
ThatDet = totDet ** {n = Sg; g = PNoGen; c= Nom} ;
ThoseNumDet = mkDeterminerNum (totDet ** {n = Pl; g = PNoGen; c= Nom} );
-- First mount the numerals.
UseNumeral i = i ;
ThisNP = det2NounPhrase etotDet ; -- inanimate form only
ThatNP = det2NounPhrase totDet ; -- inanimate form only
TheseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g= PGen Fem ; anim = Animate ; pron = True} ;
-- missing in Russian
ThoseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g=PGen Fem ; anim = Animate ; pron = True} ;
-- missing in Russian
EverybodyNP = mkNounPhrase Pl (noun2CommNounPhrase (eEnd_Decl "вс")) ;
SomebodyNP = pron2NounPhrase pronKtoTo Animate;
NobodyNP = pron2NounPhrase pronNikto Animate;
EverythingNP = pron2NounPhrase pronVseInanimate Inanimate;
SomethingNP = pron2NounPhrase pronChtoTo Inanimate ;
NothingNP = pron2NounPhrase pronNichto Inanimate;
CanVV = verbMoch ;
CanKnowVV = verbMoch ;
MustVV = verbDolzhen ;
WantVV = verbKhotet ;
-- Then an alphabetical list of structural words
HowIAdv = ss "как" ;
WhenIAdv = ss "когда" ;
WhereIAdv = ss "где" ;
WhyIAdv = ss "почему" ;
AndConj = ss "и" ** {n = Pl} ;
OrConj = ss "или" ** {n = Sg} ;
BothAnd = sd2 "как" [", так и"] ** {n = Pl} ;
EitherOr = sd2 "либо" [", либо"] ** {n = Sg} ;
above_Prep = { s2 = "над" ; c = Inst} ;
after_Prep = { s2 = "после" ; c = Gen };
all8mass_Det = vesDet ** {n = Sg; g = PNoGen; c = Nom} ;
all_NDet = vseDetPl ** { g = PNoGen; c = Nom} ;
almost_Adv = ss "почти" ;
although_Subj = ss "хотя" ;
and_Conj = ss "и" ** {n = Pl} ;
because_Subj = ss ["потому что"] ;
before_Prep ={ s2 = "перед" ; c = Inst};
behind_Prep = { s2 = "за" ; c = Inst };
between_Prep = { s2 = "между" ; c = Inst};
both_AndConjD = sd2 "как" [", так и"] ** {n = Pl} ;
by8agent_Prep = { s2 = ["с помощью"] ; c = Gen};
by8means_Prep = { s2 = ["с помощью"] ; c = Gen};
can8know_VV = verbMoch ;
can_VV = verbMoch ;
during_Prep = { s2 = ["в течение"] ; c = Gen};
either8or_ConjD = sd2 "либо" [", либо"] ** {n = Sg} ;
-- comma is not visible in GUI!
every_Det = kazhdujDet ** {n = Sg ; g = PNoGen; c= Nom} ;
everybody_NP = mkNounPhrase Pl (noun2CommNounPhrase (eEnd_Decl "вс")) ;
everything_NP = pron2NounPhrase pronVseInanimate Inanimate;
everywhere_Adv = ss "везде" ;
from_Prep = { s2 = "от" ; c = Gen };
he_NP = pron2NounPhrase pronOn Animate;
how_IAdv = ss "как" ;
how8many_IDet = skolkoSgDet ** {n = Sg; g = (PGen Neut); c= Gen};
i_NP = pron2NounPhrase pronYa Animate;
if_Subj = ss "если" ;
in8front_Prep = { s2 = "перед" ; c = Inst};
in_Prep = { s2 = "в" ; c = Prepos };
it_NP = pron2NounPhrase pronOno Inanimate;
many_Det = mnogoSgDet ** {n = Sg; g = (PGen Neut); c= Gen} ;
most_Det = 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_Phr = ss ["Нет ."] ;
on_Prep = { s2 = "на" ; c = Prepos };
or_Conj = ss "или" ** {n = Sg} ;
otherwise_Adv = ss "иначе" ;
part_Prep = { s2 = "" ; c = Nom}; -- missing in Russian
possess_Prep = { s2 = "" ; c = Gen}; --- ?? AR 19/2/2004
quite_Adv = ss "довольно" ;
she_NP = pron2NounPhrase pronOna Animate;
so_Adv = ss "так";
somebody_NP = pron2NounPhrase pronKtoTo Animate;
some_Det = nekotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
some_NDet = nekotorujDet ** { g = PNoGen; c= Nom} ;
something_NP = pron2NounPhrase pronChtoTo Inanimate ;
somewhere_Adv = ss "где-нибудь" ;
--- TheseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g= PGen Fem ;
--- anim = Animate ; pron = True} ; -- missing in Russian
--- ThoseNumNP n = { s =\\_ => [] ; n = Pl; p = P3; g=PGen Fem ;
--- anim = Animate ; pron = True} ; -- missing in Russian
that_Det = totDet ** {n = Sg; g = PNoGen; c= Nom} ;
that_NP = det2NounPhrase totDet ; -- inanimate form only
therefore_Adv = ss "следовательно" ;
these_NDet = etotDet ** { g = PNoGen; c= Nom} ;
they8fem_NP = pron2NounPhrase pronOni Animate;
they_NP = pron2NounPhrase pronOni Animate;
this_Det = etotDet ** {n = Sg; g = PNoGen; c= Nom} ;
this_NP = det2NounPhrase etotDet ; -- inanimate form only
those_NDet = totDet ** {g = PNoGen; c= Nom} ;
thou_NP = pron2NounPhrase pronTu Animate;
through_Prep = { s2 = "через" ; c = Acc };
to_Prep = { s2 = "к" ; c = Dat };
too_Adv = ss "слишком" ;
under_Prep = { s2 = "под" ; c = Inst };
very_Adv = ss "очень" ;
want_VV = verbKhotet ;
we_NP = pron2NounPhrase pronMu Animate ;
what8many_IP = pron2NounPhraseNum pronChto Inanimate Pl;
what8one_IP = pron2NounPhraseNum pronChto Inanimate Sg;
when_IAdv = ss "когда" ;
when_Subj = ss "когда" ;
where_IAdv = ss "где" ;
which8many_IDet = kotorujDet ** {n = Pl; g = PNoGen; c= Nom} ;
which8one_IDet = kotorujDet ** {n = Sg; g = PNoGen; c= Nom} ;
who8many_IP = pron2NounPhraseNum pronKto Animate Pl;
who8one_IP = pron2NounPhraseNum pronKto Animate Sg;
why_IAdv = ss "почему" ;
with_Prep = { s2 = "с" ; c = Inst};
without_Prep = { s2 = "без" ; c = Gen};
ye_NP = pron2NounPhrase pronVu Animate;
yes_Phr = ss ["Да ."] ;
you_NP = pron2NounPhrase pronVu Animate;
--- 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 = pron2NounPhrase pronNikto Animate;
---NothingNP = pron2NounPhrase 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} ;
IfSubj = ss "если" ;
WhenSubj = ss "когда" ;
AlthoughSubj = ss "хотя" ;
PhrYes = ss ["Да ."] ;
PhrNo = ss ["Нет ."] ;
EverywhereNP = ss "везде" ;
SomewhereNP = ss "где-нибудь" ;
NowhereNP = ss "нигде" ;
VeryAdv = ss "очень" ;
TooAdv = ss "слишком" ;
OtherwiseAdv = ss "иначе" ;
AlmostAdv = ss "почти" ;
QuiteAdv = ss "довольно" ;
ThereforeAdv = ss "следовательно" ;
InPrep = { s2 = "в" ; c = Prepos };
OnPrep = { s2 = "на" ; c = Prepos };
ToPrep = { s2 = "к" ; c = Dat };
ThroughPrep = { s2 = "через" ; c = Acc };
AbovePrep = { s2 = "над" ; c = Inst};
UnderPrep = { s2 = "под" ; c = Inst };
InFrontPrep = { s2 = "перед" ; c = Inst};
BehindPrep = { s2 = "за" ; c = Inst };
BetweenPrep = { s2 = "между" ; c = Inst};
FromPrep = { s2 = "от" ; c = Gen };
BeforePrep = { s2 = "перед" ; c = Inst};
DuringPrep = { s2 = ["в течение"] ; c = Gen};
AfterPrep = { s2 = "после" ; c = Gen };
WithPrep = { s2 = "с" ; c = Inst};
WithoutPrep = { s2 = "без" ; c = Gen};
ByMeansPrep = { s2 = ["с помощью"] ; c = Gen};
PossessPrep = { s2 = "" ; c = Gen}; --- ?? AR 19/2/2004
PartPrep = { s2 = "" ; c = Nom}; -- missing in Russian
AgentPrep = { s2 = "" ; c = Nom}; -- missing in Russian
--- NeitherNor = sd2 "ни" [", ни"] ** {n = Sg} ;
--- NowhereNP = ss "нигде" ;
--- AgentPrep = { s2 = "" ; c = Nom}; -- missing in Russian
} ;