From 96c263ea030e096cd61fe7c706b93b967b0ea1e7 Mon Sep 17 00:00:00 2001 From: janna Date: Tue, 29 Nov 2005 18:44:35 +0000 Subject: [PATCH] RussianSwadesh --- lib/resource/russian/MorphoRus.gf | 48 +++++++++++++++++++++++++--- lib/resource/russian/ParadigmsRus.gf | 15 ++++++--- 2 files changed, 53 insertions(+), 10 deletions(-) diff --git a/lib/resource/russian/MorphoRus.gf b/lib/resource/russian/MorphoRus.gf index dc1d8e1ce..66834004e 100644 --- a/lib/resource/russian/MorphoRus.gf +++ b/lib/resource/russian/MorphoRus.gf @@ -342,7 +342,7 @@ oper pronVseInanimate: Pronoun = PF Gen _ _ => "всего" ; PF Dat _ _ => "всему" ; PF Acc _ _ => "всё" ; - PF Inst _ _ => "всем" ; + PF Inst _ _ => "всем" ; PF Prepos _ _ => "всём" } ; g = PGen Neut; @@ -488,6 +488,24 @@ oper restoran : CommNoun = nullEndInAnimateDecl1 "ресторан" ; -- Note: Plural form of the "грипп" (influenza) is a bit doubious -- However, according to http://starling.rinet.ru/morph.htm it exists. -- so we also keep it. +oper nullEndInAnimateDeclPepel: Str -> CommNoun = \gripp -> + {s = table + { SF Sg Nom => gripp +"ел"; + SF Sg Gen => gripp+"ла" ; + SF Sg Dat => gripp+"лу" ; + SF Sg Acc => gripp +"ел"; + SF Sg Inst => gripp+"лом" ; + SF Sg Prepos => gripp+"ле" ; + SF Pl Nom => gripp+"лы" ; + SF Pl Gen => gripp+"лов" ; + SF Pl Dat => gripp+"лам" ; + SF Pl Acc => gripp +"лы"; + SF Pl Inst => gripp+"лами" ; + SF Pl Prepos => gripp+"лах" + } ; + g = Masc ; anim = Inanimate + + } ; oper nullEndInAnimateDecl1: Str -> CommNoun = \gripp -> {s = table { SF Sg Nom => gripp ; @@ -620,6 +638,24 @@ oper oeEndInAnimateDecl: Str -> CommNoun = \snotvorn -> } ; g = Neut ; anim = Inanimate } ; +oper oeEndAnimateDecl: Str -> CommNoun = \snotvorn -> + { s = table + { SF Sg Nom => snotvorn +"ое"; + SF Sg Gen => snotvorn+"ого" ; + SF Sg Dat => snotvorn+"ому" ; + SF Sg Acc => snotvorn +"ое"; + SF Sg Inst => snotvorn+"ым" ; + SF Sg Prepos => snotvorn+"ом" ; + SF Pl Nom => snotvorn+"ые" ; + SF Pl Gen => snotvorn+"ых" ; + SF Pl Dat => snotvorn+"ым" ; + SF Pl Acc => snotvorn+"ые" ; + SF Pl Inst => snotvorn+"ыми" ; + SF Pl Prepos => snotvorn+"ых" + } ; + g = Neut ; anim = Animate + } ; + oper voskresenje : CommNoun = soft_eEndInAnimateDecl "воскресен" ; oper soft_eEndInAnimateDecl: Str -> CommNoun = \proizvedeni -> { s = table @@ -887,7 +923,7 @@ oper ej_aEndInAnimateDecl: Str -> CommNoun = \ediniz -> { SF Sg Nom => ediniz+"а" ; SF Sg Gen => ediniz+"ы" ; SF Sg Dat => ediniz+"е" ; - SF Sg Acc => ediniz+"у" ; + SF Sg Acc => ediniz+"у" ; SF Sg Inst => ediniz+"ей" ; SF Sg Prepos => ediniz+"е" ; SF Pl Nom => ediniz+"ы" ; @@ -1043,6 +1079,7 @@ oper kazhdujDet: Adjective = uy_j_EndDecl "кажд" ; samuj: Adjective = uy_j_EndDecl "сам" ; lubojDet: Adjective = uy_oj_EndDecl "люб" ; + drugojDet: Adjective = uy_oj_EndDecl "друг" ; glaznoj: Adjective = uy_oj_EndDecl "глазн" ; kotorujDet: Adjective = uy_j_EndDecl "котор"; nekotorujDet: Adjective = uy_j_EndDecl "некотор"; @@ -1188,7 +1225,7 @@ oper uy_j_EndDecl : Str -> Adjective = \s ->{s = table { AF Prepos _ (ASg Fem) => s+"ой"; AF Prepos _ (ASg Neut) => s+"ом"; AF Prepos _ APl => s+"ых"; - AdvF => "о" + AdvF => "о" } } ; oper shi_j_EndDecl : Str -> Adjective = \s ->{s = table { @@ -1513,7 +1550,7 @@ oper pastConj: Str -> PastVerb = \del -> oper pastConjDolzhen: Str -> PastVerb = \del -> table { - PSF (ASg Masc) => ["был "] + del + "ен" ; + PSF (ASg Masc) => ["был "] + del + "ен" ; PSF (ASg Fem) => ["была "] + del + "на" ; PSF (ASg Neut) => ["было "] + del + "но" ; PSF APl => ["были "] + del + "ны" @@ -1521,7 +1558,7 @@ oper pastConjDolzhen: Str -> PastVerb = \del -> -- "verbDecl" sorts out verbs according to the aspect and voice parameters. -- It produces the full conjugation table for a verb entry - + oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> Verbum = \a, c, del, sgP1End, sgMascPast, imperSgP2, inf -> case a of { Perfective => case c of { @@ -1548,6 +1585,7 @@ oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> St Imperfective => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj1Moch del sgP1End altRoot) (pastConj sgMascPast)) (pastConj sgMascPast) }; + -- "mkVerb" produce the passive forms from -- the active forms using the "mkPassive" method. -- Passive is expressed in Russian by so called reflexive verbs, diff --git a/lib/resource/russian/ParadigmsRus.gf b/lib/resource/russian/ParadigmsRus.gf index 940865fb0..31835e8af 100644 --- a/lib/resource/russian/ParadigmsRus.gf +++ b/lib/resource/russian/ParadigmsRus.gf @@ -91,10 +91,13 @@ oper nObezbolivauchee : Str -> N ; -- neutral, inanimate, ending with "-ee" nProizvedenie : Str -> N ; -- neutral, inanimate, ending with "-e" nChislo : Str -> N ; -- neutral, inanimate, ending with "-o" + nZhivotnoe : Str -> N ; -- masculine, inanimate, ending with "-ень" -- Masculine patterns. --Ending with consonant: +nPepel : Str -> N ; -- masculine, inanimate, ending with "-ел"- "пеп-ла" + nBrat: Str -> N ; -- animate, брат-ья nStul: Str -> N ; -- same as above, but inanimate nMalush : Str -> N ; -- малышей @@ -207,11 +210,11 @@ Tense : Type; Bool: Type; Conjugation: Type ; -first: Conjugation; -firstE: Conjugation; -second: Conjugation; -mixed: Conjugation; -dolzhen: Conjugation; +first: Conjugation; -- "гуля-Ешь, гуля-Ем" +firstE: Conjugation; -- Verbs with vowel "ё": "даёшь" (give), "пьёшь" (drink) +second: Conjugation; -- "вид-Ишь, вид-Им" +mixed: Conjugation; -- "хоч-Ешь - хот-Им" +dolzhen: Conjugation; -- irregular true: Bool; false: Bool; @@ -350,6 +353,7 @@ dolzhen = Dolzhen; -- Neuter patterns. nObezbolivauchee = \s -> eeEndInAnimateDecl s ** {lock_N = <>}; + nZhivotnoe = \s -> oeEndAnimateDecl s ** {lock_N = <>}; nProizvedenie = \s -> eEndInAnimateDecl s ** {lock_N = <>}; nChislo = \s -> oEndInAnimateDecl s ** {lock_N = <>}; @@ -365,6 +369,7 @@ dolzhen = Dolzhen; nAdres = \s -> nullEndInAnimateDecl2 s ** {lock_N = <>}; nTelefon = \s -> nullEndInAnimateDecl1 s ** {lock_N = <>}; + nPepel = \s -> nullEndInAnimateDeclPepel s ** {lock_N = <>}; nNol = \s -> softSignEndDeclMasc s ** {lock_N = <>}; nUroven = \s -> EN_softSignEndDeclMasc s ** {lock_N = <>};