mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-11 08:06:34 -06:00
196 lines
6.1 KiB
Plaintext
196 lines
6.1 KiB
Plaintext
concrete StructuralRus of Structural = CatRus **
|
||
open ParadigmsRus, ResRus, MorphoRus, (X = ConstructX), Coordination, Prelude in {
|
||
|
||
lin
|
||
i_Pron = personalPron (Ag MSg P1) ;
|
||
we_Pron = personalPron (Ag GPl P1) ;
|
||
youSg_Pron = personalPron (Ag MSg P2) ;
|
||
youPl_Pron = personalPron (Ag GPl P2) ;
|
||
youPol_Pron = youPl_Pron ;
|
||
he_Pron = personalPron (Ag MSg P3) ;
|
||
she_Pron = personalPron (Ag FSg P3) ;
|
||
it_Pron = personalPron (Ag NSg P3) ;
|
||
they_Pron = personalPron (Ag GPl P3) ;
|
||
|
||
whatSg_IP = what_sg ;
|
||
whatPl_IP = what_pl ;
|
||
whoSg_IP = who_sg ;
|
||
whoPl_IP = who_pl ;
|
||
|
||
-- : IQuant ;
|
||
which_IQuant = (adjFormsAdjective (makeAdjectiveForms "который" "" "1a" PreferFull)) ** {
|
||
preferShort=PreferFull ;
|
||
g=Neut ;
|
||
c=Nom
|
||
} ;
|
||
-- : Quant ;
|
||
this_Quant = (adjFormsAdjective this_forms) ** {
|
||
type=NormalDet ;
|
||
preferShort=PreferFull ;
|
||
g=Neut ;
|
||
c=Nom
|
||
} ;
|
||
-- : Quant ;
|
||
that_Quant = (adjFormsAdjective that_forms) ** {
|
||
type=NormalDet ;
|
||
preferShort=PreferFull ;
|
||
g=Neut ;
|
||
c=Nom
|
||
} ;
|
||
-- : Quant ;
|
||
no_Quant = (adjFormsAdjective (makeAdjectiveForms "никакой" "" "3b" PreferFull)) ** {
|
||
type=NormalDet ;
|
||
preferShort=PreferFull ;
|
||
g=Neut ;
|
||
c=Nom
|
||
} ;
|
||
|
||
above_Prep = mkPrep above_prep_ins_mod Ins ;
|
||
after_Prep = mkPrep "после" Gen ;
|
||
before_Prep = mkPrep "перед" Ins ;
|
||
behind_Prep = mkPrep "за" Ins ;
|
||
between_Prep = mkPrep "между" Ins ;
|
||
by8agent_Prep = mkPrep ["с помощью"] Gen ;
|
||
by8means_Prep = mkPrep ["с помощью"] Gen ;
|
||
during_Prep = mkPrep "в течение" Gen ;
|
||
except_Prep = mkPrep ["за исключением"] Gen ; -- fix n
|
||
for_Prep = mkPrep "для" Gen ;
|
||
from_Prep = mkPrep ot_prep_gen_mod Gen ;
|
||
in8front_Prep = mkPrep "перед" Ins ;
|
||
in_Prep = mkPrep v_prep_mod Loc ;
|
||
on_Prep = mkPrep "на" Loc ;
|
||
part_Prep = {s="" ; c=Ptv ; neggen=False ; hasPrep=False } ;
|
||
possess_Prep = {s="у" ; c=Gen ; neggen=False ; hasPrep=False} ;
|
||
through_Prep = mkPrep "через" Acc ;
|
||
to_Prep = mkPrep k_prep_dat_mod Dat ;
|
||
under_Prep = mkPrep pod_prep_mod Ins ;
|
||
without_Prep = mkPrep "без" Gen ;
|
||
|
||
or_Conj = mkConj "или" Sg ;
|
||
and_Conj = mkConj "и" Pl ;
|
||
both7and_DConj = mkConj "как" (comma ++ "так и") Pl ;
|
||
either7or_DConj = mkConj "либо" (comma ++ "либо") Sg ;
|
||
if_then_Conj = mkConj "если" (comma ++ "то") Sg ;
|
||
|
||
with_Prep = mkPrep s_prep_mod Ins ;
|
||
|
||
please_Voc = ss "пожалуйста" ;
|
||
|
||
everywhere_Adv = mkAdv "везде" ;
|
||
here_Adv = mkAdv "здесь" ;
|
||
here7to_Adv = mkAdv "сюда" ;
|
||
here7from_Adv = mkAdv "отсюда" ;
|
||
quite_Adv = mkAdv "довольно" ;
|
||
somewhere_Adv = mkAdv "где-нибудь" ;
|
||
there_Adv = mkAdv "там" ;
|
||
there7to_Adv = mkAdv "туда" ;
|
||
there7from_Adv = mkAdv "оттуда" ;
|
||
|
||
how_IAdv = ss "как" ;
|
||
how8much_IAdv = ss "сколько" ;
|
||
when_IAdv = ss "когда" ;
|
||
where_IAdv = ss "где" ;
|
||
why_IAdv = ss "почему" ;
|
||
|
||
so_AdA = ss "так";
|
||
|
||
less_CAdv = X.mkCAdv "менее" "чем" ;
|
||
more_CAdv = X.mkCAdv "более" "чем" ;
|
||
as_CAdv = X.mkCAdv "так же" "как и" ; -- requires short form adjective
|
||
|
||
can8know_VV = {v=can; modal=\\a=>[]} ;
|
||
can_VV = {v=can; modal=\\a=>[]} ;
|
||
must_VV = {v=nullVerb; modal=adjFormsToShort (makeAdjectiveForms "должный" "" "1*a" PreferFull)} ;
|
||
want_VV = {v=want; modal=\\a=>[]} ;
|
||
|
||
-- : Det ;
|
||
every_Det = {
|
||
s = \\g => (adjFormsAdjective (makeAdjectiveForms "каждый" "" "1*a" PreferFull)).s ! GSg g;
|
||
type=NormalDet ;
|
||
g = Masc ;
|
||
c = Nom ;
|
||
size = Num1 ;
|
||
} ;
|
||
-- : Det ;
|
||
someSg_Det = {
|
||
s = \\g => (adjFormsAdjective (makeAdjectiveForms "некоторый" "" "1*a" PreferFull)).s ! GSg g;
|
||
type=NormalDet ;
|
||
g = Masc ;
|
||
c = Nom ;
|
||
size = Num1 ;
|
||
} ;
|
||
-- : Det ;
|
||
somePl_Det = {
|
||
s = \\g => (adjFormsAdjective (makeAdjectiveForms "некоторый" "" "1*a" PreferFull)).s ! GPl;
|
||
type=NormalDet ;
|
||
g = Masc ;
|
||
c = Nom ;
|
||
size = NumAll ;
|
||
} ;
|
||
-- : Det ;
|
||
few_Det = {
|
||
s = \\g => (adjFormsAdjective (makeAdjectiveForms "немногий" "" "3a" PreferFull)).s ! GPl;
|
||
type=NormalDet ;
|
||
g = Masc ;
|
||
c = Nom ;
|
||
size = NumAll ;
|
||
} ;
|
||
-- : Det ;
|
||
many_Det, much_Det = {
|
||
s = \\g => (adjFormsAdjective (makeAdjectiveForms "многий" "" "3a" PreferFull)).s ! GPl;
|
||
type=NormalDet ;
|
||
g = Neut ;
|
||
c = Gen ;
|
||
size = NumAll
|
||
} ;
|
||
|
||
only_Predet = (adjFormsAdjective (pronToAdj only_Pron)) ** {size=Num1} ;
|
||
most_Predet = (makeAdjectiveFromNoun (nounFormsNoun (guessNounForms "большинство"))) ** {size=Num5} ;
|
||
all_Predet = (adjFormsAdjective (pronToAdj all_Pron)) ** {size=NumAll};
|
||
not_Predet = (adjFormsAdjective (mkA "не" "" "0")) ** {size=Num1} ;
|
||
|
||
how8many_IDet = {
|
||
s=\\g,anim,cas => case <anim,cas> of {
|
||
<_,Nom|VocRus|Ptv> => "сколько" ;
|
||
<_,Gen|Pre|Loc> => "скольких" ;
|
||
<_,Dat> => "скольким" ;
|
||
<_,Ins> => "сколькими" ;
|
||
<Inanimate,Acc> => "сколько" ;
|
||
<Animate,Acc> => "скольких" -- also as Nom?
|
||
} ;
|
||
g=Neut ;
|
||
size=Num5 ; --it depends???
|
||
c=Gen --???
|
||
} ;
|
||
|
||
almost_AdA = ss "почти" ;
|
||
almost_AdN = ss "почти" ;
|
||
always_AdV = ss "всегда" ;
|
||
at_least_AdN = ss "по меньшей мере" ;
|
||
at_most_AdN = ss "самое большее" ;
|
||
too_AdA = ss "слишком" ;
|
||
very_AdA = ss "очень" ;
|
||
|
||
everybody_NP = lin NP everybody ;
|
||
everything_NP = lin NP everything ;
|
||
something_NP = lin NP something ;
|
||
somebody_NP = lin NP somebody ;
|
||
nothing_NP = lin NP nothing ;
|
||
nobody_NP = lin NP nobody ;
|
||
|
||
but_PConj = ss "но" ;
|
||
otherwise_PConj = ss "иначе" ;
|
||
therefore_PConj = ss "следовательно" ;
|
||
|
||
although_Subj = ss "хотя" ;
|
||
because_Subj = ss ["потому что"] ;
|
||
if_Subj = ss "если" ;
|
||
when_Subj = ss "когда" ;
|
||
that_Subj = ss "что" ; -- TODO: ?
|
||
|
||
have_V2 = dirV2 (mkV Imperfective "иметь" "имею" "имеет");
|
||
|
||
language_title_Utt = ss "русский" ;
|
||
yes_Utt = ss ["да"] ;
|
||
no_Utt = ss ["нет"] ;
|
||
} |