mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-23 02:06:20 -06:00
Many additions; more numerals; tests;
This commit is contained in:
@@ -16,6 +16,101 @@ oper
|
||||
anybody = pronFormsPronoun ((doKPron "нек" (Ag (GSg Masc) P3) Animate) ** {nPrefix=False}) ;
|
||||
such = adjFormsAdjective (makeAdjectiveForms "такой" "" "3b" PreferFull) ;
|
||||
|
||||
poltora : DetTable
|
||||
= \\g, anim, cas =>
|
||||
case <cas, g> of {
|
||||
<(Nom|VocRus|Acc), Fem> => "полторы" ;
|
||||
<(Nom|VocRus|Acc), _> => "полтора" ;
|
||||
_ => "полутора"
|
||||
} ;
|
||||
|
||||
poltorasta : DetTable
|
||||
= \\g, anim, cas =>
|
||||
case cas of {
|
||||
(Nom|VocRus|Acc) => "полтораста" ;
|
||||
_ => "полутораста"
|
||||
} ;
|
||||
|
||||
-- collective numerals
|
||||
|
||||
oba : DetTable
|
||||
= \\g, anim, cas => case g of {
|
||||
Fem => case <cas, anim> of {
|
||||
<Acc, Animate> => "обеих" ;
|
||||
<Nom|Acc|VocRus, _> => "обе" ;
|
||||
<Gen|Ptv|Loc|Pre, _> => "обеих" ;
|
||||
<Dat, _> => "обеим" ;
|
||||
<Ins, _> => "обеими"
|
||||
} ;
|
||||
_ => case <cas, anim> of {
|
||||
<Acc, Animate> => "обоих" ;
|
||||
<Nom|Acc|VocRus, _> => "оба" ;
|
||||
<Gen|Ptv|Loc|Pre, _> => "обоих" ;
|
||||
<Dat, _> => "обоим" ;
|
||||
<Ins, _> => "обоими"
|
||||
}
|
||||
} ;
|
||||
|
||||
colnum2_3 : Str -> DetTable
|
||||
= \word ->
|
||||
let stem = Predef.tk 1 word in
|
||||
\\g, anim, cas => case <cas, anim> of {
|
||||
<Acc, Animate> => stem + "их" ;
|
||||
<Nom|Acc|VocRus, _> => word ;
|
||||
<Gen|Ptv|Loc|Pre, _> => stem + "их" ;
|
||||
<Dat, _> => stem + "им" ;
|
||||
<Ins, _> => stem + "ими"
|
||||
} ;
|
||||
|
||||
colnum4_10 : Str -> DetTable
|
||||
= \word ->
|
||||
let stem = Predef.tk 1 word in
|
||||
\\g, anim, cas => case <cas, anim> of {
|
||||
<Acc, Animate> => stem + "ых" ;
|
||||
<Acc, Inanimate> => word ;
|
||||
<Nom|VocRus, _> => word ;
|
||||
<Gen|Ptv|Loc|Pre, _> => stem + "ых" ;
|
||||
<Dat, _> => stem + "ым" ;
|
||||
<Ins, _> => stem + "ыми"
|
||||
} ;
|
||||
|
||||
dvoe : DetTable
|
||||
= colnum2_3 "двое" ;
|
||||
|
||||
troe : DetTable
|
||||
= colnum2_3 "трое" ;
|
||||
|
||||
chetvero : DetTable
|
||||
= colnum4_10 "четверо" ;
|
||||
|
||||
pjatero : DetTable
|
||||
= colnum4_10 "пятеро" ;
|
||||
|
||||
shestero : DetTable
|
||||
= colnum4_10 "шестеро" ;
|
||||
|
||||
semero : DetTable
|
||||
= colnum4_10 "семеро" ;
|
||||
|
||||
vosqmero : DetTable
|
||||
= colnum4_10 "восьмеро" ;
|
||||
|
||||
devjatero : DetTable
|
||||
= colnum4_10 "девятеро" ;
|
||||
|
||||
desjatero : DetTable
|
||||
= colnum4_10 "десятеро" ;
|
||||
|
||||
stolqko : DetTable
|
||||
= colnum2_3 "столько" ;
|
||||
|
||||
skolqko : DetTable
|
||||
= colnum2_3 "сколько" ;
|
||||
|
||||
neskolqko : DetTable
|
||||
= colnum2_3 "несколько" ;
|
||||
|
||||
|
||||
-- Situations, when prepositions are modified (approximate, full rules may be much more complex)
|
||||
sconsonant : pattern Str = #(("с"|"з"|"ж"|"ш"|"С"|"З"|"Ж"|"Ш") +
|
||||
("б"|"в"|"г"|"д"|"ж"|"з"|"й"|"к"|"л"|"м"|"н"|"п"|"р"|"с"|"т"|"ф"|"х"|"ц"|"ч"|"ш"|"щ" |
|
||||
|
||||
Reference in New Issue
Block a user