summaryrefslogtreecommitdiff
path: root/next-lib/src/russian/StructuralRus.gf
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-11-26 14:43:05 +0000
committerkrasimir <krasimir@chalmers.se>2008-11-26 14:43:05 +0000
commitd0116c395839cd53dd24cfe1cb26b3f64ddc9430 (patch)
tree74665c6353429f714a973437fb49a7b80a1ac12a /next-lib/src/russian/StructuralRus.gf
parent66785b20208f9ea2fca7b6ff3355cd8ce87636c3 (diff)
add Russian in next-lib
Diffstat (limited to 'next-lib/src/russian/StructuralRus.gf')
-rw-r--r--next-lib/src/russian/StructuralRus.gf128
1 files changed, 128 insertions, 0 deletions
diff --git a/next-lib/src/russian/StructuralRus.gf b/next-lib/src/russian/StructuralRus.gf
new file mode 100644
index 000000000..71b6ca55d
--- /dev/null
+++ b/next-lib/src/russian/StructuralRus.gf
@@ -0,0 +1,128 @@
+--# -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;
+
+--- 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
+}