From 61b74dc8290d35ccb3da351d5f9d97200b7da3fc Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Sat, 9 May 2020 00:12:23 +0300 Subject: [PATCH 1/5] Fixes add_sya --- src/russian/MorphoRus.gf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/russian/MorphoRus.gf b/src/russian/MorphoRus.gf index aa245da46..4536dbe55 100644 --- a/src/russian/MorphoRus.gf +++ b/src/russian/MorphoRus.gf @@ -1290,7 +1290,7 @@ oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> St oper add_sya : Voice -> Str -> Str = \v,x -> case v of { Act => x ; - Pas => case Predef.dp 2 x of { + Pas => case Predef.dp 1 x of { "а" | "е" | "ё" | "и" | "о" | "у" | "ы" | "э" | "ю" | "я" => x + "сь" ; _ => x + "ся" } From ac39c904603dbf5b55bfd5bef3a7cdf4b92c3e06 Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Sat, 9 May 2020 00:14:48 +0300 Subject: [PATCH 2/5] Fixes case for perfective/imperfective --- src/russian/MorphoRus.gf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/russian/MorphoRus.gf b/src/russian/MorphoRus.gf index 4536dbe55..c27be4613 100644 --- a/src/russian/MorphoRus.gf +++ b/src/russian/MorphoRus.gf @@ -1274,7 +1274,7 @@ oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str -> Str -> Verbu Dolzhen => ; Foreign => } in let patt = case a of { - Perfective => mkVerbImperfective; + Perfective => mkVerbPerfective; Imperfective => mkVerbImperfective } in patt inf imperSgP2 (conj.p1 del sgP1End) (conj.p2 sgMascPast) ; @@ -1283,7 +1283,7 @@ oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str -> Str -> Verbu oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> Str -> Verbum = \a, c, del, sgP1End, sgMascPast, imperSgP2, inf, altRoot -> let patt = case a of { - Perfective => mkVerbImperfective; + Perfective => mkVerbPerfective; Imperfective => mkVerbImperfective } in patt inf imperSgP2 (presentConj1Moch del sgP1End altRoot) (pastConj sgMascPast); From a91adff3451bd4dafff16ff6006161e304ca0cc3 Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Sat, 9 May 2020 19:59:44 +0300 Subject: [PATCH 3/5] Corrected mkVerbPerfective to not return nonExist as it's used also in unrelated place --- src/russian/MorphoRus.gf | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/russian/MorphoRus.gf b/src/russian/MorphoRus.gf index c27be4613..c11ac4574 100644 --- a/src/russian/MorphoRus.gf +++ b/src/russian/MorphoRus.gf @@ -1339,10 +1339,8 @@ oper mkVerbPerfective: Str -> Str -> PresentVerb -> PastVerb -> Verbum = VSUB gn => add_sya vox (past ! (PSF gn)) ++ "бы" ; - VIND (GSg _) (VPresent _) => nonExist ; - VIND GPl (VPresent P1) => nonExist ; - VIND GPl (VPresent P2) => nonExist ; - VIND GPl (VPresent P3) => nonExist ; + VIND (GSg _) (VPresent p) => (presentFuture ! (PRF (GSg Masc) p)); -- these are not correct, + VIND GPl (VPresent p) => (presentFuture ! (PRF GPl p)) ; -- but used elsewhere VIND gn (VFuture p) => add_sya vox (presentFuture ! (PRF gn p)) ; VIND gn VPast => add_sya vox (past ! (PSF gn)) } } ; From c675de3457387ba7159daea5f71db280b3bd7b29 Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Thu, 14 May 2020 21:54:28 +0300 Subject: [PATCH 4/5] Fix can (moch) --- src/russian/MorphoRus.gf | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/russian/MorphoRus.gf b/src/russian/MorphoRus.gf index c11ac4574..f56c8ed1e 100644 --- a/src/russian/MorphoRus.gf +++ b/src/russian/MorphoRus.gf @@ -1228,6 +1228,14 @@ oper presentConj1Moch: Str -> Str -> Str -> PresentVerb = \del, sgP1End, altRoot PRF GPl P3 => del+ sgP1End + "т" }; +oper pastConjMoch: Str -> PastVerb = \del -> + table { + PSF (GSg Masc) => del ; + PSF (GSg Fem) => del +"ла" ; + PSF (GSg Neut) => del+"ло" ; + PSF GPl => del+ "ли" + }; + -- "PastVerb" takes care of the past tense conjugation. param PastVF = PSF GenNum ; @@ -1285,7 +1293,7 @@ oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> St let patt = case a of { Perfective => mkVerbPerfective; Imperfective => mkVerbImperfective } in - patt inf imperSgP2 (presentConj1Moch del sgP1End altRoot) (pastConj sgMascPast); + patt inf imperSgP2 (presentConj1Moch del sgP1End altRoot) (pastConjMoch sgMascPast); oper add_sya : Voice -> Str -> Str = \v,x -> case v of { From c5b4f3e22234b66b69cc547ff8f1acf5c31b25a7 Mon Sep 17 00:00:00 2001 From: Roman Suzi Date: Fri, 15 May 2020 00:20:24 +0300 Subject: [PATCH 5/5] Rus RG - Also fix become_VA conjugation --- src/russian/LexiconRus.gf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/russian/LexiconRus.gf b/src/russian/LexiconRus.gf index 2c682068d..904c80891 100644 --- a/src/russian/LexiconRus.gf +++ b/src/russian/LexiconRus.gf @@ -21,7 +21,7 @@ lin bank_N = mkN "банк" ; bark_N = mkN "кора"; beautiful_A = mkA "красивый"; - become_VA = regV perfective second "станов" "лю" "стал" "стань" "стать" ; + become_VA = regV perfective secondA "станов" "лю" "стал" "стань" "стать" ; beer_N = mkIndeclinableNoun "пиво" neuter inanimate ; beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" ); belly_N = mkN "живот" ;