mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
Merge branch 'master' of https://github.com/GrammaticalFramework/gf-rgl
This commit is contained in:
@@ -21,7 +21,7 @@ lin
|
|||||||
bank_N = mkN "банк" ;
|
bank_N = mkN "банк" ;
|
||||||
bark_N = mkN "кора";
|
bark_N = mkN "кора";
|
||||||
beautiful_A = mkA "красивый";
|
beautiful_A = mkA "красивый";
|
||||||
become_VA = regV perfective second "станов" "лю" "стал" "стань" "стать" ;
|
become_VA = regV perfective secondA "станов" "лю" "стал" "стань" "стать" ;
|
||||||
beer_N = mkIndeclinableNoun "пиво" neuter inanimate ;
|
beer_N = mkIndeclinableNoun "пиво" neuter inanimate ;
|
||||||
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
|
beg_V2V = dirV2 (mkV imperfective "прошу" "просишь" "просит" "просим" "просите" "просят" "просил" "проси" "просить" );
|
||||||
belly_N = mkN "живот" ;
|
belly_N = mkN "живот" ;
|
||||||
|
|||||||
@@ -1228,6 +1228,14 @@ oper presentConj1Moch: Str -> Str -> Str -> PresentVerb = \del, sgP1End, altRoot
|
|||||||
PRF GPl P3 => del+ sgP1End + "т"
|
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.
|
-- "PastVerb" takes care of the past tense conjugation.
|
||||||
|
|
||||||
param PastVF = PSF GenNum ;
|
param PastVF = PSF GenNum ;
|
||||||
@@ -1274,7 +1282,7 @@ oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str -> Str -> Verbu
|
|||||||
Dolzhen => <presentConjDolzhen,pastConjDolzhen> ;
|
Dolzhen => <presentConjDolzhen,pastConjDolzhen> ;
|
||||||
Foreign => <presentConjForeign,pastConj> } in
|
Foreign => <presentConjForeign,pastConj> } in
|
||||||
let patt = case a of {
|
let patt = case a of {
|
||||||
Perfective => mkVerbImperfective;
|
Perfective => mkVerbPerfective;
|
||||||
Imperfective => mkVerbImperfective } in
|
Imperfective => mkVerbImperfective } in
|
||||||
patt inf imperSgP2 (conj.p1 del sgP1End) (conj.p2 sgMascPast) ;
|
patt inf imperSgP2 (conj.p1 del sgP1End) (conj.p2 sgMascPast) ;
|
||||||
|
|
||||||
@@ -1283,14 +1291,14 @@ oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str -> Str -> Verbu
|
|||||||
oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> Str -> Verbum =
|
oper verbDeclMoch: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> Str -> Verbum =
|
||||||
\a, c, del, sgP1End, sgMascPast, imperSgP2, inf, altRoot ->
|
\a, c, del, sgP1End, sgMascPast, imperSgP2, inf, altRoot ->
|
||||||
let patt = case a of {
|
let patt = case a of {
|
||||||
Perfective => mkVerbImperfective;
|
Perfective => mkVerbPerfective;
|
||||||
Imperfective => mkVerbImperfective } in
|
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 ->
|
oper add_sya : Voice -> Str -> Str = \v,x ->
|
||||||
case v of {
|
case v of {
|
||||||
Act => x ;
|
Act => x ;
|
||||||
Pas => case Predef.dp 2 x of {
|
Pas => case Predef.dp 1 x of {
|
||||||
"а" | "е" | "ё" | "и" | "о" | "у" | "ы" | "э" | "ю" | "я" => x + "сь" ;
|
"а" | "е" | "ё" | "и" | "о" | "у" | "ы" | "э" | "ю" | "я" => x + "сь" ;
|
||||||
_ => x + "ся"
|
_ => x + "ся"
|
||||||
}
|
}
|
||||||
@@ -1339,10 +1347,8 @@ oper mkVerbPerfective: Str -> Str -> PresentVerb -> PastVerb -> Verbum =
|
|||||||
|
|
||||||
VSUB gn => add_sya vox (past ! (PSF gn)) ++ "бы" ;
|
VSUB gn => add_sya vox (past ! (PSF gn)) ++ "бы" ;
|
||||||
|
|
||||||
VIND (GSg _) (VPresent _) => nonExist ;
|
VIND (GSg _) (VPresent p) => (presentFuture ! (PRF (GSg Masc) p)); -- these are not correct,
|
||||||
VIND GPl (VPresent P1) => nonExist ;
|
VIND GPl (VPresent p) => (presentFuture ! (PRF GPl p)) ; -- but used elsewhere
|
||||||
VIND GPl (VPresent P2) => nonExist ;
|
|
||||||
VIND GPl (VPresent P3) => nonExist ;
|
|
||||||
VIND gn (VFuture p) => add_sya vox (presentFuture ! (PRF gn p)) ;
|
VIND gn (VFuture p) => add_sya vox (presentFuture ! (PRF gn p)) ;
|
||||||
VIND gn VPast => add_sya vox (past ! (PSF gn))
|
VIND gn VPast => add_sya vox (past ! (PSF gn))
|
||||||
} } ;
|
} } ;
|
||||||
|
|||||||
Reference in New Issue
Block a user