*** empty log message ***

This commit is contained in:
janna
2004-12-29 22:47:51 +00:00
parent 7eb83ba64e
commit 19b6423d6e
8 changed files with 325 additions and 199 deletions

View File

@@ -918,7 +918,7 @@ oper totDet: Adjective = {s = table {
kakojDet: Adjective = i_oj_EndDecl "как" [];
nikakojDet: Adjective = i_oj_EndDecl "никак" [];
bolshinstvoSgDet: Adjective = extAdjFromSubst (oEnd_SgDecl "большинств");
mnogoSgDet: Adjective = extAdjFromSubst (kg_oEnd_SgDecl "мног");
mnogoSgDet: Adjective = extAdjFromSubst (kg_oEnd_SgDecl "мног");
skolkoSgDet: Adjective = extAdjFromSubst (kg_oEnd_SgDecl "скольк");
bolshinstvoPlDet: Adjective = extAdjFromSubst (oEnd_PlDecl "большинств");
@@ -1003,7 +1003,7 @@ oper uy_j_EndDecl : Str -> Adjective = \s ->{s = table {
oper vesDet: Adjective = {s = table {
AF Nom _ (ASg Masc) => "весь";
AF Nom _ (ASg Fem) => "вся";
AF Nom _ APl => "все";
AF Nom _ (ASg Neut) => "всё";
AF Nom _ APl => "все";
AF Acc Animate (ASg Masc) => "весь";
AF Acc Inanimate (ASg Masc) => "всего";
@@ -1343,26 +1343,26 @@ oper mkPassive: AspectVoice -> PastVerb -> AspectVoice = \av, pv ->
PSF APl => ["были "] + del + "ны"
};
-- "verbDecl" sorts out verbs according to the aspect and voice parameters.
-- It produces the full conjugation table for a verb entry
\a, c, del, sgP1End, sgMascPast, imperSgP2, inf -> case a of
oper verbDecl: Aspect -> Conjugation -> Str -> Str -> Str -> Str ->Str -> Verbum =
\a, c, del, sgP1End, sgMascPast, imperSgP2, inf -> case a of
FirstE => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConj1E del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Second => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConj2 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Mixed => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConjMixed del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Dolzhen => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConjDolzhen del sgP1End) (pastConjDolzhen sgMascPast)) (pastConjDolzhen sgMascPast)
} ;
Imperfective => case c of {
First => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj1 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
FirstE => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj1E del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Second => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj2 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Mixed => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConjMixed del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast) ;
Dolzhen => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConjDolzhen del sgP1End) (pastConjDolzhen sgMascPast)) (pastConjDolzhen sgMascPast)
}
};
-- for verbs like "мочь" ("can") with changing consonants (first conjugation):
{ Perfective => case c of {
First => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConj1 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
FirstE => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConj1E del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Second => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConj2 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Mixed => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConjMixed del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Dolzhen => mkVerb (perfectiveActivePattern inf imperSgP2 (presentConjDolzhen del sgP1End) (pastConjDolzhen sgMascPast)) (pastConjDolzhen sgMascPast)
} ;
Imperfective => case c of {
First => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj1 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
FirstE => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj1E del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Second => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConj2 del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast);
Mixed => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConjMixed del sgP1End) (pastConj sgMascPast)) (pastConj sgMascPast) ;
Dolzhen => mkVerb (imperfectiveActivePattern inf imperSgP2 (presentConjDolzhen del sgP1End) (pastConjDolzhen sgMascPast)) (pastConjDolzhen sgMascPast)
}
};
-- for verbs like "мочь" ("can") with changing consonants (first conjugation):
-- "могу - можешь"
@@ -1385,23 +1385,23 @@ oper
} ;
asp = av1.asp
};
"а" ; "е" ; "ё" ; "и" ; "о" ; "у" ;
"ы" ; "э" ; "ю" ; "я"
} ;
oper mkPassive: AspectVoice -> PastVerb -> AspectVoice = \av, pv ->
{ s = table {
VINF => av.s ! VINF + "ся";
VIMP Sg P1 => av.s ! (VIMP Sg P1) +"сь" ;
VIMP Pl P1 => av.s ! (VIMP Pl P1) +"ся";
VIMP Sg P2 => av.s ! (VIMP Sg P2 ) +"сь";
VIMP Pl P2 => av.s! (VIMP Pl P2) +"сь";
vowels : Strs = strs {
"а" ; "е" ; "ё" ; "и" ; "о" ; "у" ;
"ы" ; "э" ; "ю" ; "я"
} ;
oper mkPassive: AspectVoice -> PastVerb -> AspectVoice = \av, pv ->
{ s = table {
VINF => av.s ! VINF + "ся";
VIMP Sg P1 => av.s ! (VIMP Sg P1) +"сь" ;
VIMP Pl P1 => av.s ! (VIMP Pl P1) +"ся";
VIMP Sg P2 => av.s ! (VIMP Sg P2 ) +"сь";
VIMP Pl P3 => av.s ! (VIMP Pl P3) +"ся";
VSUB (ASg Masc) => pv ! (PSF (ASg Masc)) + "ся"+[" бы"];
VIMP Pl P2 => av.s! (VIMP Pl P2) +"сь";
VIMP Sg P3 => av.s ! (VIMP Sg P3) +"ся";
VIMP Pl P3 => av.s ! (VIMP Pl P3) +"ся";
VSUB (ASg Masc) => pv ! (PSF (ASg Masc)) + "ся"+[" бы"];
VSUB (ASg Fem) => pv ! (PSF (ASg Fem)) + "сь"+[" бы"];
@@ -1420,22 +1420,20 @@ oper
VIND APl (VPresent P3) => av.s !( VIND APl (VPresent P3)) + "ся" ;
VIND (ASg _) (VFuture P1) => av.s ! (VIND (ASg Masc) (VFuture P1)) + "сь";
VIND (ASg _) (VFuture P2) => av.s! (VIND (ASg Masc) (VFuture P2) )+ "ся";
VIND (VFuture Pl P2) => av.s! (VIND (VFuture Pl P2) )+ "сь";
VIND (VFuture Pl P3) => av.s! (VIND (VFuture Pl P3)) + "ся";
VIND (VPast (ASg Masc)) => av.s ! (VIND (VPast (ASg Masc) )) + "ся";
VIND (VPast (ASg Fem)) => av.s ! (VIND (VPast (ASg Fem) )) + "сь";
VIND (VPast (ASg Neut)) => av.s ! (VIND (VPast (ASg Neut)) ) + "сь";
VIND (VPast APl) => av.s ! (VIND (VPast APl)) + "сь"
} ;
asp = av.asp
};
-- Generation the imperfective active pattern given
-- a number of basic conjugation forms.
oper
VIND (ASg _) (VFuture P3) => av.s! (VIND (ASg Masc) (VFuture P3)) + "ся";
VIND APl (VFuture P1) => av.s! (VIND APl (VFuture P1) )+ "ся";
VIND APl (VFuture P2) => av.s! (VIND APl (VFuture P2) )+ "сь";
VIND APl (VFuture P3) => av.s! (VIND APl (VFuture P3)) + "ся";
VIND (ASg Masc) VPast => av.s ! (VIND (ASg Masc) VPast ) + "ся";
VIND (ASg Fem) VPast => av.s ! (VIND (ASg Fem) VPast ) + "сь";
VIND (ASg Neut) VPast => av.s ! (VIND (ASg Neut) VPast) + "сь";
VIND APl VPast => av.s ! (VIND APl VPast ) + "сь"
} ;
asp = av.asp
};
-- Generation the imperfective active pattern given
-- a number of basic conjugation forms.