Oridnal numerals added ; many fixes

This commit is contained in:
Roman Suzi
2020-08-08 20:30:28 +03:00
parent bbbe9bbb03
commit c0734bdfbb
25 changed files with 4061 additions and 425 deletions
+37 -1
View File
@@ -12,5 +12,41 @@ oper
who_pl = doKPron "к" (Ag GPl P3) Animate ;
somebody = pronFormsPronoun ((appendToIP who_sg (BIND ++ "-то")) ** {nPrefix=False}) ;
nobody = pronFormsPronoun ((doKPron "ник" (Ag (GSg Masc) P3) Animate) ** {nPrefix=False}) ;
such = adjFormsAdjective (makeAdjectiveForms "такой" "" "3b" PrefFull) ;
such = adjFormsAdjective (makeAdjectiveForms "такой" "" "3b" PreferFull) ;
-- Situations, when prepositions are modified (approximate, full rules may be much more complex)
sconsonant : pattern Str = #(("с"|"з"|"ж"|"ш"|"С"|"З"|"Ж"|"Ш") +
("б"|"в"|"г"|"д"|"ж"|"з"|"й"|"к"|"л"|"м"|"н"|"п"|"р"|"с"|"т"|"ф"|"х"|"ц"|"ч"|"ш"|"щ" |
"Б"|"В"|"Г"|"Д"|"Ж"|"З"|"Й"|"К"|"Л"|"М"|"Н"|"П"|"Р"|"С"|"Т"|"Ф"|"Х"|"Ц"|"Ч"|"Ш"|"Щ")) ;
vconsonant : pattern Str = #(("в"|"ф"|"В"|"Ф") +
("б"|"в"|"г"|"д"|"ж"|"з"|"й"|"к"|"л"|"м"|"н"|"п"|"р"|"с"|"т"|"ф"|"х"|"ц"|"ч"|"ш"|"щ" |
"Б"|"В"|"Г"|"Д"|"Ж"|"З"|"Й"|"К"|"Л"|"М"|"Н"|"П"|"Р"|"С"|"Т"|"Ф"|"Х"|"Ц"|"Ч"|"Ш"|"Щ")) ;
s_prep_mod : Str = pre {
#sconsonant => "со" ;
("льв"|"льд"|"льн"|"лба"|"мха"|"рва"|"рта"|"лбом"|"мхом"|"рвом"|"ртом"|"мной"|"мною") => "со" ;
("вш"|"всем"|"всех"|"всей"|"всею"|"всег"|"всяк"|"всяческ"|"вторник"|"втор"|"многи"|"многом"|"многог") => "со" ;
("щ"|"Щ") => "со" ;
_ => "с"
} ;
v_prep_mod : Str = pre {#vconsonant => "во" ; ("мног"|"множ"|"все"|"весь"|"имя"|"мне") => "во" ; _ => "в"} ;
k_prep_dat_mod : Str = pre {
("льву"|"льду"|"льну"|"лбу"|"мху"|"рву"|"ржи"|"рту"|"всякому"|"всему"|"всяческому"|"вторнику"|"второму"|"многому") => "ко" ;
_ => "к"
} ;
ot_prep_gen_mod : Str = pre {
("льва"|"льда"|"льна"|"лба"|"мха"|"рва"|"ржи"|"рта") => "ото" ;
_ => "от"
} ;
pod_prep_mod : Str = pre {
("львом"|"льдом"|"льном"|"лбом"|"мхом"|"рвом"|"ртом") => "подо" ;
_ => "под"
} ;
above_prep_ins_mod : Str = pre {
("львом"|"льдом"|"льном"|"лбом"|"мхом"|"рвом"|"ртом") => "надо" ;
_ => "над"
} ;
o_prep_pre_mod : Str = pre { -- rules are approximate
("всем"|"всём"|"мне"|"всех"|"всей") => "обо" ;
("а"|"и"|"о"|"у"|"э"|"А"|"И"|"О"|"У"|"Э") => "об" ;
_ => "о"} ;
}