diff options
| author | krasimir <krasimir@chalmers.se> | 2008-11-26 14:43:05 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2008-11-26 14:43:05 +0000 |
| commit | d0116c395839cd53dd24cfe1cb26b3f64ddc9430 (patch) | |
| tree | 74665c6353429f714a973437fb49a7b80a1ac12a /next-lib/src/russian/StructuralRus.gf | |
| parent | 66785b20208f9ea2fca7b6ff3355cd8ce87636c3 (diff) | |
add Russian in next-lib
Diffstat (limited to 'next-lib/src/russian/StructuralRus.gf')
| -rw-r--r-- | next-lib/src/russian/StructuralRus.gf | 128 |
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 +} |
