Files
gf-rgl/src/russian/ExtraRus.gf
2020-08-26 18:10:35 +03:00

201 lines
6.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- Seems like this is deprecated - need to use ExtendRus instead
concrete ExtraRus of ExtraRusAbs = CatRus **
open ResRus, MorphoRus, (P=ParadigmsRus), (X = ConstructX), Prelude, Coordination, NounRus in {
flags optimize=all ; coding=utf8 ;
lin
nom_Prep = lin Prep {s="" ; c=Nom ; neggen=True ; hasPrep=False} ;
obj_neg_Prep = lin Prep {s="" ; c=Gen ; neggen=False ; hasPrep=False} ;
obj_no_Prep = lin Prep {s="" ; c=Acc ; neggen=True ; hasPrep=False} ;
to_dat_Prep = lin Prep {s="" ; c=Dat ; neggen=False ; hasPrep=False} ;
ins_Prep = lin Prep {s="" ; c=Ins ; neggen=False ; hasPrep=False} ;
to2_Prep = P.mkPrep v_prep_mod Acc ;
u_Prep = lin Prep {s="у" ; c=Gen ; neggen=False ; hasPrep=True} ;
on_to_Prep = P.mkPrep "до" Gen ;
on2_Prep = P.on2_Prep ;
along_Prep = P.mkPrep "по" Loc ;
from2_Prep = from2 ;
about_Prep = P.mkPrep o_prep_pre_mod Pre ;
for2_Prep = P.mkPrep "за" Gen ;
wherefor_IAdv = ss "зачем" ;
wherefrom_IAdv = ss "откуда" ;
whereto_IAdv = ss "куда" ;
-- near deixis
presently_Adv = P.mkAdv "теперь" ;
therefore_Adv = P.mkAdv "поэтому" ;
fromhere_Adv = P.mkAdv "отсюда" ;
tohere_Adv = P.mkAdv "сюда" ;
here2_Adv = P.mkAdv "тут" ;
this_way_Adv = P.mkAdv "так" ;
-- far deixis
then_Adv = P.mkAdv "тогда" ;
that_is_why_Adv = P.mkAdv "потому" ;
fromthere_Adv = P.mkAdv "оттуда" ;
tothere_Adv = P.mkAdv "туда" ;
there2_Adv = P.mkAdv "там" ;
that_way_Adv = P.mkAdv "этак" ;
-- universal
always2_Adv = P.mkAdv ["когда угодно"] ;
from_everywhere_Adv = P.mkAdv "отовсюду" ;
to_everywhere_Adv = P.mkAdv "повсюду" ;
everywhere2_Adv = P.mkAdv "всюду" ;
that_way_Adv = P.mkAdv "этак" ;
any_way_Adv = P.mkAdv "всяко" ;
-- negative
never_Adv = P.mkAdv "никогда" ;
from_nowhere_Adv = P.mkAdv "ниоткуда" ;
to_nowhere_Adv = P.mkAdv "никуда" ;
nowhere_Adv = P.mkAdv "нигде" ;
nohow_Adv = P.mkAdv "никак" ;
-- negative predicatives
no_need_Adv = P.mkAdv "незачем" ;
no_time_Adv = P.mkAdv "некогда" ;
there_is_nowhere_from_Adv = P.mkAdv "неоткуда" ;
there_is_nowhere_to_Adv = P.mkAdv "некуда" ;
there_is_nowhere_Adv = P.mkAdv "негде" ;
-- indefinite
nechto_NP = lin NP nechto ; -- "something unknown". Use Nom, Acc only
anybody_NP = lin NP anybody ; -- "somenoby unknown". Use Nom only
somehow_Adv = P.mkAdv "как-нибудь";
somehow2_Adv = P.mkAdv "как-то";
somehow3_Adv = P.mkAdv "как-либо";
somehow4_Adv = P.mkAdv "кое-как";
somewhere2_Adv = P.mkAdv "где-то";
somewhere3_Adv = P.mkAdv "где-либо";
somewhere4_Adv = P.mkAdv "кое-где";
somewither_Adv = P.mkAdv "куда-нибудь";
somewither2_Adv = P.mkAdv "куда-то";
somewither3_Adv = P.mkAdv "куда-либо";
somewither4_Adv = P.mkAdv "кое-куда";
from_somewhere_Adv = P.mkAdv "откуда-нибудь";
from_somewhere2_Adv = P.mkAdv "откуда-то";
from_somewhere3_Adv = P.mkAdv "откуда-либо";
from_somewhere4_Adv = P.mkAdv "кое-откуда";
elsewhen_Adv = P.mkAdv "когда-нибудь";
elsewhen2_Adv = P.mkAdv "когда-то";
elsewhen3_Adv = P.mkAdv "когда-либо";
elsewhen4_Adv = P.mkAdv "кое-когда";
for_some_reason_Adv = P.mkAdv "зачем-то";
for_some_reason2_Adv = P.mkAdv "почему-то";
for_any_reason_Adv = P.mkAdv "почему-либо";
wherefor_Adv = ss "зачем" ;
wherefrom_Adv = ss "откуда" ;
whereto_Adv = ss "куда" ;
not_AdA = ss "не" ;
rather_AdA = ss "довольно" ;
have_V3 = P.mkV3 est_ell_V nom_Prep u_Prep;
have2_V3 = P.mkV3 est_V nom_Prep u_Prep;
have_not_V3 = P.mkV3 net_V obj_neg_Prep u_Prep;
be_V3 = P.mkV3 be_ell_V nom_Prep to_dat_Prep;
rather_CAdv = X.mkCAdv "скорее" "чем" ;
kak_Conj = P.mkConj (comma ++ "как") Sg ;
one_and_half_Num = {s=poltora ; size=Num2_4} ;
one_hundred_and_fifty_Num = {s=poltorasta ; size=Num5} ;
oba_Num = {s=oba ; size=Num2_4} ;
dvoe_Num = {s=dvoe ; size=Num5} ;
troe_Num = {s=troe ; size=Num5} ;
chetvero_Num = {s=chetvero ; size=Num5} ;
pjatero_Num = {s=pjatero ; size=Num5} ;
shestero_Num = {s=shestero ; size=Num5} ;
semero_Num = {s=semero ; size=Num5} ;
vosqmero_Num = {s=vosqmero ; size=Num5} ;
devjatero_Num = {s=devjatero ; size=Num5} ;
desjatero_Num = {s=desjatero ; size=Num5} ;
stolqko_Num = {s=stolqko ; size=Num5} ;
skolqko_Num = {s=skolqko ; size=Num5} ;
neskolqko_Num = {s=neskolqko ; size=Num5} ;
-- : A -> A -> A ;
CompoundA a1 a2 = mkCompoundA a1 "-" a2 ;
-- : Temp -> Pol -> VPSlash -> Adv ; -- introduce transgressive: ", делая что-то ," = "(was) (not) doing smth, "
TransgrAsAdv temp pol vps = {
s=embedInCommas (
vps.adv ! Ag (GSg Neut) P3
++ pol.s
++ case temp.t of {Pres => vps.verb.prtr ; _ => vps.verb.ptr }
++ verbRefl vps.verb
++ case temp.t of {Cond => "бы" ; _ => []}
++ vps.dep
++ vps.compl ! pol.p ! Ag (GSg Neut) P3
++ vps.c.s
)
} ;
-- : Temp -> Pol -> VPSlash -> Adv ; -- transgressive in places, where comma already exists or in the beginning
TransgrAsAdv1 temp pol vps = {
s=vps.adv ! Ag (GSg Neut) P3
++ pol.s
++ case temp.t of {Pres => vps.verb.prtr ; _ => vps.verb.ptr }
++ verbRefl vps.verb
++ case temp.t of {Cond => "бы" ; _ => []}
++ vps.dep
++ vps.compl ! pol.p ! Ag (GSg Neut) P3
++ vps.c.s
++ endComma
} ;
-- : Pol -> Imp -> Utt ; -- sleep (impolite, like immediate command)
UttImpImm pol imp = {s = imp.s ! pol.p ! (GSg Neut)} ; -- reused otherwise unused gender
-- : NP -> Comp ; -- (Париж) - столица Франции
CompNomNP np = {s=\\a=>np.s ! Nom ; adv=[] ; cop=NomCopula} ;
oper
est_V : V = lin V {
inf="есть";
infrefl="" ;
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3="есть";
fut=BeFuture ;
psgm="был";
psgs="бы";
isg2="";
isg2refl="" ;
ipl1="";
pppss="явлен"; --*
prtr="существуя"; --*
ptr="существовав"; --*
asp=Imperfective;
refl=NonReflexive;
tran=Transitive
} ;
est_ell_V = est_V ** {prsg1, prsg2, prsg3, prpl1, prpl2, prpl3=""} ;
be_ell_V = est_ell_V ** {inf=""} ;
net_V : V = lin V {
inf="нет";
infrefl="" ;
prsg1, prsg2, prsg3, prpl1, prpl2, prpl3="нет";
fut=BeFuture ;
psgm="не был";
psgs="не бы";
isg2="";
isg2refl="" ;
ipl1="";
pppss=["не явлен"]; --*
prtr=["не существуя"]; --*
ptr=["не существовав"]; --*
asp=Imperfective;
refl=NonReflexive;
tran=Transitive
} ;
}