forked from GitHub/gf-rgl
Merge branch 'master' of https://github.com/GrammaticalFramework/gf-rgl
This commit is contained in:
@@ -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 "живот" ;
|
||||
|
||||
@@ -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 ;
|
||||
@@ -1274,7 +1282,7 @@ oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str -> Str -> Verbu
|
||||
Dolzhen => <presentConjDolzhen,pastConjDolzhen> ;
|
||||
Foreign => <presentConjForeign,pastConj> } in
|
||||
let patt = case a of {
|
||||
Perfective => mkVerbImperfective;
|
||||
Perfective => mkVerbPerfective;
|
||||
Imperfective => mkVerbImperfective } in
|
||||
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 =
|
||||
\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);
|
||||
patt inf imperSgP2 (presentConj1Moch del sgP1End altRoot) (pastConjMoch sgMascPast);
|
||||
|
||||
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 + "ся"
|
||||
}
|
||||
@@ -1339,10 +1347,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))
|
||||
} } ;
|
||||
|
||||
Reference in New Issue
Block a user