initial commit
This commit is contained in:
commit
2660076f9e
139
dict.mrd
Normal file
139
dict.mrd
Normal file
|
@ -0,0 +1,139 @@
|
|||
52
|
||||
%КА*га%КИ*гб%КЕ*гв%КУ*гг%КОЙ*гд%КОЮ*гд%КЕ*ге%КИ*гж%ЕК*гз%КАМ*ги%КИ*гй%КАМИ*гк%КАХ*гл
|
||||
%Ь*га%И*гб%И*гв%Ь*гг%ЬЮ*гд%И*ге%И*гж%ЕЙ*гз%ЯМ*ги%И*гй%ЯМИ*гк%ЯХ*гл
|
||||
%аа%А*аб%У*ав%аг%ОМ*ад%Е*ае%И*аж%ОВ*аз%АМ*аи%И*ай%АМИ*ак%АХ*ал
|
||||
%А*га%Ы*гб%Е*гв%У*гг%ОЙ*гд%ОЮ*гд%Е*ге
|
||||
%аа%А*аб%У*ав%аг%ОМ*ад%Е*ае%Ы*аж%ОВ*аз%АМ*аи%Ы*ай%АМИ*ак%АХ*ал
|
||||
%йя
|
||||
%аа%А*аб%У*ав%аг%ОМ*ад%Е*ае%И*аж%ЕЙ*аз%АМ*аи%И*ай%АМИ*ак%АХ*ал
|
||||
%ДИТЬ*ка%ЖУ*кб%ДИМ*кв%ДИШЬ*кг%ДИТЕ*кд%ДИТ*ке%ДЯТ*кж%ДИЛ*кз%ДИЛА*ки%ДИЛО*кй%ДИЛИ*кк%ДЯ*кн%ДИВ*ко%ДИВШИ*ко%ДИ*кл%ДИТЕ*км%ДЯЩИЙ*ла%ДЯЩЕГО*лб%ДЯЩЕМУ*лв%ДЯЩЕГО*лг%ДЯЩИЙ*Ла%ДЯЩИМ*лд%ДЯЩЕМ*ле%ДЯЩАЯ*лз%ДЯЩЕЙ*ли%ДЯЩЕЙ*лй%ДЯЩУЮ*лк%ДЯЩЕЙ*лл%ДЯЩЕЮ*лл%ДЯЩЕЙ*лм%ДЯЩЕЕ*ло%ДЯЩЕГО*лп%ДЯЩЕМУ*лр%ДЯЩЕЕ*лс%ДЯЩИМ*лт%ДЯЩЕМ*лу%ДЯЩИЕ*лх%ДЯЩИХ*лц%ДЯЩИМ*лч%ДЯЩИХ*лш%ДЯЩИЕ*Лй%ДЯЩИМИ*лщ%ДЯЩИХ*лы%ДИВШИЙ*ма%ДИВШЕГО*мб%ДИВШЕМУ*мв%ДИВШЕГО*мг%ДИВШИЙ*Лб%ДИВШИМ*мд%ДИВШЕМ*ме%ДИВШАЯ*мз%ДИВШЕЙ*ми%ДИВШЕЙ*мй%ДИВШУЮ*мк%ДИВШЕЙ*мл%ДИВШЕЮ*мл%ДИВШЕЙ*мм%ДИВШЕЕ*мо%ДИВШЕГО*мп%ДИВШЕМУ*мр%ДИВШЕЕ*мс%ДИВШИМ*мт%ДИВШЕМ*му%ДИВШИЕ*мх%ДИВШИХ*мц%ДИВШИМ*мч%ДИВШИХ*мш%ДИВШИЕ*Лк%ДИВШИМИ*мщ%ДИВШИХ*мы%ДИМЫЙ*па%ДИМОГО*пб%ДИМОМУ*пв%ДИМОГО*пг%ДИМЫЙ*Лг%ДИМЫМ*пд%ДИМОМ*пе%ДИМ*пж%ДИМАЯ*пз%ДИМОЙ*пи%ДИМОЙ*пй%ДИМУЮ*пк%ДИМОЙ*пл%ДИМОЮ*пл%ДИМОЙ*пм%ДИМА*пн%ДИМОЕ*по%ДИМОГО*пп%ДИМОМУ*пр%ДИМОЕ*пс%ДИМЫМ*пт%ДИМОМ*пу%ДИМО*пф%ДИМЫЕ*пх%ДИМЫХ*пц%ДИМЫМ*пч%ДИМЫХ*пш%ДИМЫЕ*Лм%ДИМЫМИ*пщ%ДИМЫХ*пы%ДИМЫ*пэ
|
||||
%ДИТЬСЯ*ка%ЖУСЬ*кб%ДИМСЯ*кв%ДИШЬСЯ*кг%ДИТЕСЬ*кд%ДИТСЯ*ке%ДЯТСЯ*кж%ДИЛСЯ*кз%ДИЛАСЬ*ки%ДИЛОСЬ*кй%ДИЛИСЬ*кк%ДЯСЬ*кн%ДИВШИСЬ*ко%ДИСЬ*кл%ДИТЕСЬ*км%ДЯЩИЙСЯ*ла%ДЯЩЕГОСЯ*лб%ДЯЩЕМУСЯ*лв%ДЯЩЕГОСЯ*лг%ДЯЩИЙСЯ*Ла%ДЯЩИМСЯ*лд%ДЯЩЕМСЯ*ле%ДЯЩАЯСЯ*лз%ДЯЩЕЙСЯ*ли%ДЯЩЕЙСЯ*лй%ДЯЩУЮСЯ*лк%ДЯЩЕЙСЯ*лл%ДЯЩЕЮСЯ*лл%ДЯЩЕЙСЯ*лм%ДЯЩЕЕСЯ*ло%ДЯЩЕГОСЯ*лп%ДЯЩЕМУСЯ*лр%ДЯЩЕЕСЯ*лс%ДЯЩИМСЯ*лт%ДЯЩЕМСЯ*лу%ДЯЩИЕСЯ*лх%ДЯЩИХСЯ*лц%ДЯЩИМСЯ*лч%ДЯЩИХСЯ*лш%ДЯЩИЕСЯ*Лй%ДЯЩИМИСЯ*лщ%ДЯЩИХСЯ*лы%ДИВШИЙСЯ*ма%ДИВШЕГОСЯ*мб%ДИВШЕМУСЯ*мв%ДИВШЕГОСЯ*мг%ДИВШИЙСЯ*Лб%ДИВШИМСЯ*мд%ДИВШЕМСЯ*ме%ДИВШАЯСЯ*мз%ДИВШЕЙСЯ*ми%ДИВШЕЙСЯ*мй%ДИВШУЮСЯ*мк%ДИВШЕЙСЯ*мл%ДИВШЕЮСЯ*мл%ДИВШЕЙСЯ*мм%ДИВШЕЕСЯ*мо%ДИВШЕГОСЯ*мп%ДИВШЕМУСЯ*мр%ДИВШЕЕСЯ*мс%ДИВШИМСЯ*мт%ДИВШЕМСЯ*му%ДИВШИЕСЯ*мх%ДИВШИХСЯ*мц%ДИВШИМСЯ*мч%ДИВШИХСЯ*мш%ДИВШИЕСЯ*Лк%ДИВШИМИСЯ*мщ%ДИВШИХСЯ*мы
|
||||
%ИТЬ*ка%ИЛ*кз%ИЛА*ки%ИЛО*кй%ИЛИ*кк%ЛЮ*кп%ИМ*кр%ИШЬ*кс%ИТЕ*кт%ИТ*ку%ЯТ*кф%ИВ*ко%ИВШИ*ко%Я*ко%ИМ*нп%ИМТЕ*нп%И*кл%ИТЕ*км%ИВШИЙ*ма%ИВШЕГО*мб%ИВШЕМУ*мв%ИВШЕГО*мг%ИВШИЙ*Лб%ИВШИМ*мд%ИВШЕМ*ме%ИВШАЯ*мз%ИВШЕЙ*ми%ИВШЕЙ*мй%ИВШУЮ*мк%ИВШЕЙ*мл%ИВШЕЮ*мл%ИВШЕЙ*мм%ИВШЕЕ*мо%ИВШЕГО*мп%ИВШЕМУ*мр%ИВШЕЕ*мс%ИВШИМ*мт%ИВШЕМ*му%ИВШИЕ*мх%ИВШИХ*мц%ИВШИМ*мч%ИВШИХ*мш%ИВШИЕ*Лк%ИВШИМИ*мщ%ИВШИХ*мы%ЛЁННЫЙ*са%ЛЁННОГО*сб%ЛЁННОМУ*св%ЛЁННОГО*сг%ЛЁННЫЙ*Ле%ЛЁННЫМ*сд%ЛЁННОМ*се%ЛЁН*сж%ЛЁННАЯ*сз%ЛЁННОЙ*си%ЛЁННОЙ*сй%ЛЁННУЮ*ск%ЛЁННОЙ*сл%ЛЁННОЮ*сл%ЛЁННОЙ*см%ЛЕНА*сн%ЛЁННОЕ*со%ЛЁННОГО*сп%ЛЁННОМУ*ср%ЛЁННОЕ*сс%ЛЁННЫМ*ст%ЛЁННОМ*су%ЛЕНО*сф%ЛЁННЫЕ*сх%ЛЁННЫХ*сц%ЛЁННЫМ*сч%ЛЁННЫХ*сш%ЛЁННЫЕ*Ло%ЛЁННЫМИ*сщ%ЛЁННЫХ*сы%ЛЕНЫ*сэ
|
||||
%РАТЬ*ка%ЕРУ*кб%ЕРЁМ*кв%ЕРЁШЬ*кг%ЕРЁТЕ*кд%ЕРЁТ*ке%ЕРУТ*кж%РАЛ*кз%РАЛА*ки%РАЛО*кй%РАЛИ*кк%ЕРЯ*кн%РАВ*ко%РАВШИ*ко%ЕРИ*кл%ЕРИТЕ*км%ЕРУЩИЙ*ла%ЕРУЩЕГО*лб%ЕРУЩЕМУ*лв%ЕРУЩЕГО*лг%ЕРУЩИЙ*Ла%ЕРУЩИМ*лд%ЕРУЩЕМ*ле%ЕРУЩАЯ*лз%ЕРУЩЕЙ*ли%ЕРУЩЕЙ*лй%ЕРУЩУЮ*лк%ЕРУЩЕЙ*лл%ЕРУЩЕЮ*лл%ЕРУЩЕЙ*лм%ЕРУЩЕЕ*ло%ЕРУЩЕГО*лп%ЕРУЩЕМУ*лр%ЕРУЩЕЕ*лс%ЕРУЩИМ*лт%ЕРУЩЕМ*лу%ЕРУЩИЕ*лх%ЕРУЩИХ*лц%ЕРУЩИМ*лч%ЕРУЩИХ*лш%ЕРУЩИЕ*Лй%ЕРУЩИМИ*лщ%ЕРУЩИХ*лы%РАВШИЙ*ма%РАВШЕГО*мб%РАВШЕМУ*мв%РАВШЕГО*мг%РАВШИЙ*Лб%РАВШИМ*мд%РАВШЕМ*ме%РАВШАЯ*мз%РАВШЕЙ*ми%РАВШЕЙ*мй%РАВШУЮ*мк%РАВШЕЙ*мл%РАВШЕЮ*мл%РАВШЕЙ*мм%РАВШЕЕ*мо%РАВШЕГО*мп%РАВШЕМУ*мр%РАВШЕЕ*мс%РАВШИМ*мт%РАВШЕМ*му%РАВШИЕ*мх%РАВШИХ*мц%РАВШИМ*мч%РАВШИХ*мш%РАВШИЕ*Лк%РАВШИМИ*мщ%РАВШИХ*мы
|
||||
%ДИТЬ*ка%ЖУ*кб%ДИМ*кв%ДИШЬ*кг%ДИТЕ*кд%ДИТ*ке%ДЯТ*кж%ДИЛ*кз%ДИЛА*ки%ДИЛО*кй%ДИЛИ*кк%ДЯ*кн%ДИВ*ко%ДИВШИ*ко%ДИ*кл%ДИТЕ*км%ДЯЩИЙ*ла%ДЯЩЕГО*лб%ДЯЩЕМУ*лв%ДЯЩЕГО*лг%ДЯЩИЙ*Ла%ДЯЩИМ*лд%ДЯЩЕМ*ле%ДЯЩАЯ*лз%ДЯЩЕЙ*ли%ДЯЩЕЙ*лй%ДЯЩУЮ*лк%ДЯЩЕЙ*лл%ДЯЩЕЮ*лл%ДЯЩЕЙ*лм%ДЯЩЕЕ*ло%ДЯЩЕГО*лп%ДЯЩЕМУ*лр%ДЯЩЕЕ*лс%ДЯЩИМ*лт%ДЯЩЕМ*лу%ДЯЩИЕ*лх%ДЯЩИХ*лц%ДЯЩИМ*лч%ДЯЩИХ*лш%ДЯЩИЕ*Лй%ДЯЩИМИ*лщ%ДЯЩИХ*лы%ДИВШИЙ*ма%ДИВШЕГО*мб%ДИВШЕМУ*мв%ДИВШЕГО*мг%ДИВШИЙ*Лб%ДИВШИМ*мд%ДИВШЕМ*ме%ДИВШАЯ*мз%ДИВШЕЙ*ми%ДИВШЕЙ*мй%ДИВШУЮ*мк%ДИВШЕЙ*мл%ДИВШЕЮ*мл%ДИВШЕЙ*мм%ДИВШЕЕ*мо%ДИВШЕГО*мп%ДИВШЕМУ*мр%ДИВШЕЕ*мс%ДИВШИМ*мт%ДИВШЕМ*му%ДИВШИЕ*мх%ДИВШИХ*мц%ДИВШИМ*мч%ДИВШИХ*мш%ДИВШИЕ*Лк%ДИВШИМИ*мщ%ДИВШИХ*мы
|
||||
%СИТЬ*ка%СИЛ*кз%СИЛА*ки%СИЛО*кй%СИЛИ*кк%ШУ*кп%СИМ*кр%СИШЬ*кс%СИТЕ*кт%СИТ*ку%СЯТ*кф%СИВ*ко%СИВШИ*ко%СИМ*нп%СИМТЕ*нп%СЬ*кл%СЬТЕ*км%СИВШИЙ*ма%СИВШЕГО*мб%СИВШЕМУ*мв%СИВШЕГО*мг%СИВШИЙ*Лб%СИВШИМ*мд%СИВШЕМ*ме%СИВШАЯ*мз%СИВШЕЙ*ми%СИВШЕЙ*мй%СИВШУЮ*мк%СИВШЕЙ*мл%СИВШЕЮ*мл%СИВШЕЙ*мм%СИВШЕЕ*мо%СИВШЕГО*мп%СИВШЕМУ*мр%СИВШЕЕ*мс%СИВШИМ*мт%СИВШЕМ*му%СИВШИЕ*мх%СИВШИХ*мц%СИВШИМ*мч%СИВШИХ*мш%СИВШИЕ*Лк%СИВШИМИ*мщ%СИВШИХ*мы%ШЕННЫЙ*са%ШЕННОГО*сб%ШЕННОМУ*св%ШЕННОГО*сг%ШЕННЫЙ*Ле%ШЕННЫМ*сд%ШЕННОМ*се%ШЕН*сж%ШЕННАЯ*сз%ШЕННОЙ*си%ШЕННОЙ*сй%ШЕННУЮ*ск%ШЕННОЙ*сл%ШЕННОЮ*сл%ШЕННОЙ*см%ШЕНА*сн%ШЕННОЕ*со%ШЕННОГО*сп%ШЕННОМУ*ср%ШЕННОЕ*сс%ШЕННЫМ*ст%ШЕННОМ*су%ШЕНО*сф%ШЕННЫЕ*сх%ШЕННЫХ*сц%ШЕННЫМ*сч%ШЕННЫХ*сш%ШЕННЫЕ*Ло%ШЕННЫМИ*сщ%ШЕННЫХ*сы%ШЕНЫ*сэ
|
||||
%ТЬ*ка%Л*кз%ЛА*ки%ЛО*кй%ЛИ*кк%Ю*кп%ЕМ*кр%ЕШЬ*кс%ЕТЕ*кт%ЕТ*ку%ЮТ*кф%В*ко%ВШИ*ко%ЕМ*нп%ЕМТЕ*нп%Й*кл%ЙТЕ*км%ВШИЙ*ма%ВШЕГО*мб%ВШЕМУ*мв%ВШЕГО*мг%ВШИЙ*Лб%ВШИМ*мд%ВШЕМ*ме%ВШАЯ*мз%ВШЕЙ*ми%ВШЕЙ*мй%ВШУЮ*мк%ВШЕЙ*мл%ВШЕЮ*мл%ВШЕЙ*мм%ВШЕЕ*мо%ВШЕГО*мп%ВШЕМУ*мр%ВШЕЕ*мс%ВШИМ*мт%ВШЕМ*му%ВШИЕ*мх%ВШИХ*мц%ВШИМ*мч%ВШИХ*мш%ВШИЕ*Лк%ВШИМИ*мщ%ВШИХ*мы%ННЫЙ*са%ННОГО*сб%ННОМУ*св%ННОГО*сг%ННЫЙ*Ле%ННЫМ*сд%ННОМ*се%Н*сж%ННАЯ*сз%ННОЙ*си%ННОЙ*сй%ННУЮ*ск%ННОЙ*сл%ННОЮ*сл%ННОЙ*см%НА*сн%ННОЕ*со%ННОГО*сп%ННОМУ*ср%ННОЕ*сс%ННЫМ*ст%ННОМ*су%НО*сф%ННЫЕ*сх%ННЫХ*сц%ННЫМ*сч%ННЫХ*сш%ННЫЕ*Ло%ННЫМИ*сщ%ННЫХ*сы%НЫ*сэ
|
||||
%ТЬСЯ*ка%ЛСЯ*кз%ЛАСЬ*ки%ЛОСЬ*кй%ЛИСЬ*кк%ЮСЬ*кп%ЕМСЯ*кр%ЕШЬСЯ*кс%ЕТЕСЬ*кт%ЕТСЯ*ку%ЮТСЯ*кф%ВШИСЬ*ко%ЕМСЯ*нп%ЕМТЕСЬ*нп%ЙСЯ*кл%ЙТЕСЬ*км%ВШИЙСЯ*ма%ВШЕГОСЯ*мб%ВШЕМУСЯ*мв%ВШЕГОСЯ*мг%ВШИЙСЯ*Лб%ВШИМСЯ*мд%ВШЕМСЯ*ме%ВШАЯСЯ*мз%ВШЕЙСЯ*ми%ВШЕЙСЯ*мй%ВШУЮСЯ*мк%ВШЕЙСЯ*мл%ВШЕЮСЯ*мл%ВШЕЙСЯ*мм%ВШЕЕСЯ*мо%ВШЕГОСЯ*мп%ВШЕМУСЯ*мр%ВШЕЕСЯ*мс%ВШИМСЯ*мт%ВШЕМСЯ*му%ВШИЕСЯ*мх%ВШИХСЯ*мц%ВШИМСЯ*мч%ВШИХСЯ*мш%ВШИЕСЯ*Лк%ВШИМИСЯ*мщ%ВШИХСЯ*мы
|
||||
%ИТЬ*ка%ИЛ*кз%ИЛА*ки%ИЛО*кй%ИЛИ*кк%Ю*кп%ИМ*кр%ИШЬ*кс%ИТЕ*кт%ИТ*ку%ЯТ*кф%ИВ*ко%ИВШИ*ко%Я*ко%ИМ*нп%ИМТЕ*нп%Ь*кл%ЬТЕ*км%ИВШИЙ*ма%ИВШЕГО*мб%ИВШЕМУ*мв%ИВШЕГО*мг%ИВШИЙ*Лб%ИВШИМ*мд%ИВШЕМ*ме%ИВШАЯ*мз%ИВШЕЙ*ми%ИВШЕЙ*мй%ИВШУЮ*мк%ИВШЕЙ*мл%ИВШЕЮ*мл%ИВШЕЙ*мм%ИВШЕЕ*мо%ИВШЕГО*мп%ИВШЕМУ*мр%ИВШЕЕ*мс%ИВШИМ*мт%ИВШЕМ*му%ИВШИЕ*мх%ИВШИХ*мц%ИВШИМ*мч%ИВШИХ*мш%ИВШИЕ*Лк%ИВШИМИ*мщ%ИВШИХ*мы%ЕННЫЙ*са%ЕННОГО*сб%ЕННОМУ*св%ЕННОГО*сг%ЕННЫЙ*Ле%ЕННЫМ*сд%ЕННОМ*се%ЕН*сж%ЕННАЯ*сз%ЕННОЙ*си%ЕННОЙ*сй%ЕННУЮ*ск%ЕННОЙ*сл%ЕННОЮ*сл%ЕННОЙ*см%ЕНА*сн%ЕННОЕ*со%ЕННОГО*сп%ЕННОМУ*ср%ЕННОЕ*сс%ЕННЫМ*ст%ЕННОМ*су%ЕНО*сф%ЕННЫЕ*сх%ЕННЫХ*сц%ЕННЫМ*сч%ЕННЫХ*сш%ЕННЫЕ*Ло%ЕННЫМИ*сщ%ЕННЫХ*сы%ЕНЫ*сэ
|
||||
%ИТЬ*ка%ИЛ*кз%ИЛА*ки%ИЛО*кй%ИЛИ*кк%У*кп%ИМ*кр%ИШЬ*кс%ИТЕ*кт%ИТ*ку%АТ*кф%ИВ*ко%ИВШИ*ко%ИМ*нп%ИМТЕ*нп%И*кл%ИТЕ*км%ИВШИЙ*ма%ИВШЕГО*мб%ИВШЕМУ*мв%ИВШЕГО*мг%ИВШИЙ*Лб%ИВШИМ*мд%ИВШЕМ*ме%ИВШАЯ*мз%ИВШЕЙ*ми%ИВШЕЙ*мй%ИВШУЮ*мк%ИВШЕЙ*мл%ИВШЕЮ*мл%ИВШЕЙ*мм%ИВШЕЕ*мо%ИВШЕГО*мп%ИВШЕМУ*мр%ИВШЕЕ*мс%ИВШИМ*мт%ИВШЕМ*му%ИВШИЕ*мх%ИВШИХ*мц%ИВШИМ*мч%ИВШИХ*мш%ИВШИЕ*Лк%ИВШИМИ*мщ%ИВШИХ*мы%ЕННЫЙ*са%ЕННОГО*сб%ЕННОМУ*св%ЕННОГО*сг%ЕННЫЙ*Ле%ЕННЫМ*сд%ЕННОМ*се%ЕН*сж%ЕННАЯ*сз%ЕННОЙ*си%ЕННОЙ*сй%ЕННУЮ*ск%ЕННОЙ*сл%ЕННОЮ*сл%ЕННОЙ*см%ЕНА*сн%ЕННОЕ*со%ЕННОГО*сп%ЕННОМУ*ср%ЕННОЕ*сс%ЕННЫМ*ст%ЕННОМ*су%ЕНО*сф%ЕННЫЕ*сх%ЕННЫХ*сц%ЕННЫМ*сч%ЕННЫХ*сш%ЕННЫЕ*Ло%ЕННЫМИ*сщ%ЕННЫХ*сы%ЕНЫ*сэ
|
||||
%ДИТЬСЯ*ка%ДИЛСЯ*кз%ДИЛАСЬ*ки%ДИЛОСЬ*кй%ДИЛИСЬ*кк%ЖУСЬ*кп%ДИМСЯ*кр%ДИШЬСЯ*кс%ДИТЕСЬ*кт%ДИТСЯ*ку%ДЯТСЯ*кф%ДИВШИСЬ*ко%ДЯСЬ*ко%ДИМСЯ*нп%ДИМТЕСЬ*нп%ДИСЬ*кл%ДИТЕСЬ*км%ДИВШИЙСЯ*ма%ДИВШЕГОСЯ*мб%ДИВШЕМУСЯ*мв%ДИВШЕГОСЯ*мг%ДИВШИЙСЯ*Лб%ДИВШИМСЯ*мд%ДИВШЕМСЯ*ме%ДИВШАЯСЯ*мз%ДИВШЕЙСЯ*ми%ДИВШЕЙСЯ*мй%ДИВШУЮСЯ*мк%ДИВШЕЙСЯ*мл%ДИВШЕЮСЯ*мл%ДИВШЕЙСЯ*мм%ДИВШЕЕСЯ*мо%ДИВШЕГОСЯ*мп%ДИВШЕМУСЯ*мр%ДИВШЕЕСЯ*мс%ДИВШИМСЯ*мт%ДИВШЕМСЯ*му%ДИВШИЕСЯ*мх%ДИВШИХСЯ*мц%ДИВШИМСЯ*мч%ДИВШИХСЯ*мш%ДИВШИЕСЯ*Лк%ДИВШИМИСЯ*мщ%ДИВШИХСЯ*мы
|
||||
%ВАТЬСЯ*ка%ЮСЬ*кб%ЁМСЯ*кв%ЁШЬСЯ*кг%ЁТЕСЬ*кд%ЁТСЯ*ке%ЮТСЯ*кж%ВАЛСЯ*кз%ВАЛАСЬ*ки%ВАЛОСЬ*кй%ВАЛИСЬ*кк%ВАЯСЬ*кн%ВАВШИСЬ*ко%ВАЙСЯ*кл%ВАЙТЕСЬ*км%ЮЩИЙСЯ*ла%ЮЩЕГОСЯ*лб%ЮЩЕМУСЯ*лв%ЮЩЕГОСЯ*лг%ЮЩИЙСЯ*Ла%ЮЩИМСЯ*лд%ЮЩЕМСЯ*ле%ЮЩАЯСЯ*лз%ЮЩЕЙСЯ*ли%ЮЩЕЙСЯ*лй%ЮЩУЮСЯ*лк%ЮЩЕЙСЯ*лл%ЮЩЕЮСЯ*лл%ЮЩЕЙСЯ*лм%ЮЩЕЕСЯ*ло%ЮЩЕГОСЯ*лп%ЮЩЕМУСЯ*лр%ЮЩЕЕСЯ*лс%ЮЩИМСЯ*лт%ЮЩЕМСЯ*лу%ЮЩИЕСЯ*лх%ЮЩИХСЯ*лц%ЮЩИМСЯ*лч%ЮЩИХСЯ*лш%ЮЩИЕСЯ*Лй%ЮЩИМИСЯ*лщ%ЮЩИХСЯ*лы%ВАВШИЙСЯ*ма%ВАВШЕГОСЯ*мб%ВАВШЕМУСЯ*мв%ВАВШЕГОСЯ*мг%ВАВШИЙСЯ*Лб%ВАВШИМСЯ*мд%ВАВШЕМСЯ*ме%ВАВШАЯСЯ*мз%ВАВШЕЙСЯ*ми%ВАВШЕЙСЯ*мй%ВАВШУЮСЯ*мк%ВАВШЕЙСЯ*мл%ВАВШЕЮСЯ*мл%ВАВШЕЙСЯ*мм%ВАВШЕЕСЯ*мо%ВАВШЕГОСЯ*мп%ВАВШЕМУСЯ*мр%ВАВШЕЕСЯ*мс%ВАВШИМСЯ*мт%ВАВШЕМСЯ*му%ВАВШИЕСЯ*мх%ВАВШИХСЯ*мц%ВАВШИМСЯ*мч%ВАВШИХСЯ*мш%ВАВШИЕСЯ*Лк%ВАВШИМИСЯ*мщ%ВАВШИХСЯ*мы
|
||||
%ТЬ*ка%Л*кз%ЛА*ки%ЛО*кй%ЛИ*кк%НУ*кп%НЕМ*кр%НЕШЬ*кс%НЕТЕ*кт%НЕТ*ку%НУТ*кф%В*ко%ВШИ*ко%НЕМ*нп%НЕМТЕ*нп%НЬ*кл%НЬТЕ*км%ВШИЙ*ма%ВШЕГО*мб%ВШЕМУ*мв%ВШЕГО*мг%ВШИЙ*Лб%ВШИМ*мд%ВШЕМ*ме%ВШАЯ*мз%ВШЕЙ*ми%ВШЕЙ*мй%ВШУЮ*мк%ВШЕЙ*мл%ВШЕЮ*мл%ВШЕЙ*мм%ВШЕЕ*мо%ВШЕГО*мп%ВШЕМУ*мр%ВШЕЕ*мс%ВШИМ*мт%ВШЕМ*му%ВШИЕ*мх%ВШИХ*мц%ВШИМ*мч%ВШИХ*мш%ВШИЕ*Лк%ВШИМИ*мщ%ВШИХ*мы%ТЫЙ*са%ТОГО*сб%ТОМУ*св%ТОГО*сг%ТЫЙ*Ле%ТЫМ*сд%ТОМ*се%Т*сж%ТАЯ*сз%ТОЙ*си%ТОЙ*сй%ТУЮ*ск%ТОЙ*сл%ТОЮ*сл%ТОЙ*см%ТА*сн%ТОЕ*со%ТОГО*сп%ТОМУ*ср%ТОЕ*сс%ТЫМ*ст%ТОМ*су%ТО*сф%ТЫЕ*сх%ТЫХ*сц%ТЫМ*сч%ТЫХ*сш%ТЫЕ*Ло%ТЫМИ*сщ%ТЫХ*сы%ТЫ*сэ
|
||||
%ЕСЬ*ыа%СЕГО*ыб%СЕМУ*ыв%ЕСЬ*ыг%СЕГО*Лф%СЕМ*ыд%СЁМ*ые%СЯ*ыж%СЕЙ*ыз%СЕЯ*ыз%СЕЙ*ыи%СЮ*ый%СЕЙ*ык%СЕЙ*ыл%СЁ*ым%СЕГО*ын%СЕМУ*ыо%СЁ*ып%СЕМ*ыр%СЁМ*ыс%СЕ*ыт%СЕХ*ыу%СЕМ*ыф%СЕ*ых%СЕХ*Лх%СЕМИ*ыц%СЕХ*ыч
|
||||
%НУТЬ*ка%кз%ЛА*ки%ЛО*кй%ЛИ*кк%НУ*кп%НЕМ*кр%НЕШЬ*кс%НЕТЕ*кт%НЕТ*ку%НУТ*кф%НУВ*ко%ШИ*ко%НЕМ*нп%НЕМТЕ*нп%НИ*кл%НИТЕ*км%ШИЙ*ма%ШЕГО*мб%ШЕМУ*мв%ШЕГО*мг%ШИЙ*Лб%ШИМ*мд%ШЕМ*ме%ШАЯ*мз%ШЕЙ*ми%ШЕЙ*мй%ШУЮ*мк%ШЕЙ*мл%ШЕЮ*мл%ШЕЙ*мм%ШЕЕ*мо%ШЕГО*мп%ШЕМУ*мр%ШЕЕ*мс%ШИМ*мт%ШЕМ*му%ШИЕ*мх%ШИХ*мц%ШИМ*мч%ШИХ*мш%ШИЕ*Лк%ШИМИ*мщ%ШИХ*мы
|
||||
%ИТЬ*ка%ИЛ*кз%ИЛА*ки%ИЛО*кй%ИЛИ*кк%У*кп%ИМ*кр%ИШЬ*кс%ИТЕ*кт%ИТ*ку%АТ*кф%ИВ*ко%ИВШИ*ко%ИМ*нп%ИМТЕ*нп%И*кл%ИТЕ*км%ИВШИЙ*ма%ИВШЕГО*мб%ИВШЕМУ*мв%ИВШЕГО*мг%ИВШИЙ*Лб%ИВШИМ*мд%ИВШЕМ*ме%ИВШАЯ*мз%ИВШЕЙ*ми%ИВШЕЙ*мй%ИВШУЮ*мк%ИВШЕЙ*мл%ИВШЕЮ*мл%ИВШЕЙ*мм%ИВШЕЕ*мо%ИВШЕГО*мп%ИВШЕМУ*мр%ИВШЕЕ*мс%ИВШИМ*мт%ИВШЕМ*му%ИВШИЕ*мх%ИВШИХ*мц%ИВШИМ*мч%ИВШИХ*мш%ИВШИЕ*Лк%ИВШИМИ*мщ%ИВШИХ*мы%ЁННЫЙ*са%ЁННОГО*сб%ЁННОМУ*св%ЁННОГО*сг%ЁННЫЙ*Ле%ЁННЫМ*сд%ЁННОМ*се%ЁН*сж%ЁННАЯ*сз%ЁННОЙ*си%ЁННОЙ*сй%ЁННУЮ*ск%ЁННОЙ*сл%ЁННОЮ*сл%ЁННОЙ*см%ЕНА*сн%ЁННОЕ*со%ЁННОГО*сп%ЁННОМУ*ср%ЁННОЕ*сс%ЁННЫМ*ст%ЁННОМ*су%ЕНО*сф%ЁННЫЕ*сх%ЁННЫХ*сц%ЁННЫМ*сч%ЁННЫХ*сш%ЁННЫЕ*Ло%ЁННЫМИ*сщ%ЁННЫХ*сы%ЕНЫ*сэ
|
||||
%ЫТЬ*ка%ЫЛ*кз%ЫЛА*ки%ЫЛО*кй%ЫЛИ*кк%ОЮ*кп%ОЕМ*кр%ОЕШЬ*кс%ОЕТЕ*кт%ОЕТ*ку%ОЮТ*кф%ЫВ*ко%ЫВШИ*ко%ОЕМ*нп%ОЕМТЕ*нп%ОЙ*кл%ОЙТЕ*км%ЫВШИЙ*ма%ЫВШЕГО*мб%ЫВШЕМУ*мв%ЫВШЕГО*мг%ЫВШИЙ*Лб%ЫВШИМ*мд%ЫВШЕМ*ме%ЫВШАЯ*мз%ЫВШЕЙ*ми%ЫВШЕЙ*мй%ЫВШУЮ*мк%ЫВШЕЙ*мл%ЫВШЕЮ*мл%ЫВШЕЙ*мм%ЫВШЕЕ*мо%ЫВШЕГО*мп%ЫВШЕМУ*мр%ЫВШЕЕ*мс%ЫВШИМ*мт%ЫВШЕМ*му%ЫВШИЕ*мх%ЫВШИХ*мц%ЫВШИМ*мч%ЫВШИХ*мш%ЫВШИЕ*Лк%ЫВШИМИ*мщ%ЫВШИХ*мы%ЫТЫЙ*са%ЫТОГО*сб%ЫТОМУ*св%ЫТОГО*сг%ЫТЫЙ*Ле%ЫТЫМ*сд%ЫТОМ*се%ЫТ*сж%ЫТАЯ*сз%ЫТОЙ*си%ЫТОЙ*сй%ЫТУЮ*ск%ЫТОЙ*сл%ЫТОЮ*сл%ЫТОЙ*см%ЫТА*сн%ЫТОЕ*со%ЫТОГО*сп%ЫТОМУ*ср%ЫТОЕ*сс%ЫТЫМ*ст%ЫТОМ*су%ЫТО*сф%ЫТЫЕ*сх%ЫТЫХ*сц%ЫТЫМ*сч%ЫТЫХ*сш%ЫТЫЕ*Ло%ЫТЫМИ*сщ%ЫТЫХ*сы%ЫТЫ*сэ
|
||||
%ДИТЬ*ка%ДИЛ*кз%ДИЛА*ки%ДИЛО*кй%ДИЛИ*кк%ЖУ*кп%ДИМ*кр%ДИШЬ*кс%ДИТЕ*кт%ДИТ*ку%ДЯТ*кф%ДИВ*ко%ДИВШИ*ко%ДИМ*нп%ДИМТЕ*нп%ДИ*кл%ДИТЕ*км%ДИВШИЙ*ма%ДИВШЕГО*мб%ДИВШЕМУ*мв%ДИВШЕГО*мг%ДИВШИЙ*Лб%ДИВШИМ*мд%ДИВШЕМ*ме%ДИВШАЯ*мз%ДИВШЕЙ*ми%ДИВШЕЙ*мй%ДИВШУЮ*мк%ДИВШЕЙ*мл%ДИВШЕЮ*мл%ДИВШЕЙ*мм%ДИВШЕЕ*мо%ДИВШЕГО*мп%ДИВШЕМУ*мр%ДИВШЕЕ*мс%ДИВШИМ*мт%ДИВШЕМ*му%ДИВШИЕ*мх%ДИВШИХ*мц%ДИВШИМ*мч%ДИВШИХ*мш%ДИВШИЕ*Лк%ДИВШИМИ*мщ%ДИВШИХ*мы%ЖЕННЫЙ*са%ЖЕННОГО*сб%ЖЕННОМУ*св%ЖЕННОГО*сг%ЖЕННЫЙ*Ле%ЖЕННЫМ*сд%ЖЕННОМ*се%ЖЕН*сж%ЖЕННАЯ*сз%ЖЕННОЙ*си%ЖЕННОЙ*сй%ЖЕННУЮ*ск%ЖЕННОЙ*сл%ЖЕННОЮ*сл%ЖЕННОЙ*см%ЖЕНА*сн%ЖЕННОЕ*со%ЖЕННОГО*сп%ЖЕННОМУ*ср%ЖЕННОЕ*сс%ЖЕННЫМ*ст%ЖЕННОМ*су%ЖЕНО*сф%ЖЕННЫЕ*сх%ЖЕННЫХ*сц%ЖЕННЫМ*сч%ЖЕННЫХ*сш%ЖЕННЫЕ*Ло%ЖЕННЫМИ*сщ%ЖЕННЫХ*сы%ЖЕНЫ*сэ
|
||||
%щм%ГО*щн%МУ*що%щп%М*щр%М*щс%щт%Х*щу%М*щф%щх%Х*щх%МИ*щц%Х*щч
|
||||
%ИТЬ*ка%ИЛ*кз%ИЛА*ки%ИЛО*кй%ИЛИ*кк%Ю*кп%ИМ*кр%ИШЬ*кс%ИТЕ*кт%ИТ*ку%ЯТ*кф%ИВ*ко%ИВШИ*ко%ИМ*нп%ИМТЕ*нп%Ь*кл%ЬТЕ*км%ИВШИЙ*ма%ИВШЕГО*мб%ИВШЕМУ*мв%ИВШЕГО*мг%ИВШИЙ*Лб%ИВШИМ*мд%ИВШЕМ*ме%ИВШАЯ*мз%ИВШЕЙ*ми%ИВШЕЙ*мй%ИВШУЮ*мк%ИВШЕЙ*мл%ИВШЕЮ*мл%ИВШЕЙ*мм%ИВШЕЕ*мо%ИВШЕГО*мп%ИВШЕМУ*мр%ИВШЕЕ*мс%ИВШИМ*мт%ИВШЕМ*му%ИВШИЕ*мх%ИВШИХ*мц%ИВШИМ*мч%ИВШИХ*мш%ИВШИЕ*Лк%ИВШИМИ*мщ%ИВШИХ*мы
|
||||
%ХАТЬ*ка%ХАЛ*кз%ХАЛА*ки%ХАЛО*кй%ХАЛИ*кк%ХАЮ*кп%ШУ*кп%ХАЕМ*кр%ШЕМ*кр%ХАЕШЬ*кс%ШЕШЬ*кс%ХАЕТЕ*кт%ШЕТЕ*кт%ХАЕТ*ку%ШЕТ*ку%ХАЮТ*кф%ШУТ*кф%ХАВ*ко%ХАВШИ*ко%ХАЕМ*нп%ХАЕМТЕ*нп%ХАЙ*кл%ШИ*кл%ХАЙТЕ*км%ШИТЕ*км%ХАВШИЙ*ма%ХАВШЕГО*мб%ХАВШЕМУ*мв%ХАВШЕГО*мг%ХАВШИЙ*Лб%ХАВШИМ*мд%ХАВШЕМ*ме%ХАВШАЯ*мз%ХАВШЕЙ*ми%ХАВШЕЙ*мй%ХАВШУЮ*мк%ХАВШЕЙ*мл%ХАВШЕЮ*мл%ХАВШЕЙ*мм%ХАВШЕЕ*мо%ХАВШЕГО*мп%ХАВШЕМУ*мр%ХАВШЕЕ*мс%ХАВШИМ*мт%ХАВШЕМ*му%ХАВШИЕ*мх%ХАВШИХ*мц%ХАВШИМ*мч%ХАВШИХ*мш%ХАВШИЕ*Лк%ХАВШИМИ*мщ%ХАВШИХ*мы
|
||||
%ОК*аа%ОК*аа%КА*аб%КА*аб%КУ*ав%КУ*ав%ОК*аг%ОК*аг%КОМ*ад%КОМ*ад%КЕ*ае%КЕ*ае%КИ*аж%КИ*аж%КОВ*аз%КОВ*аз%КАМ*аи%КАМ*аи%КИ*ай%КИ*ай%КАМИ*ак%КАМИ*ак%КАХ*ал%КАХ*ал
|
||||
%ЕРЕТЬ*ка%ЕР*кз%ЕРЛА*ки%ЕРЛО*кй%ЕРЛИ*кк%РУ*кп%РЁМ*кр%РЁШЬ*кс%РЁТЕ*кт%РЁТ*ку%РУТ*кф%ЕРЕВ*ко%ЕРШИ*ко%РЁМ*нп%РЁМТЕ*нп%РИ*кл%РИТЕ*км%ЕРШИЙ*ма%ЕРШЕГО*мб%ЕРШЕМУ*мв%ЕРШЕГО*мг%ЕРШИЙ*Лб%ЕРШИМ*мд%ЕРШЕМ*ме%ЕРШАЯ*мз%ЕРШЕЙ*ми%ЕРШЕЙ*мй%ЕРШУЮ*мк%ЕРШЕЙ*мл%ЕРШЕЮ*мл%ЕРШЕЙ*мм%ЕРШЕЕ*мо%ЕРШЕГО*мп%ЕРШЕМУ*мр%ЕРШЕЕ*мс%ЕРШИМ*мт%ЕРШЕМ*му%ЕРШИЕ*мх%ЕРШИХ*мц%ЕРШИМ*мч%ЕРШИХ*мш%ЕРШИЕ*Лк%ЕРШИМИ*мщ%ЕРШИХ*мы%ЕРТЫЙ*са%ЕРТОГО*сб%ЕРТОМУ*св%ЕРТОГО*сг%ЕРТЫЙ*Ле%ЕРТЫМ*сд%ЕРТОМ*се%ЕРТ*сж%ЕРТАЯ*сз%ЕРТОЙ*си%ЕРТОЙ*сй%ЕРТУЮ*ск%ЕРТОЙ*сл%ЕРТОЮ*сл%ЕРТОЙ*см%ЕРТА*сн%ЕРТОЕ*со%ЕРТОГО*сп%ЕРТОМУ*ср%ЕРТОЕ*сс%ЕРТЫМ*ст%ЕРТОМ*су%ЕРТО*сф%ЕРТЫЕ*сх%ЕРТЫХ*сц%ЕРТЫМ*сч%ЕРТЫХ*сш%ЕРТЫЕ*Ло%ЕРТЫМИ*сщ%ЕРТЫХ*сы%ЕРТЫ*сэ
|
||||
%КЛАСТЬ*ка%КЛАДУ*кб%КЛАДЁМ*кв%КЛАДЁШЬ*кг%КЛАДЁТЕ*кд%КЛАДЁТ*ке%КЛАДУТ*кж%КЛАЛ*кз%КЛАЛА*ки%КЛАЛО*кй%КЛАЛИ*кк%ЛОЖУ*Ръ%ЛОЖИМ*Ры%ЛОЖИШЬ*Рэ%ЛОЖИТЕ*Рю%ЛОЖИТ*Ря%ЛОЖАТ*кю%ЛОЖУТ*кю%КЛАДЯ*кн%КЛАВШИ*ко%КЛАДИ*кл%КЛАДИТЕ*км%КЛАДУЩИЙ*ла%КЛАДУЩЕГО*лб%КЛАДУЩЕМУ*лв%КЛАДУЩЕГО*лг%КЛАДУЩИЙ*Ла%КЛАДУЩИМ*лд%КЛАДУЩЕМ*ле%КЛАДУЩАЯ*лз%КЛАДУЩЕЙ*ли%КЛАДУЩЕЙ*лй%КЛАДУЩУЮ*лк%КЛАДУЩЕЙ*лл%КЛАДУЩЕЮ*лл%КЛАДУЩЕЙ*лм%КЛАДУЩЕЕ*ло%КЛАДУЩЕГО*лп%КЛАДУЩЕМУ*лр%КЛАДУЩЕЕ*лс%КЛАДУЩИМ*лт%КЛАДУЩЕМ*лу%КЛАДУЩИЕ*лх%КЛАДУЩИХ*лц%КЛАДУЩИМ*лч%КЛАДУЩИХ*лш%КЛАДУЩИЕ*Лй%КЛАДУЩИМИ*лщ%КЛАДУЩИХ*лы%КЛАВШИЙ*ма%КЛАВШЕГО*мб%КЛАВШЕМУ*мв%КЛАВШЕГО*мг%КЛАВШИЙ*Лб%КЛАВШИМ*мд%КЛАВШЕМ*ме%КЛАВШАЯ*мз%КЛАВШЕЙ*ми%КЛАВШЕЙ*мй%КЛАВШУЮ*мк%КЛАВШЕЙ*мл%КЛАВШЕЮ*мл%КЛАВШЕЙ*мм%КЛАВШЕЕ*мо%КЛАВШЕГО*мп%КЛАВШЕМУ*мр%КЛАВШЕЕ*мс%КЛАВШИМ*мт%КЛАВШЕМ*му%КЛАВШИЕ*мх%КЛАВШИХ*мц%КЛАВШИМ*мч%КЛАВШИХ*мш%КЛАВШИЕ*Лк%КЛАВШИМИ*мщ%КЛАВШИХ*мы
|
||||
%ЧЬ*ка%ГУ*кб%ЖЕМ*кв%ЖЕШЬ*кг%ЖЕТЕ*кд%ЖЕТ*ке%ГУТ*кж%Г*кз%ГЛА*ки%ГЛО*кй%ГЛИ*кк%ГШИ*ко%ГИ*кл%ГИТЕ*км%ГУЩИЙ*ла%ГУЩЕГО*лб%ГУЩЕМУ*лв%ГУЩЕГО*лг%ГУЩИЙ*Ла%ГУЩИМ*лд%ГУЩЕМ*ле%ГУЩАЯ*лз%ГУЩЕЙ*ли%ГУЩЕЙ*лй%ГУЩУЮ*лк%ГУЩЕЙ*лл%ГУЩЕЮ*лл%ГУЩЕЙ*лм%ГУЩЕЕ*ло%ГУЩЕГО*лп%ГУЩЕМУ*лр%ГУЩЕЕ*лс%ГУЩИМ*лт%ГУЩЕМ*лу%ГУЩИЕ*лх%ГУЩИХ*лц%ГУЩИМ*лч%ГУЩИХ*лш%ГУЩИЕ*Лй%ГУЩИМИ*лщ%ГУЩИХ*лы%ГШИЙ*ма%ГШЕГО*мб%ГШЕМУ*мв%ГШЕГО*мг%ГШИЙ*Лб%ГШИМ*мд%ГШЕМ*ме%ГШАЯ*мз%ГШЕЙ*ми%ГШЕЙ*мй%ГШУЮ*мк%ГШЕЙ*мл%ГШЕЮ*мл%ГШЕЙ*мм%ГШЕЕ*мо%ГШЕГО*мп%ГШЕМУ*мр%ГШЕЕ*мс%ГШИМ*мт%ГШЕМ*му%ГШИЕ*мх%ГШИХ*мц%ГШИМ*мч%ГШИХ*мш%ГШИЕ*Лк%ГШИМИ*мщ%ГШИХ*мы
|
||||
%ЙТИ*ка%ШЁЛ*кз%ШЛА*ки%ШЛО*кй%ШЛИ*кк%ЙДУ*кп%ЙДЁМ*кр%ЙДЁШЬ*кс%ЙДЁТЕ*кт%ЙДЁТ*ку%ЙДУТ*кф%ЙДЯ*ко%ШЕДШИ*ко%ЙДЁМ*нп%ЙДЁМТЕ*нп%ЙДИ*кл%ЙДИТЕ*км%ШЕДШИЙ*ма%ШЕДШЕГО*мб%ШЕДШЕМУ*мв%ШЕДШЕГО*мг%ШЕДШИЙ*Лб%ШЕДШИМ*мд%ШЕДШЕМ*ме%ШЕДШАЯ*мз%ШЕДШЕЙ*ми%ШЕДШЕЙ*мй%ШЕДШУЮ*мк%ШЕДШЕЙ*мл%ШЕДШЕЮ*мл%ШЕДШЕЙ*мм%ШЕДШЕЕ*мо%ШЕДШЕГО*мп%ШЕДШЕМУ*мр%ШЕДШЕЕ*мс%ШЕДШИМ*мт%ШЕДШЕМ*му%ШЕДШИЕ*мх%ШЕДШИХ*мц%ШЕДШИМ*мч%ШЕДШИХ*мш%ШЕДШИЕ*Лк%ШЕДШИМИ*мщ%ШЕДШИХ*мы%ЙДЕННЫЙ*са%ЙДЕННОГО*сб%ЙДЕННОМУ*св%ЙДЕННОГО*сг%ЙДЕННЫЙ*Ле%ЙДЕННЫМ*сд%ЙДЕННОМ*се%ЙДЕН*сж%ЙДЕННАЯ*сз%ЙДЕННОЙ*си%ЙДЕННОЙ*сй%ЙДЕННУЮ*ск%ЙДЕННОЙ*сл%ЙДЕННОЮ*сл%ЙДЕННОЙ*см%ЙДЕНА*сн%ЙДЕННОЕ*со%ЙДЕННОГО*сп%ЙДЕННОМУ*ср%ЙДЕННОЕ*сс%ЙДЕННЫМ*ст%ЙДЕННОМ*су%ЙДЕНО*сф%ЙДЕННЫЕ*сх%ЙДЕННЫХ*сц%ЙДЕННЫМ*сч%ЙДЕННЫХ*сш%ЙДЕННЫЕ*Ло%ЙДЕННЫМИ*сщ%ЙДЕННЫХ*сы%ЙДЕНЫ*сэ
|
||||
%ОН*ша%ЕГО*шб%НЕГО*шб%ЕМУ*шв%НЕМУ*шв%ЕГО*шг%НЕГО*шг%ИМ*шд%НИМ*шд%НЁМ*ше
|
||||
%ОНА*шж%ЕЁ*шз%НЕЁ*шз%НЕЙ*шз%ЕЙ*ши%НЕЙ*ши%ЕЁ*шй%НЕЁ*шй%ЕЙ*шк%ЕЮ*шк%НЕЙ*шк%НЕЮ*шк%НЕЙ*шл
|
||||
%ОНИ*шт%ИХ*шу%НИХ*шу%ИМ*шф%НИМ*шф%ИХ*шх%НИХ*шх%ИМИ*шц%НИМИ*шц%НИХ*шч
|
||||
%ТИТЬ*ка%ТИЛ*кз%ТИЛА*ки%ТИЛО*кй%ТИЛИ*кк%ЧУ*кп%ТИМ*кр%ТИШЬ*кс%ТИТЕ*кт%ТИТ*ку%ТЯТ*кф%ТИВ*ко%ТИВШИ*ко%ТИМ*нп%ТИМТЕ*нп%ТЬ*кл%ТЬТЕ*км%ТИВШИЙ*ма%ТИВШЕГО*мб%ТИВШЕМУ*мв%ТИВШЕГО*мг%ТИВШИЙ*Лб%ТИВШИМ*мд%ТИВШЕМ*ме%ТИВШАЯ*мз%ТИВШЕЙ*ми%ТИВШЕЙ*мй%ТИВШУЮ*мк%ТИВШЕЙ*мл%ТИВШЕЮ*мл%ТИВШЕЙ*мм%ТИВШЕЕ*мо%ТИВШЕГО*мп%ТИВШЕМУ*мр%ТИВШЕЕ*мс%ТИВШИМ*мт%ТИВШЕМ*му%ТИВШИЕ*мх%ТИВШИХ*мц%ТИВШИМ*мч%ТИВШИХ*мш%ТИВШИЕ*Лк%ТИВШИМИ*мщ%ТИВШИХ*мы
|
||||
%Ы*чм%ЕБЯ*чн%ЕБЕ*чо%ЕБЯ*чп%ОБОЙ*чр%ОБОЮ*чр%ЕБЕ*чс
|
||||
%ЬМА*га%ЬМЫ*гб%ЬМЕ*гв%ЬМУ*гг%ЬМОЙ*гд%ЬМОЮ*гд%ЬМЕ*ге%ЬМЫ*гж%ЁМ*гз%ЬМАМ*ги%ЬМЫ*гй%ЬМАМИ*гк%ЬМАХ*гл
|
||||
%ТЕТЬ*ка%ЧУ*кб%ТИМ*кв%ЧЕШЬ*кг%ТИТЕ*кд%ЧЕТ*ке%ТЯТ*кж%ТЕЛ*кз%ТЕЛА*ки%ТЕЛО*кй%ТЕЛИ*кк%ЧЕМ*Ры%ЧИМ*Ры%ШЬ*Рэ%ЧЕТЕ*Рю%ЧИТЕ*Рю%ЧУТ*кю%ТЯ*кн%ТЕВ*ко%ТЕВШИ*ко%ТИ*кл%ТИТЕ*км%ТЯЩИЙ*ла%ТЯЩЕГО*лб%ТЯЩЕМУ*лв%ТЯЩЕГО*лг%ТЯЩИЙ*Ла%ТЯЩИМ*лд%ТЯЩЕМ*ле%ТЯЩАЯ*лз%ТЯЩЕЙ*ли%ТЯЩЕЙ*лй%ТЯЩУЮ*лк%ТЯЩЕЙ*лл%ТЯЩЕЮ*лл%ТЯЩЕЙ*лм%ТЯЩЕЕ*ло%ТЯЩЕГО*лп%ТЯЩЕМУ*лр%ТЯЩЕЕ*лс%ТЯЩИМ*лт%ТЯЩЕМ*лу%ТЯЩИЕ*лх%ТЯЩИХ*лц%ТЯЩИМ*лч%ТЯЩИХ*лш%ТЯЩИЕ*Лй%ТЯЩИМИ*лщ%ТЯЩИХ*лы%ТЕВШИЙ*ма%ТЕВШЕГО*мб%ТЕВШЕМУ*мв%ТЕВШЕГО*мг%ТЕВШИЙ*Лб%ТЕВШИМ*мд%ТЕВШЕМ*ме%ТЕВШАЯ*мз%ТЕВШЕЙ*ми%ТЕВШЕЙ*мй%ТЕВШУЮ*мк%ТЕВШЕЙ*мл%ТЕВШЕЮ*мл%ТЕВШЕЙ*мм%ТЕВШЕЕ*мо%ТЕВШЕГО*мп%ТЕВШЕМУ*мр%ТЕВШЕЕ*мс%ТЕВШИМ*мт%ТЕВШЕМ*му%ТЕВШИЕ*мх%ТЕВШИХ*мц%ТЕВШИМ*мч%ТЕВШИХ*мш%ТЕВШИЕ*Лк%ТЕВШИМИ*мщ%ТЕВШИХ*мы
|
||||
%АТЬ*ка%У*кб%ИМ*кв%ИШЬ*кг%ИТЕ*кд%ИТ*ке%АТ*кж%АЛ*кз%АЛА*ки%АЛО*кй%АЛИ*кк%УТ*кю%А*кн%АВ*ко%АВШИ*ко%И*кл%ИТЕ*км%АЩИЙ*ла%АЩЕГО*лб%АЩЕМУ*лв%АЩЕГО*лг%АЩИЙ*Ла%АЩИМ*лд%АЩЕМ*ле%АЩАЯ*лз%АЩЕЙ*ли%АЩЕЙ*лй%АЩУЮ*лк%АЩЕЙ*лл%АЩЕЮ*лл%АЩЕЙ*лм%АЩЕЕ*ло%АЩЕГО*лп%АЩЕМУ*лр%АЩЕЕ*лс%АЩИМ*лт%АЩЕМ*лу%АЩИЕ*лх%АЩИХ*лц%АЩИМ*лч%АЩИХ*лш%АЩИЕ*Лй%АЩИМИ*лщ%АЩИХ*лы%АВШИЙ*ма%АВШЕГО*мб%АВШЕМУ*мв%АВШЕГО*мг%АВШИЙ*Лб%АВШИМ*мд%АВШЕМ*ме%АВШАЯ*мз%АВШЕЙ*ми%АВШЕЙ*мй%АВШУЮ*мк%АВШЕЙ*мл%АВШЕЮ*мл%АВШЕЙ*мм%АВШЕЕ*мо%АВШЕГО*мп%АВШЕМУ*мр%АВШЕЕ*мс%АВШИМ*мт%АВШЕМ*му%АВШИЕ*мх%АВШИХ*мц%АВШИМ*мч%АВШИХ*мш%АВШИЕ*Лк%АВШИМИ*мщ%АВШИХ*мы%АННЫЙ*са%АННОГО*сб%АННОМУ*св%АННОГО*сг%АННЫЙ*Ле%АННЫМ*сд%АННОМ*се%АН*сж%АННАЯ*сз%АННОЙ*си%АННОЙ*сй%АННУЮ*ск%АННОЙ*сл%АННОЮ*сл%АННОЙ*см%АНА*сн%АННОЕ*со%АННОГО*сп%АННОМУ*ср%АННОЕ*сс%АННЫМ*ст%АННОМ*су%АНО*сф%АННЫЕ*сх%АННЫХ*сц%АННЫМ*сч%АННЫХ*сш%АННЫЕ*Ло%АННЫМИ*сщ%АННЫХ*сы%АНЫ*сэ
|
||||
%ДЕТЬ*ка%ЖУ*кб%ДИМ*кв%ДИШЬ*кг%ДИТЕ*кд%ДИТ*ке%ДЯТ*кж%ДЕЛ*кз%ДЕЛА*ки%ДЕЛО*кй%ДЕЛИ*кк%ДЮТ*кю%ДЯ*кн%ДЕВ*ко%ДЕВШИ*ко%ДЬ*кл%ДЬТЕ*км%ДЯЩИЙ*ла%ДЯЩЕГО*лб%ДЯЩЕМУ*лв%ДЯЩЕГО*лг%ДЯЩИЙ*Ла%ДЯЩИМ*лд%ДЯЩЕМ*ле%ДЯЩАЯ*лз%ДЯЩЕЙ*ли%ДЯЩЕЙ*лй%ДЯЩУЮ*лк%ДЯЩЕЙ*лл%ДЯЩЕЮ*лл%ДЯЩЕЙ*лм%ДЯЩЕЕ*ло%ДЯЩЕГО*лп%ДЯЩЕМУ*лр%ДЯЩЕЕ*лс%ДЯЩИМ*лт%ДЯЩЕМ*лу%ДЯЩИЕ*лх%ДЯЩИХ*лц%ДЯЩИМ*лч%ДЯЩИХ*лш%ДЯЩИЕ*Лй%ДЯЩИМИ*лщ%ДЯЩИХ*лы%ДЕВШИЙ*ма%ДЕВШЕГО*мб%ДЕВШЕМУ*мв%ДЕВШЕГО*мг%ДЕВШИЙ*Лб%ДЕВШИМ*мд%ДЕВШЕМ*ме%ДЕВШАЯ*мз%ДЕВШЕЙ*ми%ДЕВШЕЙ*мй%ДЕВШУЮ*мк%ДЕВШЕЙ*мл%ДЕВШЕЮ*мл%ДЕВШЕЙ*мм%ДЕВШЕЕ*мо%ДЕВШЕГО*мп%ДЕВШЕМУ*мр%ДЕВШЕЕ*мс%ДЕВШИМ*мт%ДЕВШЕМ*му%ДЕВШИЕ*мх%ДЕВШИХ*мц%ДЕВШИМ*мч%ДЕВШИХ*мш%ДЕВШИЕ*Лк%ДЕВШИМИ*мщ%ДЕВШИХ*мы%ДИМЫЙ*па%ДИМОГО*пб%ДИМОМУ*пв%ДИМОГО*пг%ДИМЫЙ*Лг%ДИМЫМ*пд%ДИМОМ*пе%ДИМ*пж%ДИМАЯ*пз%ДИМОЙ*пи%ДИМОЙ*пй%ДИМУЮ*пк%ДИМОЙ*пл%ДИМОЮ*пл%ДИМОЙ*пм%ДИМА*пн%ДИМОЕ*по%ДИМОГО*пп%ДИМОМУ*пр%ДИМОЕ*пс%ДИМЫМ*пт%ДИМОМ*пу%ДИМО*пф%ДИМЫЕ*пх%ДИМЫХ*пц%ДИМЫМ*пч%ДИМЫХ*пш%ДИМЫЕ*Лм%ДИМЫМИ*пщ%ДИМЫХ*пы%ДИМЫ*пэ%ДЕННЫЙ*са%ДЕННОГО*сб%ДЕННОМУ*св%ДЕННОГО*сг%ДЕННЫЙ*Ле%ДЕННЫМ*сд%ДЕННОМ*се%ДЕН*сж%ДЕННАЯ*сз%ДЕННОЙ*си%ДЕННОЙ*сй%ДЕННУЮ*ск%ДЕННОЙ*сл%ДЕННОЮ*сл%ДЕННОЙ*см%ДНА*сн%ДЕННОЕ*со%ДЕННОГО*сп%ДЕННОМУ*ср%ДЕННОЕ*сс%ДЕННЫМ*ст%ДЕННОМ*су%ДЕННЫЕ*сх%ДЕННЫХ*сц%ДЕННЫМ*сч%ДЕННЫХ*сш%ДЕННЫЕ*Ло%ДЕННЫМИ*сщ%ДЕННЫХ*сы%ДНЫ*сэ
|
||||
%ТЬ*ка%Ю*кб%ЕМ*кв%ЕШЬ*кг%ЕТЕ*кд%ЕТ*ке%ЮТ*кж%Л*кз%ЛА*ки%ЛО*кй%ЛИ*кк%Я*кн%В*ко%ВШИ*ко%Й*кл%ЙТЕ*км%ЮЩИЙ*ла%ЮЩЕГО*лб%ЮЩЕМУ*лв%ЮЩЕГО*лг%ЮЩИЙ*Ла%ЮЩИМ*лд%ЮЩЕМ*ле%ЮЩАЯ*лз%ЮЩЕЙ*ли%ЮЩЕЙ*лй%ЮЩУЮ*лк%ЮЩЕЙ*лл%ЮЩЕЮ*лл%ЮЩЕЙ*лм%ЮЩЕЕ*ло%ЮЩЕГО*лп%ЮЩЕМУ*лр%ЮЩЕЕ*лс%ЮЩИМ*лт%ЮЩЕМ*лу%ЮЩИЕ*лх%ЮЩИХ*лц%ЮЩИМ*лч%ЮЩИХ*лш%ЮЩИЕ*Лй%ЮЩИМИ*лщ%ЮЩИХ*лы%ВШИЙ*ма%ВШЕГО*мб%ВШЕМУ*мв%ВШЕГО*мг%ВШИЙ*Лб%ВШИМ*мд%ВШЕМ*ме%ВШАЯ*мз%ВШЕЙ*ми%ВШЕЙ*мй%ВШУЮ*мк%ВШЕЙ*мл%ВШЕЮ*мл%ВШЕЙ*мм%ВШЕЕ*мо%ВШЕГО*мп%ВШЕМУ*мр%ВШЕЕ*мс%ВШИМ*мт%ВШЕМ*му%ВШИЕ*мх%ВШИХ*мц%ВШИМ*мч%ВШИХ*мш%ВШИЕ*Лк%ВШИМИ*мщ%ВШИХ*мы
|
||||
%ОНО*шм%ЕГО*шн%НЕГО*шн%ЕМУ*шо%НЕМУ*шо%ЕГО*шп%НЕГО*шп%ИМ*шр%НИМ*шр%НЁМ*шс
|
||||
%аа%А*аб%У*ав%аг%ОМ*ад%Е*ае%У*Эх%Ы*аж%ОВ*аз%АМ*аи%Ы*ай%АМИ*ак%АХ*ал
|
||||
%аа%А*аб%У*ав%аг%ОМ*ад%Е*ае%У*Эх%А*аж%И*аж%ОВ*аз%АМ*аи%А*ай%И*ай%АМИ*ак%АХ*ал
|
||||
%Ь*га%И*гб%И*гв%Ь*гг%ЬЮ*гд%И*ге%И*Эч%И*гж%ЕЙ*гз%ЯМ*ги%И*гй%ЬМИ*гк%ЯМИ*гк%ЯХ*гл
|
||||
%ТЬ*ка%Ю*кб%ЕМ*кв%ЕШЬ*кг%ЕТЕ*кд%ЕТ*ке%ЮТ*кж%Л*кз%ЛА*ки%ЛО*кй%ЛИ*кк%Я*кн%В*ко%ВШИ*ко%Й*кл%ЙТЕ*км%ЮЩИЙ*ла%ЮЩЕГО*лб%ЮЩЕМУ*лв%ЮЩЕГО*лг%ЮЩИЙ*Ла%ЮЩИМ*лд%ЮЩЕМ*ле%ЮЩАЯ*лз%ЮЩЕЙ*ли%ЮЩЕЙ*лй%ЮЩУЮ*лк%ЮЩЕЙ*лл%ЮЩЕЮ*лл%ЮЩЕЙ*лм%ЮЩЕЕ*ло%ЮЩЕГО*лп%ЮЩЕМУ*лр%ЮЩЕЕ*лс%ЮЩИМ*лт%ЮЩЕМ*лу%ЮЩИЕ*лх%ЮЩИХ*лц%ЮЩИМ*лч%ЮЩИХ*лш%ЮЩИЕ*Лй%ЮЩИМИ*лщ%ЮЩИХ*лы%ВШИЙ*ма%ВШЕГО*мб%ВШЕМУ*мв%ВШЕГО*мг%ВШИЙ*Лб%ВШИМ*мд%ВШЕМ*ме%ВШАЯ*мз%ВШЕЙ*ми%ВШЕЙ*мй%ВШУЮ*мк%ВШЕЙ*мл%ВШЕЮ*мл%ВШЕЙ*мм%ВШЕЕ*мо%ВШЕГО*мп%ВШЕМУ*мр%ВШЕЕ*мс%ВШИМ*мт%ВШЕМ*му%ВШИЕ*мх%ВШИХ*мц%ВШИМ*мч%ВШИХ*мш%ВШИЕ*Лк%ВШИМИ*мщ%ВШИХ*мы%ЕМЫЙ*па%ЕМОГО*пб%ЕМОМУ*пв%ЕМОГО*пг%ЕМЫЙ*Лг%ЕМЫМ*пд%ЕМОМ*пе%ЕМ*пж%ЕМАЯ*пз%ЕМОЙ*пи%ЕМОЙ*пй%ЕМУЮ*пк%ЕМОЙ*пл%ЕМОЮ*пл%ЕМОЙ*пм%ЕМА*пн%ЕМОЕ*по%ЕМОГО*пп%ЕМОМУ*пр%ЕМОЕ*пс%ЕМЫМ*пт%ЕМОМ*пу%ЕМО*пф%ЕМЫЕ*пх%ЕМЫХ*пц%ЕМЫМ*пч%ЕМЫХ*пш%ЕМЫЕ*Лм%ЕМЫМИ*пщ%ЕМЫХ*пы%ЕМЫ*пэ
|
||||
%ОВАТЬ*ка%ОВАЛ*кз%ОВАЛА*ки%ОВАЛО*кй%ОВАЛИ*кк%УЮ*кп%УЕМ*кр%УЕШЬ*кс%УЕТЕ*кт%УЕТ*ку%УЮТ*кф%УЯ*кн%ОВАВ*ко%ОВАВШИ*ко%УЕМ*нп%УЕМТЕ*нп%УЙ*кл%УЙТЕ*км%ОВАВШИЙ*ма%ОВАВШЕГО*мб%ОВАВШЕМУ*мв%ОВАВШЕГО*мг%ОВАВШИЙ*Лб%ОВАВШИМ*мд%ОВАВШЕМ*ме%ОВАВШАЯ*мз%ОВАВШЕЙ*ми%ОВАВШЕЙ*мй%ОВАВШУЮ*мк%ОВАВШЕЙ*мл%ОВАВШЕЮ*мл%ОВАВШЕЙ*мм%ОВАВШЕЕ*мо%ОВАВШЕГО*мп%ОВАВШЕМУ*мр%ОВАВШЕЕ*мс%ОВАВШИМ*мт%ОВАВШЕМ*му%ОВАВШИЕ*мх%ОВАВШИХ*мц%ОВАВШИМ*мч%ОВАВШИХ*мш%ОВАВШИЕ*Лк%ОВАВШИМИ*мщ%ОВАВШИХ*мы
|
||||
%ЫЙ*йа%ОГО*йб%ОМУ*йв%ОГО*йг%ЫЙ*Рщ%ЫМ*йд%ОМ*йе%АЯ*йж%ОЙ*йз%ОЙ*йи%УЮ*йй%ОЙ*йк%ОЮ*йк%ОЙ*йл%ОЕ*йм%ОГО*йн%ОМУ*йо%ОЕ*йп%ЫМ*йр%ОМ*йс%ЫЕ*йт%ЫХ*йу%ЫМ*йф%ЫХ*йх%ЫЕ*Рь%ЫМИ*йц%ЫХ*йч%йш%А*йщ%О*йы%Ы*йэ%ЕЕ*йю%ЕЙ*йю%ЕЕ*йъ*ПО%ЕЙ*йъ*ПО
|
||||
%НЫЙ*йа%НОГО*йб%НОМУ*йв%НОГО*йг%НЫЙ*Рщ%НЫМ*йд%НОМ*йе%НАЯ*йж%НОЙ*йз%НОЙ*йи%НУЮ*йй%НОЙ*йк%НОЮ*йк%НОЙ*йл%НОЕ*йм%НОГО*йн%НОМУ*йо%НОЕ*йп%НЫМ*йр%НОМ*йс%НЫЕ*йт%НЫХ*йу%НЫМ*йф%НЫХ*йх%НЫЕ*Рь%НЫМИ*йц%НЫХ*йч%ЕН*йш%НА*йщ%НО*йы%НЫ*йэ%НЕЕ*йю%НЕЙ*йю%НЕЕ*йъ*ПО%НЕЙ*йъ*ПО
|
||||
%НЫЙ*йа%НОГО*йб%НОМУ*йв%НОГО*йг%НЫЙ*Рщ%НЫМ*йд%НОМ*йе%НАЯ*йж%НОЙ*йз%НОЙ*йи%НУЮ*йй%НОЙ*йк%НОЮ*йк%НОЙ*йл%НОЕ*йм%НОГО*йн%НОМУ*йо%НОЕ*йп%НЫМ*йр%НОМ*йс%НЫЕ*йт%НЫХ*йу%НЫМ*йф%НЫХ*йх%НЫЕ*Рь%НЫМИ*йц%НЫХ*йч%ЕН*йш%НА*йщ%НО*йы%НЫ*йэ%НЕЕ*йю%НЕЙ*йю%НЕЕ*йъ*ПО%НЕЙ*йъ*ПО%НЕЙШИЙ*иа%НЕЙШЕГО*иб%НЕЙШЕМУ*ив%НЕЙШЕГО*иг%НЕЙШИЙ*ид%НЕЙШИМ*ие%НЕЙШЕМ*Гб%НЕЙШАЯ*Гв%НЕЙШЕЙ*Гг%НЕЙШЕЙ*Гд%НЕЙШУЮ*Ге%НЕЙШЕЙ*Гж%НЕЙШЕЮ*Гж%НЕЙШЕЙ*Гз%НЕЙШЕЕ*ин%НЕЙШЕГО*ио%НЕЙШЕМУ*ип%НЕЙШЕЕ*ир%НЕЙШИМ*ис%НЕЙШЕМ*ит%НЕЙШИЕ*иу%НЕЙШИХ*иф%НЕЙШИМ*их%НЕЙШИХ*иц%НЕЙШИЕ*ич%НЕЙШИМИ*иш%НЕЙШИХ*ищ
|
||||
0
|
||||
0
|
||||
0
|
||||
81
|
||||
БЕЗМОЛВ 50 - - Уе -
|
||||
Б 10 - - Ун -
|
||||
БРО 12 - - Ул -
|
||||
БУМАЖ 0 - - Фа -
|
||||
ВЕРХ 45 - - Фа -
|
||||
ВЕРХ 5 - - - -
|
||||
В 20 - - - -
|
||||
ВИ 41 - - Ун -
|
||||
ВКЛЮЧА 47 - - Ун -
|
||||
ВКЛЮЧ 22 - - Ул -
|
||||
ВОСТОК 2 - - Фа -
|
||||
ВОСТОК 2 - - Уъ -
|
||||
ВСЕ 25 - - - -
|
||||
ВХОД 4 - - Фа -
|
||||
ВЫКЛЮЧА 47 - - Ун -
|
||||
ВЫКЛЮЧ 16 - - Ул -
|
||||
ВЫКОПА 13 - - Ул -
|
||||
ВЫХОД 4 - - Фа -
|
||||
ГО 8 - - Уо -
|
||||
ДВЕР 46 - - Фа -
|
||||
ДЕРЖ 40 - - Ун -
|
||||
ДОСТУП 51 - - Уе -
|
||||
ЗАКРЕП 9 - - Ул -
|
||||
ЗАКРЫВА 47 - - Ун -
|
||||
ЗАКРЫТ 49 - - Уе -
|
||||
ЗАКР 23 - - Ул -
|
||||
ЗАЛЕЗА 42 - - Уо -
|
||||
ЗАМ 28 - - Фа -
|
||||
ЗАМОК 21 - - Ум -
|
||||
ЗАПАД 4 - - Фа -
|
||||
ЗАПАД 4 - - Уъ -
|
||||
ЗАП 29 - - Ул -
|
||||
ЗАПИРА 47 - - Ун -
|
||||
КАРАНДАШ 6 - - Фа -
|
||||
# 30 - - Ун -
|
||||
КОД 4 - - Фа -
|
||||
МО 31 - - Уо -
|
||||
НАДЕВА 47 - - Ун -
|
||||
НАДЕ 19 - - Ул -
|
||||
НА 32 - - Ул -
|
||||
НАХО 7 - - Ун -
|
||||
НАХО 24 - - Ул -
|
||||
НАХО 8 - - Уо -
|
||||
НАХО 17 - - Ум -
|
||||
НИЗ 44 - - Фа -
|
||||
# 33 - - - -
|
||||
# 34 - - - -
|
||||
# 35 - - - -
|
||||
# 43 - - - -
|
||||
ОТВЕ 36 - - Ум -
|
||||
ОТВЕЧА 42 - - Уо -
|
||||
ОТКРЫВА 47 - - Ун -
|
||||
ОТКРЫТ 49 - - Уе -
|
||||
ОТКР 23 - - Ул -
|
||||
ОТМЫЧ 0 - - Фа -
|
||||
ОТПИРА 47 - - Ун -
|
||||
ОТРЕАГИР 48 - - Ум -
|
||||
ПОВЕР 15 - - Ул -
|
||||
ПОВЕР 26 - - Ум -
|
||||
ПОДПРЫГИВА 42 - - Уо -
|
||||
ПОДХО 11 - - Уо -
|
||||
ПОКИДА 47 - - Ун -
|
||||
ПОКИДА 13 - - Ул -
|
||||
ПОМА 27 - - Ум -
|
||||
ПОМЕЩА 47 - - Ун -
|
||||
ПРИДУМА 13 - - Ул -
|
||||
ПРИСЛУША 14 - - Ум -
|
||||
ПРОДА 18 - - Уо -
|
||||
СЕВЕР 4 - - Фа -
|
||||
СЕВЕРО 5 - - - -
|
||||
СЛЕЗА 42 - - Уо -
|
||||
СНИМА 47 - - Ун -
|
||||
СЪЕДА 47 - - Ун -
|
||||
ТЕМЕН 1 - - Фа -
|
||||
ТЕМНОТ 3 - - Фг -
|
||||
Т 37 - - - -
|
||||
Т 38 - - Фа -
|
||||
УМЕ 42 - - Уо -
|
||||
ХО 39 - - Ун -
|
||||
ЮГ 2 - - Фа -
|
||||
ЮГО 5 - - - -
|
||||
182254
|
226
lust.lua
Normal file
226
lust.lua
Normal file
|
@ -0,0 +1,226 @@
|
|||
-- lust v0.1.0 - Lua test framework
|
||||
-- https://github.com/bjornbytes/lust
|
||||
-- MIT LICENSE
|
||||
|
||||
local lust = {}
|
||||
lust.level = 0
|
||||
lust.passes = 0
|
||||
lust.errors = 0
|
||||
lust.befores = {}
|
||||
lust.afters = {}
|
||||
|
||||
local red = string.char(27) .. '[31m'
|
||||
local green = string.char(27) .. '[32m'
|
||||
local normal = string.char(27) .. '[0m'
|
||||
local function indent(level) return string.rep('\t', level or lust.level) end
|
||||
|
||||
function lust.describe(name, fn)
|
||||
print(indent() .. name)
|
||||
lust.level = lust.level + 1
|
||||
fn()
|
||||
lust.befores[lust.level] = {}
|
||||
lust.afters[lust.level] = {}
|
||||
lust.level = lust.level - 1
|
||||
end
|
||||
|
||||
function lust.it(name, fn)
|
||||
for level = 1, lust.level do
|
||||
if lust.befores[level] then
|
||||
for i = 1, #lust.befores[level] do
|
||||
lust.befores[level][i](name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local success, err = pcall(fn)
|
||||
if success then lust.passes = lust.passes + 1
|
||||
else lust.errors = lust.errors + 1 end
|
||||
local color = success and green or red
|
||||
local label = success and 'PASS' or 'FAIL'
|
||||
print(indent() .. color .. label .. normal .. ' ' .. name)
|
||||
if err then
|
||||
print(indent(lust.level + 1) .. red .. err .. normal)
|
||||
end
|
||||
|
||||
for level = 1, lust.level do
|
||||
if lust.afters[level] then
|
||||
for i = 1, #lust.afters[level] do
|
||||
lust.afters[level][i](name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function lust.before(fn)
|
||||
lust.befores[lust.level] = lust.befores[lust.level] or {}
|
||||
table.insert(lust.befores[lust.level], fn)
|
||||
end
|
||||
|
||||
function lust.after(fn)
|
||||
lust.afters[lust.level] = lust.afters[lust.level] or {}
|
||||
table.insert(lust.afters[lust.level], fn)
|
||||
end
|
||||
|
||||
-- Assertions
|
||||
local function isa(v, x)
|
||||
if type(x) == 'string' then
|
||||
return type(v) == x,
|
||||
'expected ' .. tostring(v) .. ' to be a ' .. x,
|
||||
'expected ' .. tostring(v) .. ' to not be a ' .. x
|
||||
elseif type(x) == 'table' then
|
||||
if type(v) ~= 'table' then
|
||||
return false,
|
||||
'expected ' .. tostring(v) .. ' to be a ' .. tostring(x),
|
||||
'expected ' .. tostring(v) .. ' to not be a ' .. tostring(x)
|
||||
end
|
||||
|
||||
local seen = {}
|
||||
local meta = v
|
||||
while meta and not seen[meta] do
|
||||
if meta == x then return true end
|
||||
seen[meta] = true
|
||||
meta = getmetatable(meta) and getmetatable(meta).__index
|
||||
end
|
||||
|
||||
return false,
|
||||
'expected ' .. tostring(v) .. ' to be a ' .. tostring(x),
|
||||
'expected ' .. tostring(v) .. ' to not be a ' .. tostring(x)
|
||||
end
|
||||
|
||||
error('invalid type ' .. tostring(x))
|
||||
end
|
||||
|
||||
local function has(t, x)
|
||||
for k, v in pairs(t) do
|
||||
if v == x then return true end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
local function strict_eq(t1, t2)
|
||||
if type(t1) ~= type(t2) then return false end
|
||||
if type(t1) ~= 'table' then return t1 == t2 end
|
||||
for k, _ in pairs(t1) do
|
||||
if not strict_eq(t1[k], t2[k]) then return false end
|
||||
end
|
||||
for k, _ in pairs(t2) do
|
||||
if not strict_eq(t2[k], t1[k]) then return false end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local paths = {
|
||||
[''] = { 'to', 'to_not' },
|
||||
to = { 'have', 'equal', 'be', 'exist', 'fail' },
|
||||
to_not = { 'have', 'equal', 'be', 'exist', 'fail', chain = function(a) a.negate = not a.negate end },
|
||||
a = { test = isa },
|
||||
an = { test = isa },
|
||||
be = { 'a', 'an', 'truthy',
|
||||
test = function(v, x)
|
||||
return v == x,
|
||||
'expected ' .. tostring(v) .. ' and ' .. tostring(x) .. ' to be equal',
|
||||
'expected ' .. tostring(v) .. ' and ' .. tostring(x) .. ' to not be equal'
|
||||
end
|
||||
},
|
||||
exist = {
|
||||
test = function(v)
|
||||
return v ~= nil,
|
||||
'expected ' .. tostring(v) .. ' to exist',
|
||||
'expected ' .. tostring(v) .. ' to not exist'
|
||||
end
|
||||
},
|
||||
truthy = {
|
||||
test = function(v)
|
||||
return v,
|
||||
'expected ' .. tostring(v) .. ' to be truthy',
|
||||
'expected ' .. tostring(v) .. ' to not be truthy'
|
||||
end
|
||||
},
|
||||
equal = {
|
||||
test = function(v, x)
|
||||
return strict_eq(v, x),
|
||||
'expected ' .. tostring(v) .. ' and ' .. tostring(x) .. ' to be exactly equal',
|
||||
'expected ' .. tostring(v) .. ' and ' .. tostring(x) .. ' to not be exactly equal'
|
||||
end
|
||||
},
|
||||
have = {
|
||||
test = function(v, x)
|
||||
if type(v) ~= 'table' then
|
||||
error('expected ' .. tostring(v) .. ' to be a table')
|
||||
end
|
||||
|
||||
return has(v, x),
|
||||
'expected ' .. tostring(v) .. ' to contain ' .. tostring(x),
|
||||
'expected ' .. tostring(v) .. ' to not contain ' .. tostring(x)
|
||||
end
|
||||
},
|
||||
fail = {
|
||||
test = function(v)
|
||||
return not pcall(v),
|
||||
'expected ' .. tostring(v) .. ' to fail',
|
||||
'expected ' .. tostring(v) .. ' to not fail'
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
function lust.expect(v)
|
||||
local assertion = {}
|
||||
assertion.val = v
|
||||
assertion.action = ''
|
||||
assertion.negate = false
|
||||
|
||||
setmetatable(assertion, {
|
||||
__index = function(t, k)
|
||||
if has(paths[rawget(t, 'action')], k) then
|
||||
rawset(t, 'action', k)
|
||||
local chain = paths[rawget(t, 'action')].chain
|
||||
if chain then chain(t) end
|
||||
return t
|
||||
end
|
||||
return rawget(t, k)
|
||||
end,
|
||||
__call = function(t, ...)
|
||||
if paths[t.action].test then
|
||||
local res, err, nerr = paths[t.action].test(t.val, ...)
|
||||
if assertion.negate then
|
||||
res = not res
|
||||
err = nerr or err
|
||||
end
|
||||
if not res then
|
||||
error(err or 'unknown failure', 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
return assertion
|
||||
end
|
||||
|
||||
function lust.spy(target, name, run)
|
||||
local spy = {}
|
||||
local subject
|
||||
|
||||
local function capture(...)
|
||||
table.insert(spy, {...})
|
||||
return subject(...)
|
||||
end
|
||||
|
||||
if type(target) == 'table' then
|
||||
subject = target[name]
|
||||
target[name] = capture
|
||||
else
|
||||
run = name
|
||||
subject = target or function() end
|
||||
end
|
||||
|
||||
setmetatable(spy, {__call = function(_, ...) return capture(...) end})
|
||||
|
||||
if run then run() end
|
||||
|
||||
return spy
|
||||
end
|
||||
|
||||
lust.test = lust.it
|
||||
lust.paths = paths
|
||||
|
||||
return lust
|
71
main3.lua
Normal file
71
main3.lua
Normal file
|
@ -0,0 +1,71 @@
|
|||
--$Name: Тест открывания$
|
||||
--$Version: 1.0$
|
||||
--$Author:Александр Яковлев$
|
||||
|
||||
require 'parser/mp-ru'
|
||||
mp.undo = 1
|
||||
|
||||
room {
|
||||
nam = 'main';
|
||||
decor = [[
|
||||
Добро пожаловать в тестовую комнату.^
|
||||
Попробуйте открыть или отпереть замок.
|
||||
]];
|
||||
title = 'Тестовая комната';
|
||||
}
|
||||
|
||||
|
||||
obj {
|
||||
-"код/мр|бумажка/жр";
|
||||
nam = 'code';
|
||||
description = 'Листок бумаги с кодом: 1234.';
|
||||
found_in = 'main';
|
||||
}
|
||||
|
||||
obj {
|
||||
-"отмычка/жр";
|
||||
nam = 'pin';
|
||||
description = 'Отмычка для слишком умных замков. Ведёт себя как ключ.';
|
||||
found_in = 'main';
|
||||
}
|
||||
|
||||
obj {
|
||||
-"карандаш/мр";
|
||||
nam = 'pencil';
|
||||
description = 'Карандаш, которым нельзя открывать замки.';
|
||||
found_in = 'main';
|
||||
}
|
||||
|
||||
|
||||
obj {
|
||||
-"замок/мр";
|
||||
nam = 'lock';
|
||||
found_in = 'main';
|
||||
description = 'Надёжный умный замок. Его можно открыть правильным цифровым кодом или ключом.';
|
||||
-- замок можно открыть двумя вещами, поэтому with_key не уместен
|
||||
-- вместо этого надо перехватывать before_Unlock
|
||||
-- кроме того, его хочется сразу открывать, потому что зачем ещё мы его отпираем
|
||||
before_Unlock = function(self, what)
|
||||
if (what == nil) then
|
||||
return false
|
||||
end
|
||||
if self:has('open') then
|
||||
return 'Но он уже открыт.';
|
||||
end
|
||||
if (what ^ 'code') then
|
||||
pn 'Вы читаете бумажку и вводите код.'
|
||||
self:attr('~locked');
|
||||
self:attr('open');
|
||||
self:attr('~closed');
|
||||
return false;
|
||||
end
|
||||
if (what ^ 'pin') then
|
||||
pn 'Вы взламываете замок отмычкой.';
|
||||
self:attr('~locked');
|
||||
self:attr('open');
|
||||
self:attr('~closed');
|
||||
return false;
|
||||
end
|
||||
return 'Нет, этим замок не отпереть.';
|
||||
end;
|
||||
}:attr 'locked,openable,closed'
|
8
morph/COPYING
Normal file
8
morph/COPYING
Normal file
|
@ -0,0 +1,8 @@
|
|||
This code uses dictionary files from the http://aot.ru project that is
|
||||
covered by the terms of the LGPL license.
|
||||
|
||||
Dictionary files:
|
||||
https://sourceforge.net/p/seman/svn/HEAD/tree/trunk/Dicts/Morph/Russian/
|
||||
|
||||
License:
|
||||
https://sourceforge.net/p/seman/svn/HEAD/tree/trunk/copying
|
131
morph/lang-en.lua
Normal file
131
morph/lang-en.lua
Normal file
|
@ -0,0 +1,131 @@
|
|||
local type = type
|
||||
local kbden = {
|
||||
shifted = {
|
||||
["1"] = "!",
|
||||
["2"] = "@",
|
||||
["3"] = "#",
|
||||
["4"] = "$",
|
||||
["5"] = "%",
|
||||
["6"] = "^",
|
||||
["7"] = "&",
|
||||
["8"] = "*",
|
||||
["9"] = "(",
|
||||
["0"] = ")",
|
||||
["-"] = "_",
|
||||
["="] = "+",
|
||||
["/"] = "?",
|
||||
[","] = "<",
|
||||
["."] = ">",
|
||||
["`"] = "~",
|
||||
["a"] = "A",
|
||||
["b"] = "B",
|
||||
["c"] = "C",
|
||||
["d"] = "D",
|
||||
["e"] = "E",
|
||||
["f"] = "F",
|
||||
["g"] = "G",
|
||||
["h"] = "H",
|
||||
["i"] = "I",
|
||||
["j"] = "J",
|
||||
["k"] = "K",
|
||||
["l"] = "L",
|
||||
["m"] = "M",
|
||||
["n"] = "N",
|
||||
["o"] = "O",
|
||||
["p"] = "P",
|
||||
["q"] = "Q",
|
||||
["r"] = "R",
|
||||
["s"] = "S",
|
||||
["t"] = "T",
|
||||
["u"] = "U",
|
||||
["v"] = "V",
|
||||
["w"] = "W",
|
||||
["x"] = "X",
|
||||
["y"] = "Y",
|
||||
["z"] = "Z",
|
||||
}
|
||||
}
|
||||
|
||||
local function lower(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
return str:lower()
|
||||
end
|
||||
|
||||
local function upper(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
return str:upper()
|
||||
end
|
||||
|
||||
local function is_cap(str)
|
||||
if type(str) ~= 'string' then
|
||||
return false
|
||||
end
|
||||
local s, e
|
||||
if str:find("^[A-Z]") then
|
||||
s = true
|
||||
end
|
||||
if str:find("[A-Z]$") then
|
||||
e = true
|
||||
end
|
||||
return s, e
|
||||
end
|
||||
|
||||
local function cap(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
str = str:gsub("^.", function(v) return v:upper() end)
|
||||
return str
|
||||
end
|
||||
|
||||
local lang
|
||||
|
||||
local function norm(str)
|
||||
return str
|
||||
end
|
||||
|
||||
local vowels = {
|
||||
["a"] = true,
|
||||
["e"] = true,
|
||||
["i"] = true,
|
||||
["o"] = true,
|
||||
["u"] = true,
|
||||
}
|
||||
|
||||
local function is_vowel(l)
|
||||
l = lower(l);
|
||||
return vowels[l]
|
||||
end
|
||||
|
||||
lang = { yo = false,
|
||||
kbd = kbden,
|
||||
norm = norm,
|
||||
upper = upper,
|
||||
lower = lower,
|
||||
cap = cap,
|
||||
is_cap = is_cap,
|
||||
is_vowel = is_vowel,
|
||||
flex_filter = function() return false end,
|
||||
gram_compat = function() return false end,
|
||||
gram_score = function() return 0 end,
|
||||
gram_t = {
|
||||
noun = '',
|
||||
live = 'live',
|
||||
nonlive = 'nonlive',
|
||||
neuter = 'neutwe',
|
||||
male = 'male',
|
||||
female = 'female',
|
||||
plural = 'plural',
|
||||
proper = 'proper',
|
||||
surname = 'surname',
|
||||
first = 'first',
|
||||
second = 'second',
|
||||
third = 'third',
|
||||
}
|
||||
}
|
||||
|
||||
return lang
|
433
morph/lang-ru.lua
Normal file
433
morph/lang-ru.lua
Normal file
|
@ -0,0 +1,433 @@
|
|||
local type = type
|
||||
local kbdru = {
|
||||
["q"] = "й",
|
||||
["w"] = "ц",
|
||||
["e"] = "у",
|
||||
["r"] = "к",
|
||||
["t"] = "е",
|
||||
["y"] = "н",
|
||||
["u"] = "г",
|
||||
["i"] = "ш",
|
||||
["o"] = "щ",
|
||||
["p"] = "з",
|
||||
["["] = "х",
|
||||
["]"] = "ъ",
|
||||
["a"] = "ф",
|
||||
["s"] = "ы",
|
||||
["d"] = "в",
|
||||
["f"] = "а",
|
||||
["g"] = "п",
|
||||
["h"] = "р",
|
||||
["j"] = "о",
|
||||
["k"] = "л",
|
||||
["l"] = "д",
|
||||
[";"] = "ж",
|
||||
["'"] = "э",
|
||||
["z"] = "я",
|
||||
["x"] = "ч",
|
||||
["c"] = "с",
|
||||
["v"] = "м",
|
||||
["b"] = "и",
|
||||
["n"] = "т",
|
||||
["m"] = "ь",
|
||||
[","] = "б",
|
||||
["."] = "ю",
|
||||
["`"] = "ё",
|
||||
["/"] = ".",
|
||||
shifted = {
|
||||
["q"] = "Й",
|
||||
["w"] = "Ц",
|
||||
["e"] = "У",
|
||||
["r"] = "К",
|
||||
["t"] = "Е",
|
||||
["y"] = "Н",
|
||||
["u"] = "Г",
|
||||
["i"] = "Ш",
|
||||
["o"] = "Щ",
|
||||
["p"] = "З",
|
||||
["["] = "Х",
|
||||
["]"] = "Ъ",
|
||||
["a"] = "Ф",
|
||||
["s"] = "Ы",
|
||||
["d"] = "В",
|
||||
["f"] = "А",
|
||||
["g"] = "П",
|
||||
["h"] = "Р",
|
||||
["j"] = "О",
|
||||
["k"] = "Л",
|
||||
["l"] = "Д",
|
||||
[";"] = "Ж",
|
||||
["'"] = "Э",
|
||||
["z"] = "Я",
|
||||
["x"] = "Ч",
|
||||
["c"] = "С",
|
||||
["v"] = "М",
|
||||
["b"] = "И",
|
||||
["n"] = "Т",
|
||||
["m"] = "Ь",
|
||||
[","] = "Б",
|
||||
["."] = "Ю",
|
||||
["`"] = "Ё",
|
||||
["1"] = "!",
|
||||
["2"] = "@",
|
||||
["3"] = "#",
|
||||
["4"] = ";",
|
||||
["5"] = "%",
|
||||
["6"] = ":",
|
||||
["7"] = "?",
|
||||
["8"] = "*",
|
||||
["9"] = "(",
|
||||
["0"] = ")",
|
||||
["-"] = "_",
|
||||
["="] = "+",
|
||||
["/"] = ",",
|
||||
}
|
||||
}
|
||||
|
||||
local toupper = {
|
||||
["й"] = "Й",
|
||||
["ц"] = "Ц",
|
||||
["у"] = "У",
|
||||
["к"] = "К",
|
||||
["е"] = "Е",
|
||||
["н"] = "Н",
|
||||
["г"] = "Г",
|
||||
["ш"] = "Ш",
|
||||
["щ"] = "Щ",
|
||||
["з"] = "З",
|
||||
["х"] = "Х",
|
||||
["ъ"] = "Ъ",
|
||||
["ф"] = "Ф",
|
||||
["ы"] = "Ы",
|
||||
["в"] = "В",
|
||||
["а"] = "А",
|
||||
["п"] = "П",
|
||||
["р"] = "Р",
|
||||
["о"] = "О",
|
||||
["л"] = "Л",
|
||||
["д"] = "Д",
|
||||
["ж"] = "Ж",
|
||||
["э"] = "Э",
|
||||
["я"] = "Я",
|
||||
["ч"] = "Ч",
|
||||
["с"] = "С",
|
||||
["м"] = "М",
|
||||
["и"] = "И",
|
||||
["т"] = "Т",
|
||||
["ь"] = "Ь",
|
||||
["б"] = "Б",
|
||||
["ю"] = "Ю",
|
||||
["ё"] = "Ё",
|
||||
}
|
||||
|
||||
local function lower(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
str = str:lower()
|
||||
for k, v in pairs(toupper) do
|
||||
str = str:gsub(v, k)
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
local function upper(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
str = str:upper();
|
||||
for k, v in pairs(toupper) do
|
||||
str = str:gsub(k, v)
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
local function is_cap(str)
|
||||
if type(str) ~= 'string' then
|
||||
return false
|
||||
end
|
||||
local s, e
|
||||
for _, v in pairs(toupper) do
|
||||
if not s and str:find("^"..v) then
|
||||
s = true
|
||||
end
|
||||
if not e and str:find(v.."$") then
|
||||
e = true
|
||||
end
|
||||
if not s and str:find("^[A-Z]") then
|
||||
s = true
|
||||
end
|
||||
if not e and str:find("[A-Z]$") then
|
||||
e = true
|
||||
end
|
||||
end
|
||||
return s, e
|
||||
end
|
||||
|
||||
local function cap(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
if str:find("^[a-z]") then
|
||||
str = str:gsub("^.", function(v) return v:upper() end)
|
||||
return str
|
||||
end
|
||||
for k, v in pairs(toupper) do
|
||||
local s = str:gsub("^"..k, v)
|
||||
if s ~= str then
|
||||
return s
|
||||
end
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
local lang
|
||||
|
||||
local function norm(str)
|
||||
if type(str) ~= 'string' then
|
||||
return str
|
||||
end
|
||||
if not lang.yo then
|
||||
str = str:gsub("ё", "е"):gsub("Ё", "Е")
|
||||
end
|
||||
return str
|
||||
end
|
||||
|
||||
local vowels = {
|
||||
["у"] = true,
|
||||
["е"] = true,
|
||||
["ы"] = true,
|
||||
["а"] = true,
|
||||
["о"] = true,
|
||||
["и"] = true,
|
||||
["ю"] = true,
|
||||
["ё"] = true,
|
||||
["э"] = true,
|
||||
["я"] = true,
|
||||
}
|
||||
|
||||
local function is_vowel(l)
|
||||
l = lower(l);
|
||||
return vowels[l]
|
||||
end
|
||||
|
||||
local gram_tt = {
|
||||
["ИНФИНИТИВ"] = true;
|
||||
["КР_ПРИЛ"] = true;
|
||||
["КР_ПРИЧАСТИЕ"] = true;
|
||||
["Г"] = true;
|
||||
}
|
||||
|
||||
local function flex_filter(v)
|
||||
local an = v.an
|
||||
if an["им"] then
|
||||
return true
|
||||
end
|
||||
if an["рд"] or an["дт"] or an["тв"] or an["пр"] or an["вн"] then
|
||||
return false
|
||||
end
|
||||
if an["0"] then
|
||||
return true
|
||||
end
|
||||
return gram_tt[an.t]
|
||||
end
|
||||
|
||||
local function gram_info(a)
|
||||
local t = { }
|
||||
if a['мр'] then
|
||||
t.gen = 'male'
|
||||
elseif a['жр'] then
|
||||
t.gen = 'female'
|
||||
elseif a['ср'] then
|
||||
t.gen = 'neuter'
|
||||
else
|
||||
t.gen = 'any'
|
||||
end
|
||||
|
||||
if a['мн'] then
|
||||
t.num = 'singular'
|
||||
elseif a['ед'] then
|
||||
t.num = 'plural'
|
||||
else
|
||||
t.num = 'any'
|
||||
end
|
||||
|
||||
if a['буд'] then
|
||||
t.time = 'future'
|
||||
elseif a['прш'] then
|
||||
t.time = 'past'
|
||||
elseif a['нст'] then
|
||||
t.time = 'present'
|
||||
else
|
||||
t.time = 'any'
|
||||
end
|
||||
|
||||
if a['1л'] then
|
||||
t.face = 'first'
|
||||
elseif a['2л'] then
|
||||
t.face = 'second'
|
||||
elseif a['3л'] then
|
||||
t.face = 'third'
|
||||
else
|
||||
t.face = 'any'
|
||||
end
|
||||
|
||||
return t
|
||||
end
|
||||
|
||||
local function __gram_compat(g1, g2, time)
|
||||
if g1.gen ~= g2.gen and g1.gen ~= 'any' and g2.gen ~= 'any' then return false end
|
||||
if not time then
|
||||
if g1.num ~= g2.num and g1.num ~= 'any' and g2.num ~= 'any' then return false end
|
||||
end
|
||||
if g1.time ~= g2.time and g1.time ~= 'any' and g2.time ~= 'any' then return false end
|
||||
if g1.face ~= g2.face and g1.face ~= 'any' and g2.face ~= 'any' then return false end
|
||||
return true
|
||||
end
|
||||
|
||||
local function gram_eq(a, b)
|
||||
if not a or not b then return true end
|
||||
if a == 'ИНФИНИТИВ' or b == 'ИНФИНИТИВ' then
|
||||
return b == a or b == 'Г' or a == 'Г'
|
||||
end
|
||||
if a == 'КР_ПРИЛ' or b == 'КР_ПРИЛ' then
|
||||
return b == a -- or b == 'П'
|
||||
end
|
||||
if a == 'КР_ПРИЧАСТИЕ' or b == 'КР_ПРИЧАСТИЕ' then
|
||||
return b == a
|
||||
end
|
||||
if a == 'ПРИЧАСТИЕ' or b == 'ПРИЧАСТИЕ' then
|
||||
return b == a
|
||||
end
|
||||
if a == 'Г' or b == 'Г' then return a == b end
|
||||
return true
|
||||
end
|
||||
|
||||
local function gram_compat(base, aa, bb)
|
||||
if not gram_eq(base.t, aa.t) then
|
||||
return false
|
||||
end
|
||||
-- local a, b = aa.t, bb.t
|
||||
local g1, g2 = gram_info(aa), gram_info(bb)
|
||||
if bb.noun then
|
||||
if not base['им'] then
|
||||
return false
|
||||
end
|
||||
local g0 = gram_info(base)
|
||||
if not __gram_compat(g0, g1, true) then return false end
|
||||
if not __gram_compat(g0, g2, true) then return false end
|
||||
end
|
||||
return __gram_compat(g1, g2)
|
||||
end
|
||||
|
||||
local function gram_norm(an)
|
||||
local a = {}
|
||||
local g = {}
|
||||
for _, v in ipairs(an) do
|
||||
a[v] = true
|
||||
table.insert(g, v)
|
||||
end
|
||||
if not a['1л'] and not a['2л'] and not a['3л'] then
|
||||
table.insert(g, '3л')
|
||||
end
|
||||
return g
|
||||
end
|
||||
|
||||
local function gram_score(an, g)
|
||||
local score = 0
|
||||
g = gram_norm(g)
|
||||
if an["фам"] then score = score - 0.1 end
|
||||
if an["арх"] then score = score - 0.1 end
|
||||
for _, vv in ipairs(g or {}) do
|
||||
if vv:sub(1, 1) == '~' then
|
||||
vv = vv:sub(2)
|
||||
if an[vv] then
|
||||
score = score - 1
|
||||
elseif an.t == vv then
|
||||
score = score - 10
|
||||
end
|
||||
else
|
||||
if an[vv] then
|
||||
score = score + 1
|
||||
elseif an.t == vv then
|
||||
score = score + 10
|
||||
end
|
||||
end
|
||||
end
|
||||
return score
|
||||
end
|
||||
|
||||
lang = { yo = false,
|
||||
kbd = kbdru,
|
||||
norm = norm,
|
||||
upper = upper,
|
||||
lower = lower,
|
||||
cap = cap,
|
||||
is_cap = is_cap,
|
||||
is_vowel = is_vowel,
|
||||
flex_filter = flex_filter,
|
||||
gram_compat = gram_compat,
|
||||
gram_score = gram_score,
|
||||
gram_t = {
|
||||
noun = 'С',
|
||||
nom = 'им',
|
||||
live = 'од',
|
||||
nonlive = 'но',
|
||||
neuter = 'ср',
|
||||
male = 'мр',
|
||||
female = 'жр',
|
||||
plural = 'мн',
|
||||
proper = 'имя',
|
||||
surname = 'фам',
|
||||
first = '1л',
|
||||
second = '2л',
|
||||
third = '3л',
|
||||
};
|
||||
dict = {
|
||||
["ведро/ср,но,С"] = {
|
||||
"ведро/им", "вёдра/им,мн",
|
||||
"ведро/вн", "вёдра/вн,мн",
|
||||
"ведра/рд", "вёдер/рд,мн",
|
||||
"ведру/дт", "ведрам/дт,мн",
|
||||
"ведром/тв", "вёдрами/тв,мн",
|
||||
"ведре/пр", "вёдрах/пр,мн",
|
||||
},
|
||||
["деревья/ср,но,мн,С"] = {
|
||||
"деревья/им";
|
||||
"деревья/вн";
|
||||
"деревьев/рд";
|
||||
"деревьями/тв";
|
||||
"деревьях/пр";
|
||||
"деревьям/дт";
|
||||
};
|
||||
["дерево/ср,но,С"] = {
|
||||
"дерево/им", "деревья/им,мн";
|
||||
"дерево/вн", "деревья/вн,мн";
|
||||
"дерева/рд", "деревьев/рд,мн";
|
||||
"деревом/тв", "деревьями/тв,мн";
|
||||
"дереве/пр", "деревьях/пр,мн";
|
||||
"дереву/пр", "деревьям/дт,мн";
|
||||
};
|
||||
["огонь/мр,но,С"] = {
|
||||
"огонь/им", "огни/им,мн",
|
||||
"огонь/вн", "огни/вн,мн",
|
||||
"огня/рд", "огней/рд,мн",
|
||||
"огню/дт", "огням/дт,мн",
|
||||
"огнём/тв", "огнями/тв,мн",
|
||||
"огне/пр", "огнях/пр,мн",
|
||||
};
|
||||
["цветы/мн,мр,но,С"] = { -- цветки
|
||||
"цветы/им",
|
||||
"уветы/вн",
|
||||
"цветов/рд",
|
||||
"цветам/дт",
|
||||
"цветами/тв",
|
||||
"цветах/пр",
|
||||
};
|
||||
["хлам/пр,2"] = "хламе";
|
||||
["клевер/пр"] = "клевере";
|
||||
["песок/пр,2"] = "песке";
|
||||
};
|
||||
}
|
||||
|
||||
return lang
|
179923
morph/morphs.mrd
Normal file
179923
morph/morphs.mrd
Normal file
File diff suppressed because one or more lines are too long
928
morph/mrd.lua
Normal file
928
morph/mrd.lua
Normal file
|
@ -0,0 +1,928 @@
|
|||
--luacheck: no self
|
||||
|
||||
local curdir = std.getinfo(1).source:gsub("^(.+[\\/])[^\\/]+$", "%1"):gsub("^@", "");
|
||||
|
||||
local mrd = {
|
||||
lang = false;
|
||||
words = {};
|
||||
dirs = {''};
|
||||
dict_file = 'dict.mrd';
|
||||
}
|
||||
|
||||
local msg = dprint or print
|
||||
local function debug(...)
|
||||
if DEBUG then
|
||||
dprint(...)
|
||||
end
|
||||
end
|
||||
local function cache_add(cache, key, val)
|
||||
table.insert(cache.list, 1, key)
|
||||
local len = #cache.list
|
||||
if len > (cache.len or 128) then
|
||||
local okey = cache.list[len]
|
||||
table.remove(cache.list, len)
|
||||
cache.hash[okey] = nil
|
||||
end
|
||||
cache.hash[key] = val
|
||||
end
|
||||
|
||||
local function split(str, sep)
|
||||
local words = {}
|
||||
if not str then
|
||||
return words
|
||||
end
|
||||
for w in str:gmatch(sep or "[^ \t]+") do
|
||||
table.insert(words, w)
|
||||
end
|
||||
return words
|
||||
end
|
||||
|
||||
local function empty(l)
|
||||
l = l:gsub("[ \t]+", "")
|
||||
return l == ""
|
||||
end
|
||||
|
||||
function mrd:gramtab(path)
|
||||
local f, e = io.open(path or 'rgramtab.tab', 'rb')
|
||||
if not f then
|
||||
return false, e
|
||||
end
|
||||
self.gram = {
|
||||
an = {}; -- by ancodes
|
||||
t = {}; -- by types
|
||||
}
|
||||
for l in f:lines() do
|
||||
if not l:find("^[ \t]*//") and not empty(l) then -- not comments
|
||||
local w = split(l)
|
||||
if #w < 3 then
|
||||
msg("Skipping gram: "..l)
|
||||
else
|
||||
local a = split(w[4], '[^,]+')
|
||||
local an = {}
|
||||
for _, v in ipairs(a) do
|
||||
an[v] = true
|
||||
end
|
||||
an.t = w[3] -- type
|
||||
self.gram.an[w[1]] = an;
|
||||
self.gram.t[w[3]] = an;
|
||||
end
|
||||
end
|
||||
end
|
||||
f:close()
|
||||
end
|
||||
|
||||
local function section(f, fn, ...)
|
||||
local n = f:read("*line")
|
||||
n = n and tonumber(n)
|
||||
if not n then
|
||||
return false
|
||||
end
|
||||
if n == 0 then
|
||||
return true
|
||||
end
|
||||
for l in f:lines() do -- skip accents
|
||||
if fn then fn(l, ...) end
|
||||
n = n - 1
|
||||
if n == 0 then
|
||||
break
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
local flex_filter
|
||||
|
||||
local function flex_fn(l, flex, an)
|
||||
l = l:gsub("//.*$", "")
|
||||
local fl = {}
|
||||
for w in l:gmatch("[^%%]+") do
|
||||
local ww = split(w, "[^%*]+")
|
||||
if #ww > 3 or #ww < 1 then
|
||||
msg("Skip lex: ", w, l);
|
||||
else
|
||||
local f = { }
|
||||
if #ww == 1 then
|
||||
f.an = ww[1]
|
||||
f.post = ''
|
||||
else
|
||||
f.post = ww[1]
|
||||
f.an = ww[2]
|
||||
end
|
||||
f.pre = ww[3] or ''
|
||||
local a = an[f.an]
|
||||
if not a then
|
||||
msg("Gram not found. Skip lex: "..f.an)
|
||||
else
|
||||
f.an_name = f.an
|
||||
f.an = a
|
||||
if flex_filter(f) then
|
||||
f.filter = true
|
||||
end
|
||||
table.insert(fl, f)
|
||||
end
|
||||
end
|
||||
end
|
||||
table.insert(flex, fl)
|
||||
end
|
||||
|
||||
local function pref_fn(l, pref)
|
||||
local p = split(l, "[^,]+")
|
||||
table.insert(pref, p)
|
||||
end
|
||||
|
||||
--[[
|
||||
local function dump(vv)
|
||||
local s = ''
|
||||
if type(vv) ~= 'table' then
|
||||
return string.format("%s", tostring(vv))
|
||||
end
|
||||
for k, v in pairs(vv) do
|
||||
s = s .. string.format("%s = %s ", k, v)
|
||||
end
|
||||
return s
|
||||
end
|
||||
|
||||
local function gram_dump(v)
|
||||
for _, f in ipairs(v.flex) do
|
||||
local tt = v.pref .. f.pre .. v.t .. f.post
|
||||
print("=== ", tt)
|
||||
for _, v in pairs(f.an) do
|
||||
print(_, v)
|
||||
end
|
||||
end
|
||||
end
|
||||
]]--
|
||||
local busy_cnt = 0
|
||||
|
||||
local function word_fn(l, self, dict)
|
||||
local norm = mrd.lang.norm
|
||||
local words = self.words
|
||||
local words_list = self.words_list
|
||||
local w = split(l)
|
||||
if #w ~= 6 then
|
||||
msg("Skipping word: "..l)
|
||||
return
|
||||
end
|
||||
if w[1] == '#' then w[1] = '' end
|
||||
local nflex = tonumber(w[2]) or false
|
||||
local an = w[5]
|
||||
if an == '-' then an = false end
|
||||
local an_name = an
|
||||
local npref = tonumber(w[6]) or false
|
||||
if not nflex then
|
||||
msg("Skipping word:"..l)
|
||||
return
|
||||
end
|
||||
nflex = self.flex[nflex + 1]
|
||||
if not nflex then
|
||||
msg("Wrong paradigm number for word: "..l)
|
||||
return
|
||||
end
|
||||
if an then
|
||||
an = self.gram.an[an]
|
||||
if not an then
|
||||
msg("Wrong ancode for word: "..l)
|
||||
return
|
||||
end
|
||||
end
|
||||
if npref then
|
||||
npref = self.pref[npref + 1]
|
||||
if not npref then
|
||||
msg("Wrong prefix for word: "..l)
|
||||
return
|
||||
end
|
||||
end
|
||||
local t = w[1]
|
||||
local num = 0
|
||||
local used = false
|
||||
for _, v in ipairs(nflex) do
|
||||
if v.filter then
|
||||
for _, pref in ipairs(npref or { '' }) do
|
||||
local tt = norm(pref .. v.pre .. t .. v.post)
|
||||
-- if tt == 'ЗАКРЕПЛЕН' then
|
||||
-- gram_dump { t = t, pref = pref, flex = nflex, an = v.an }
|
||||
-- end
|
||||
if not dict or dict[tt] then
|
||||
local a = {}
|
||||
for kk, _ in pairs(an or {}) do
|
||||
a[kk] = an[kk]
|
||||
end
|
||||
for kk, _ in pairs(v.an) do
|
||||
a[kk] = v.an[kk]
|
||||
end
|
||||
local wds = words[tt] or {}
|
||||
table.insert(wds,
|
||||
{ t = t, pref = pref, flex = nflex, an = a })
|
||||
nflex.used = true
|
||||
used = true
|
||||
if npref then
|
||||
npref.used = true
|
||||
end
|
||||
num = num + 1
|
||||
if #wds == 1 then
|
||||
words[tt] = wds
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if used then
|
||||
table.insert(words_list, { t = w[1], flex = nflex, pref = npref, an = an_name })
|
||||
end
|
||||
self.words_nr = self.words_nr + num
|
||||
busy_cnt = busy_cnt + 1
|
||||
if busy_cnt > 1000 then
|
||||
if std then std.busy(true) end
|
||||
busy_cnt = 0
|
||||
end
|
||||
return
|
||||
end
|
||||
|
||||
function mrd:load(path, dict)
|
||||
local f, e = io.open(path or 'morphs.mrd', 'rb')
|
||||
if not f then
|
||||
return false, e
|
||||
end
|
||||
local flex = {}
|
||||
flex_filter = mrd.lang.flex_filter
|
||||
if not section(f, flex_fn, flex, self.gram.an) then
|
||||
return false, "Error in section 1"
|
||||
end
|
||||
self.flex = flex
|
||||
if not section(f) then
|
||||
return false, "Error in section 2"
|
||||
end
|
||||
if not section(f) then
|
||||
return false, "Error in section 3"
|
||||
end
|
||||
local pref = {}
|
||||
if not section(f, pref_fn, pref) then
|
||||
return false, "Error in section 4"
|
||||
end
|
||||
self.pref = pref
|
||||
self.words_nr = 0
|
||||
self.words = {}
|
||||
self.words_list = {}
|
||||
-- collectgarbage("stop")
|
||||
if not section(f, word_fn, self, dict) then
|
||||
-- collectgarbage("restart")
|
||||
return false, "Error in section 4"
|
||||
end
|
||||
-- collectgarbage("restart")
|
||||
msg("Generated: "..tostring(self.words_nr).." word(s)");
|
||||
local crc = f:read("*line")
|
||||
if crc then crc = tonumber(crc) end
|
||||
f:close()
|
||||
if std then std.busy(false) end
|
||||
return true, crc
|
||||
end
|
||||
|
||||
function mrd:dump(path, crc)
|
||||
local f, e = io.open(path or 'dict.mrd', 'wb')
|
||||
if not f then
|
||||
return false, e
|
||||
end
|
||||
local n = 0
|
||||
for _, v in ipairs(self.flex) do
|
||||
if v.used then
|
||||
v.norm_no = n
|
||||
n = n + 1
|
||||
end
|
||||
end
|
||||
f:write(string.format("%d\n", n))
|
||||
for _, v in ipairs(self.flex) do
|
||||
if v.used then
|
||||
local s = ''
|
||||
for _, vv in ipairs(v) do
|
||||
s = s .. '%'
|
||||
if vv.post == '' then
|
||||
s = s..vv.an_name
|
||||
else
|
||||
s = s..vv.post..'*'..vv.an_name
|
||||
end
|
||||
if vv.pre ~= '' then
|
||||
s = s .. '*'..vv.pre
|
||||
end
|
||||
end
|
||||
f:write(s.."\n")
|
||||
end
|
||||
end
|
||||
f:write("0\n")
|
||||
f:write("0\n")
|
||||
n = 0
|
||||
for _, v in ipairs(self.pref) do
|
||||
if v.used then
|
||||
v.norm_no = n
|
||||
n = n + 1
|
||||
end
|
||||
end
|
||||
f:write(string.format("%d\n", n))
|
||||
for _, v in ipairs(self.pref) do
|
||||
if v.used then
|
||||
local s = ''
|
||||
for _, vv in ipairs(v) do
|
||||
if s ~= '' then s = s .. ',' end
|
||||
s = s .. vv
|
||||
end
|
||||
f:write(s.."\n")
|
||||
end
|
||||
end
|
||||
f:write(string.format("%d\n", #self.words_list))
|
||||
for _, v in ipairs(self.words_list) do
|
||||
local s
|
||||
if v.t == '' then
|
||||
s = '#'
|
||||
else
|
||||
s = v.t
|
||||
end
|
||||
s = s ..' '..tostring(v.flex.norm_no)
|
||||
s = s..' - -'
|
||||
if v.an then
|
||||
s = s .. ' '..v.an
|
||||
else
|
||||
s = s .. ' -'
|
||||
end
|
||||
if v.pref then
|
||||
s = s ..' '..tostring(v.pref.norm_no)
|
||||
else
|
||||
s = s .. ' -'
|
||||
end
|
||||
f:write(s..'\n')
|
||||
end
|
||||
if crc then
|
||||
f:write(string.format("%d\n", crc))
|
||||
end
|
||||
f:close()
|
||||
end
|
||||
|
||||
local function gram2an(g)
|
||||
local a = {}
|
||||
for _, v in ipairs(g) do
|
||||
if v:sub(1, 1) == '~' then
|
||||
a[v:sub(2)] = false
|
||||
else
|
||||
a[v] = true
|
||||
end
|
||||
end
|
||||
a.t = nil
|
||||
return a
|
||||
end
|
||||
|
||||
local lookup_cache = {
|
||||
hash = {};
|
||||
list = {};
|
||||
len = 512;
|
||||
}
|
||||
|
||||
local function hint_append(hint, h)
|
||||
if h == "" or not h then return hint end
|
||||
if hint == "" or not hint then return h end
|
||||
return hint .. ',' .. h
|
||||
end
|
||||
|
||||
function mrd:lookup(w, g)
|
||||
local key = ""
|
||||
for _, v in ipairs(g or {}) do
|
||||
key = hint_append(key, v)
|
||||
end
|
||||
key = w .. '/'..key
|
||||
local cc = lookup_cache.hash[key]
|
||||
if cc then
|
||||
return cc.w, cc.g
|
||||
end
|
||||
w, g = self:__lookup(w, g)
|
||||
cache_add(lookup_cache, key, { w = w, g = g })
|
||||
return w, g
|
||||
end
|
||||
|
||||
function mrd:__lookup(w, g)
|
||||
local ow = w
|
||||
local cap, upper = self.lang.is_cap(w)
|
||||
local tt = self.lang.upper(self.lang.norm(w))
|
||||
w = self.words[tt]
|
||||
if not w then
|
||||
return false, "No word in dictionary"
|
||||
end
|
||||
local res = {}
|
||||
|
||||
local gram_compat = self.lang.gram_compat
|
||||
local gram_score = self.lang.gram_score
|
||||
|
||||
for _, v in ipairs(w) do
|
||||
local flex = v.flex
|
||||
local score = gram_score(v.an, g)
|
||||
local t = v.an.t
|
||||
for _, f in ipairs(flex) do
|
||||
if gram_compat(v.an, f.an, gram2an(g)) then
|
||||
local sc = gram_score(f.an, g)
|
||||
if sc >= 0 then
|
||||
if t ~= f.an.t then sc = sc - 1 end -- todo
|
||||
--[[
|
||||
local tt = v.pref .. f.pre .. v.t .. f.post
|
||||
if tt == 'ЛЕВЫЙ' or tt == 'ЛЕВОГО' or tt == 'ШЛЕМОМ' then
|
||||
print ("======looking for:", g.noun)
|
||||
for _, v in pairs(g) do
|
||||
print(_, v)
|
||||
end
|
||||
print ("======looking got:", score + sc, sc)
|
||||
print(tt, v.t, score + sc)
|
||||
for _, v in pairs(f.an) do
|
||||
print(_, v)
|
||||
end
|
||||
end
|
||||
]]--
|
||||
table.insert(res, { score = score + sc, pos = #res, word = v, flex = f })
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if #res == 0 then
|
||||
return ow, gram2an(g) -- false, "No gram"
|
||||
end
|
||||
table.sort(res, function(a, b)
|
||||
if a.score == b.score then
|
||||
return a.pos < b.pos
|
||||
end
|
||||
return a.score > b.score
|
||||
end)
|
||||
|
||||
--[[
|
||||
for i = 1, #res do
|
||||
local w = res[i]
|
||||
local tt = self.lang.lower(w.word.pref .. w.flex.pre .. w.word.t .. w.flex.post)
|
||||
print(i, "res: ", tt, w.score)
|
||||
if tt == 'красный' or tt == 'красного' then
|
||||
for _, v in pairs(w.flex.an) do
|
||||
print(_, v)
|
||||
end
|
||||
end
|
||||
-- print(tt, w.score)
|
||||
end
|
||||
]]--
|
||||
w = res[1]
|
||||
local gram = {}
|
||||
for k, v in pairs(w.flex.an) do
|
||||
gram[k] = v
|
||||
end
|
||||
|
||||
for k, v in pairs(w.word.an) do
|
||||
gram[k] = v
|
||||
end
|
||||
|
||||
w = self.lang.lower(w.word.pref .. w.flex.pre .. w.word.t .. w.flex.post)
|
||||
if upper then
|
||||
w = self.lang.upper(w)
|
||||
elseif cap then
|
||||
w = self.lang.cap(w)
|
||||
end
|
||||
|
||||
return w, gram
|
||||
end
|
||||
local word_match = "[^ \t,%-!/:%+&]+"
|
||||
local missed_words = {}
|
||||
|
||||
local word_cache = { list = {}, hash = {} }
|
||||
|
||||
function mrd:word(w, ob)
|
||||
local cache = word_cache
|
||||
if ob then
|
||||
if not ob.__word_cache then
|
||||
std.rawset(ob, '__word_cache', {
|
||||
list = {},
|
||||
hash = {},
|
||||
len = 32,
|
||||
})
|
||||
end
|
||||
cache = ob.__word_cache
|
||||
end
|
||||
local key = w
|
||||
local c = cache.hash[key]
|
||||
if c then
|
||||
return std.clone(c[1]), std.clone(c[2])
|
||||
end
|
||||
local ow = w
|
||||
local s, _ = w:find("/[^/]*$")
|
||||
local g = {}
|
||||
local grams = {}
|
||||
local hints = ''
|
||||
if s then
|
||||
hints = w:sub(s + 1)
|
||||
w = w:sub(1, s - 1)
|
||||
g = split(hints, "[^, ]+")
|
||||
end
|
||||
local found = true
|
||||
local noun = false
|
||||
local lang = self.lang
|
||||
w = w:gsub(word_match,
|
||||
function(t)
|
||||
if noun then return t end
|
||||
local ww, gg
|
||||
if ob then
|
||||
ww, gg = self:dict(ob.__dict, t..'/'..hints)
|
||||
end
|
||||
if not ww then
|
||||
ww, gg = self:dict(game.__dict, t..'/'..hints)
|
||||
end
|
||||
if not ww then
|
||||
ww, gg = self:dict(self.__dict, t..'/'..hints)
|
||||
end
|
||||
noun = gg and gg[lang.gram_t.noun]
|
||||
if not ww then
|
||||
ww, gg = self:lookup(t, g)
|
||||
noun = gg and gg.t == lang.gram_t.noun
|
||||
end
|
||||
if gg and (gg[lang.gram_t.proper] or gg[lang.gram_t.surname]) then
|
||||
noun = false
|
||||
end
|
||||
if not ww then
|
||||
found = false
|
||||
else
|
||||
table.insert(grams, gg)
|
||||
end
|
||||
return ww or t
|
||||
end)
|
||||
if not found then
|
||||
if DEBUG and not tonumber(w) and not missed_words[w] then
|
||||
missed_words[w] = true
|
||||
debug("Can not find word: '"..ow.."'")
|
||||
end
|
||||
end
|
||||
cache_add(cache, key, { w, grams })
|
||||
return w, grams
|
||||
end
|
||||
|
||||
function mrd:file(f, dict)
|
||||
dict = dict or {}
|
||||
local ff, e = io.open(f, "rb")
|
||||
if not ff then
|
||||
return false, e
|
||||
end
|
||||
debug("Added file: ", f)
|
||||
for l in ff:lines() do
|
||||
for w in l:gmatch('%-"[^"]+"') do
|
||||
w = w:gsub('^%-"', ""):gsub('"$', "")
|
||||
local words = split(w, '[^|]+')
|
||||
for _, word in ipairs(words) do
|
||||
word = word:gsub("/[^/]*$", "")
|
||||
for ww in word:gmatch(word_match) do
|
||||
local t = self.lang.upper(self.lang.norm(ww))
|
||||
if not dict[t] and not t:find("%*$") then
|
||||
dict[t] = true;
|
||||
debug("mrd: Added word: ", ww)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
ff:close()
|
||||
return dict
|
||||
end
|
||||
|
||||
local function str_hint(str)
|
||||
-- str = str:gsub("^%+", "")
|
||||
local s, _ = str:find("/[^/]*$")
|
||||
if not s then
|
||||
return str, ""
|
||||
end
|
||||
if s == 1 then
|
||||
return "", str:sub(2)
|
||||
end
|
||||
return str:sub(1, s - 1), str:sub(s + 1)
|
||||
end
|
||||
|
||||
local function str_strip(str)
|
||||
return std.strip(str)
|
||||
end
|
||||
|
||||
local function str_split(str, delim)
|
||||
local a = std.split(str, delim)
|
||||
for k, _ in ipairs(a) do
|
||||
a[k] = str_strip(a[k])
|
||||
end
|
||||
return a
|
||||
end
|
||||
|
||||
function mrd:dict(dict, word)
|
||||
if not dict then return end
|
||||
local tab = {}
|
||||
local w, hints = str_hint(word)
|
||||
hints = str_split(hints, ",")
|
||||
local tt = dict[w]
|
||||
|
||||
if not tt then
|
||||
return
|
||||
end
|
||||
|
||||
for _, v in ipairs(tt) do
|
||||
local whints = {}
|
||||
local w, h = str_hint(v)
|
||||
local hh = str_split(h, ",")
|
||||
for _, vv in ipairs(hh) do
|
||||
whints[vv] = true
|
||||
end
|
||||
local t = { w, score = 0, pos = #tab, w = w }
|
||||
for _, hv in ipairs(hints) do
|
||||
if hv:sub(1, 1) ~= '~' then
|
||||
if whints[hv] then
|
||||
t.score = t.score + 1
|
||||
end
|
||||
else
|
||||
if whints[str_strip(hv:sub(2))] then
|
||||
t.score = t.score - 1
|
||||
end
|
||||
end
|
||||
end
|
||||
t.hints = str_split(hint_append(tt.hints, h), ",")
|
||||
if mrd.lang.gram_t.nom and whints[mrd.lang.gram_t.nom] then
|
||||
t.score = t.score + 0.5
|
||||
end
|
||||
table.insert(tab, t)
|
||||
end
|
||||
if #tab == 0 then
|
||||
return
|
||||
end
|
||||
table.sort(tab,
|
||||
function(a, b)
|
||||
if a.score == b.score then
|
||||
return a.pos < b.pos
|
||||
end
|
||||
return a.score > b.score
|
||||
end)
|
||||
if tab[1].score > 0 then
|
||||
return tab[1].w, gram2an(tab[1].hints)
|
||||
end
|
||||
end
|
||||
|
||||
function mrd.dispof(w)
|
||||
if w.raw_word ~= nil then
|
||||
local d = std.call(w, 'raw_word')
|
||||
return d, true
|
||||
end
|
||||
if w.word ~= nil then
|
||||
local d = std.call(w, 'word')
|
||||
return d
|
||||
end
|
||||
return std.titleof(w) or std.nameof(w)
|
||||
end
|
||||
|
||||
local obj_cache = { hash = {}, list = {}, len = 128 }
|
||||
|
||||
function mrd:obj(w, n, nn)
|
||||
local hint = ''
|
||||
local hint2, disp, ob, raw
|
||||
if type(w) == 'string' then
|
||||
w, hint = str_hint(w)
|
||||
elseif type(n) == 'string' then
|
||||
hint = n
|
||||
n = nn
|
||||
end
|
||||
if type(w) ~= 'string' then
|
||||
-- w = std.object(w)
|
||||
ob = w
|
||||
disp, raw = self.dispof(w)
|
||||
else
|
||||
disp = w
|
||||
end
|
||||
local d = obj_cache.hash[disp]
|
||||
if not d then
|
||||
d = str_split(disp, '|')
|
||||
if #d == 0 then
|
||||
std.err("Wrong object display: ".. (disp or 'nil'), 2)
|
||||
end
|
||||
-- normalize
|
||||
local nd = {}
|
||||
for k, v in ipairs(d) do
|
||||
w, hint2 = str_hint(v)
|
||||
local dd = raw and { w } or str_split(w, ',')
|
||||
for _, vv in ipairs(dd) do
|
||||
table.insert(nd, { word = vv, hint = hint2 or '', alias = k, idx = _ })
|
||||
-- for w in vv:gmatch("[^ ]+") do
|
||||
-- table.insert(nd, { word = w, hint = hint2 or '', alias = k, idx = _ })
|
||||
-- end
|
||||
end
|
||||
end
|
||||
d = nd
|
||||
cache_add(obj_cache, disp, d)
|
||||
end
|
||||
if type(n) == 'table' then
|
||||
local ret = n
|
||||
for _, v in ipairs(d) do
|
||||
table.insert(ret, { word = v.word, hint = hint_append(hint, v.hint), alias = v.alias, idx = v.idx });
|
||||
end
|
||||
return ob, ret
|
||||
end
|
||||
n = n or (ob and ob.__word_alias) or 1
|
||||
for k, v in ipairs(d) do
|
||||
if v.alias == n then
|
||||
n = k
|
||||
break
|
||||
end
|
||||
end
|
||||
if not d[n] then n = 1 end
|
||||
w = d[n].word
|
||||
hint2 = d[n].hint
|
||||
return ob, w, hint_append(hint, hint2)
|
||||
end
|
||||
|
||||
local function noun_append(rc, tab, w)
|
||||
-- w = mrd.lang.norm(w)
|
||||
if tab then
|
||||
table.insert(tab, w)
|
||||
else
|
||||
if rc ~= '' then rc = rc .. '|' end
|
||||
rc = rc .. w
|
||||
end
|
||||
return rc
|
||||
end
|
||||
|
||||
function mrd:noun_hint(ob, n)
|
||||
if not ob then
|
||||
return ''
|
||||
end
|
||||
if not ob.__hint_cache then
|
||||
std.rawset(ob, '__hint_cache', {
|
||||
list = {},
|
||||
hash = {},
|
||||
len = 16,
|
||||
})
|
||||
end
|
||||
local key = n or ob.__word_alias or 1
|
||||
local c
|
||||
if type(ob.word) == 'string' then -- do not use caching if function
|
||||
c = ob.__hint_cache.hash[key]
|
||||
end
|
||||
if c then
|
||||
return c
|
||||
end
|
||||
local g = ob and ob:gram('noun', n) or {}
|
||||
local hint = ''
|
||||
local lang = self.lang
|
||||
for _, v in ipairs { lang.gram_t.male, lang.gram_t.female,
|
||||
lang.gram_t.neuter, lang.gram_t.plural,
|
||||
lang.gram_t.live } do
|
||||
if g[v] then
|
||||
hint = hint_append(hint, v)
|
||||
end
|
||||
end
|
||||
if not g[self.lang.gram_t.live] then
|
||||
hint = hint_append(hint, lang.gram_t.nonlive)
|
||||
end
|
||||
if ob then
|
||||
hint = hint_append(hint, "noun")
|
||||
end
|
||||
cache_add(ob.__hint_cache, key, hint)
|
||||
return hint
|
||||
end
|
||||
|
||||
function mrd:noun(w, n, nn)
|
||||
local hint, ob
|
||||
local rc = ''
|
||||
local tab = false
|
||||
ob, w, hint = self:obj(w, n, nn)
|
||||
if type(w) ~= 'table' then
|
||||
local alias = nn
|
||||
if type(alias) ~= 'number' then alias = n end
|
||||
if type(alias) ~= 'number' then alias = nil end
|
||||
w = {{ word = w, hint = hint, alias = alias }}
|
||||
else
|
||||
tab = {}
|
||||
end
|
||||
for _, v in ipairs(w) do
|
||||
local hint2 = self:noun_hint(ob, v.alias)
|
||||
local m = self:word(v.word .. '/'.. hint_append(v.hint, hint2), ob)
|
||||
rc = noun_append(rc, tab, m)
|
||||
end
|
||||
return tab and tab or rc
|
||||
end
|
||||
|
||||
local function str_hash(str)
|
||||
local sum = 0
|
||||
for i = 1, str:len() do
|
||||
sum = sum + string.byte(str, i)
|
||||
end
|
||||
return sum
|
||||
end
|
||||
|
||||
function mrd:init(l)
|
||||
self.lang = l
|
||||
if type(l.dict) == 'table' then
|
||||
std.obj.dict(self, l.dict)
|
||||
end
|
||||
if self:gramtab(curdir .. "rgramtab.tab") == false then
|
||||
msg("Error while opening gramtab.")
|
||||
return
|
||||
end
|
||||
local _, crc = self:load(mrd.dict_file)
|
||||
self:create(mrd.dict_file, crc) -- create or update
|
||||
end
|
||||
|
||||
function mrd:create(fname, crc)
|
||||
local dict = {}
|
||||
if not std.readdir then
|
||||
return
|
||||
end
|
||||
for _, d in ipairs(self.dirs) do
|
||||
if d == '' then d = instead.gamepath() end
|
||||
local list = {}
|
||||
for f in std.readdir(d) do
|
||||
if f:find("%.lua$") or f:find("%.LUA$") then
|
||||
table.insert(list, f)
|
||||
end
|
||||
end
|
||||
table.sort(list)
|
||||
for _, f in ipairs(list) do
|
||||
local path = d .. "/" .. f
|
||||
mrd:file(path, dict)
|
||||
end
|
||||
end
|
||||
local sum = 0
|
||||
for w, _ in pairs(dict) do
|
||||
sum = sum + str_hash(w)
|
||||
sum = sum % 4294967291;
|
||||
end
|
||||
if crc ~= sum then
|
||||
msg("Generating dict.mrd with sum: ", sum)
|
||||
if mrd:load(curdir .. "morphs.mrd", dict) then
|
||||
mrd:dump(fname or 'dict.mrd', sum)
|
||||
else
|
||||
msg("Can not find morph/morphs.mrd")
|
||||
end
|
||||
else
|
||||
msg("Using dict.mrd")
|
||||
end
|
||||
end
|
||||
if std then
|
||||
std.obj.noun = function(self, ...)
|
||||
return mrd:noun(self, ...)
|
||||
end
|
||||
|
||||
std.obj.Noun = function(self, ...)
|
||||
return mrd.lang.cap(mrd:noun(self, ...))
|
||||
end
|
||||
|
||||
std.obj.gram = function(self, ...)
|
||||
local hint, w, gram, _
|
||||
_, w, hint = mrd:obj(self, ...)
|
||||
_, gram = mrd:word(w .. '/'..hint)
|
||||
local thint = ''
|
||||
local t = mrd.lang.gram_t.noun
|
||||
hint = str_split(hint, ",")
|
||||
local g = gram and gram[1] or {}
|
||||
for _, v in ipairs(gram or {}) do
|
||||
if v.t == t or v[t] then
|
||||
g = v
|
||||
break
|
||||
end
|
||||
end
|
||||
local gg = std.clone(g)
|
||||
for _, v in ipairs(hint) do
|
||||
gg[v] = true
|
||||
end
|
||||
for k, v in pairs(gg) do
|
||||
if v then
|
||||
thint = hint_append(thint, k)
|
||||
end
|
||||
end
|
||||
gg.hint = thint
|
||||
return gg
|
||||
end
|
||||
|
||||
std.obj.dict = function(self, t)
|
||||
local idx = std.rawget(self, '__dict') or {}
|
||||
for word, v in pairs(t) do
|
||||
local w, hints = str_hint(word)
|
||||
if type(v) == 'table' then
|
||||
idx[w] = v
|
||||
v.hints = hints or ""
|
||||
else
|
||||
if not idx[w] then
|
||||
idx[w] = { hints = "", }
|
||||
end
|
||||
table.insert(idx[w], v .. '/' .. hints)
|
||||
end
|
||||
end
|
||||
std.rawset(self, '__dict', idx)
|
||||
return self
|
||||
end
|
||||
|
||||
local onew = std.obj.new
|
||||
std.obj.new = function(self, v)
|
||||
if type(v[1]) == 'string' or type(v[1]) == 'function' then
|
||||
v.word = v[1]
|
||||
table.remove(v, 1)
|
||||
end
|
||||
return onew(self, v)
|
||||
end
|
||||
end
|
||||
local mt = getmetatable("")
|
||||
function mt.__unm(v)
|
||||
return v
|
||||
end
|
||||
|
||||
return mrd
|
||||
--mrd:gramtab()
|
||||
--mrd.lang = require "lang-ru"
|
||||
--mrd:load(false, { [mrd.lang.upper "подосиновики"] = true, [mrd.lang.upper "красные"] = true })
|
||||
--local w = mrd:word(-"красные подосиновики/рд")
|
||||
--print(w)
|
||||
--mrd:file("mrd.lua")
|
878
morph/rgramtab.tab
Normal file
878
morph/rgramtab.tab
Normal file
|
@ -0,0 +1,878 @@
|
|||
// ====== СУЩЕСТВИТЕЛЬНЫЕ ========
|
||||
|
||||
// существительные мужского рода
|
||||
аа A С мр,ед,им
|
||||
аб A С мр,ед,рд
|
||||
Эф A С мр,ед,рд,2
|
||||
ав A С мр,ед,дт
|
||||
аг A С мр,ед,вн
|
||||
ад A С мр,ед,тв
|
||||
ае A С мр,ед,пр
|
||||
Эх A С мр,ед,пр,2
|
||||
ас A С мр,ед,зв,
|
||||
аж A С мр,мн,им
|
||||
аз A С мр,мн,рд
|
||||
аи A С мр,мн,дт
|
||||
ай A С мр,мн,вн
|
||||
ак A С мр,мн,тв
|
||||
ал A С мр,мн,пр
|
||||
ам B С мр,0
|
||||
ан B С мр,ед,0
|
||||
|
||||
// ============= разговорный ================
|
||||
Юо A С мр,ед,им,разг
|
||||
Юп A С мр,ед,рд,разг
|
||||
Юр A С мр,ед,дт,разг
|
||||
Юс A С мр,ед,вн,разг
|
||||
Ют A С мр,ед,тв,разг
|
||||
Юф A С мр,ед,пр,разг
|
||||
Юх A С мр,ед,зв,разг
|
||||
Яб A С мр,мн,им,разг
|
||||
Яа A С мр,мн,рд,разг
|
||||
Яв A С мр,мн,дт,разг
|
||||
Яг A С мр,мн,вн,разг
|
||||
Яд A С мр,мн,тв,разг
|
||||
Яж A С мр,мн,пр,разг
|
||||
|
||||
|
||||
// ============= архаизм ================
|
||||
го A С мр,ед,им,арх
|
||||
гп A С мр,ед,рд,арх
|
||||
гр A С мр,ед,дт,арх
|
||||
гс A С мр,ед,вн,арх
|
||||
гт A С мр,ед,тв,арх
|
||||
гу A С мр,ед,пр,арх
|
||||
гф A С мр,мн,им,арх
|
||||
гх A С мр,мн,рд,арх
|
||||
гц A С мр,мн,дт,арх
|
||||
гч A С мр,мн,вн,арх
|
||||
гш A С мр,мн,тв,арх
|
||||
гщ A С мр,мн,пр,арх
|
||||
|
||||
|
||||
// существительные мужского-женского рода
|
||||
|
||||
ва E С мр-жр,ед,им
|
||||
вб E С мр-жр,ед,рд
|
||||
вв E С мр-жр,ед,дт
|
||||
вг E С мр-жр,ед,вн
|
||||
вд E С мр-жр,ед,тв
|
||||
ве E С мр-жр,ед,пр
|
||||
вж E С мр-жр,мн,им
|
||||
вз E С мр-жр,мн,рд
|
||||
ви E С мр-жр,мн,дт
|
||||
вй E С мр-жр,мн,вн
|
||||
вк E С мр-жр,мн,тв
|
||||
вл E С мр-жр,мн,пр
|
||||
вм F С мр-жр,0
|
||||
вн F С мр-жр,ед,0
|
||||
|
||||
|
||||
// существительные мужского-женского рода (архаизм)
|
||||
во E С арх,мр-жр,ед,им
|
||||
вп E С арх,мр-жр,ед,рд
|
||||
вр E С арх,мр-жр,ед,дт
|
||||
вс E С арх,мр-жр,ед,вн
|
||||
вт E С арх,мр-жр,ед,тв
|
||||
ву E С арх,мр-жр,ед,пр
|
||||
вф E С арх,мр-жр,мн,им
|
||||
вх E С арх,мр-жр,мн,рд
|
||||
вц E С арх,мр-жр,мн,дт
|
||||
вч E С арх,мр-жр,мн,вн
|
||||
вш E С арх,мр-жр,мн,тв
|
||||
вщ E С арх,мр-жр,мн,пр
|
||||
|
||||
// существительные женского рода
|
||||
га G С жр,ед,им
|
||||
гб G С жр,ед,рд
|
||||
гв G С жр,ед,дт
|
||||
гг G С жр,ед,вн
|
||||
гд G С жр,ед,тв
|
||||
ге G С жр,ед,пр
|
||||
Эч G С жр,ед,пр,2
|
||||
Йш G С жр,ед,зв
|
||||
гж G С жр,мн,им
|
||||
гз G С жр,мн,рд
|
||||
ги G С жр,мн,дт
|
||||
гй G С жр,мн,вн
|
||||
гк G С жр,мн,тв
|
||||
гл G С жр,мн,пр
|
||||
гм H С жр,0
|
||||
гн H С жр,ед,0
|
||||
|
||||
// существительные женского (архаизм)
|
||||
Йа G С арх,жр,ед,им
|
||||
Йб G С арх,жр,ед,рд
|
||||
Йв G С арх,жр,ед,дт
|
||||
Йг G С арх,жр,ед,вн
|
||||
Йд G С арх,жр,ед,тв
|
||||
Йе G С арх,жр,ед,пр
|
||||
Йж G С арх,жр,мн,им
|
||||
Йз G С арх,жр,мн,рд
|
||||
Йи G С арх,жр,мн,дт
|
||||
Йй G С арх,жр,мн,вн
|
||||
Йк G С арх,жр,мн,тв
|
||||
Йл G С арх,жр,мн,пр
|
||||
|
||||
|
||||
// существительные женского (разговорный)
|
||||
Йм G С разг,жр,ед,им
|
||||
Йн G С разг,жр,ед,рд
|
||||
Йо G С разг,жр,ед,дт
|
||||
Йп G С разг,жр,ед,вн
|
||||
Йр G С разг,жр,ед,тв
|
||||
Йс G С разг,жр,ед,пр
|
||||
Йт G С разг,жр,мн,им
|
||||
Йу G С разг,жр,мн,рд
|
||||
Йф G С разг,жр,мн,дт
|
||||
Йх G С разг,жр,мн,вн
|
||||
Йц G С разг,жр,мн,тв
|
||||
Йч G С разг,жр,мн,пр
|
||||
|
||||
|
||||
|
||||
// существительные среднего рода
|
||||
|
||||
еа K С ср,ед,им
|
||||
еб K С ср,ед,рд
|
||||
ев K С ср,ед,дт
|
||||
ег K С ср,ед,вн
|
||||
ед K С ср,ед,тв
|
||||
ее K С ср,ед,пр
|
||||
еж K С ср,мн,им
|
||||
ез K С ср,мн,рд
|
||||
еи K С ср,мн,дт
|
||||
ей K С ср,мн,вн
|
||||
ек K С ср,мн,тв
|
||||
ел K С ср,мн,пр
|
||||
ем L С ср,0
|
||||
ен L С ср,ед,0
|
||||
|
||||
// им. Ленина
|
||||
Эя K С ср,ед,рд,аббр
|
||||
|
||||
// существительные среднего рода (разговорный)
|
||||
Яз K С разг,ср,ед,им
|
||||
Яи K С разг,ср,ед,рд
|
||||
Як K С разг,ср,ед,дт
|
||||
Ял K С разг,ср,ед,вн
|
||||
Ям K С разг,ср,ед,тв
|
||||
Ян K С разг,ср,ед,пр
|
||||
Яо K С разг,ср,мн,им
|
||||
Яп K С разг,ср,мн,рд
|
||||
Яр K С разг,ср,мн,дт
|
||||
Яс K С разг,ср,мн,вн
|
||||
Ят K С разг,ср,мн,тв
|
||||
Яу K С разг,ср,мн,пр
|
||||
|
||||
// pluralia tantum
|
||||
иж Q С мн,мн,им
|
||||
из Q С мн,мн,рд
|
||||
ии Q С мн,мн,дт
|
||||
ий Q С мн,мн,вн
|
||||
ик Q С мн,мн,тв
|
||||
ил Q С мн,мн,пр
|
||||
им R С мн,0
|
||||
|
||||
// аббревиатуры
|
||||
ао B С мр,аббр,0,
|
||||
ап B С мр,ед,аббр,0
|
||||
ат H С жр,аббр,0
|
||||
ау H С жр,ед,аббр,0
|
||||
ац H С ср,аббр,0
|
||||
ач H С ср,ед,аббр,0
|
||||
аъ R С мн,аббр,0
|
||||
|
||||
// имена
|
||||
|
||||
бо C С мр,имя,ед,им
|
||||
бп C С мр,имя,ед,рд
|
||||
бр C С мр,имя,ед,дт
|
||||
бс C С мр,имя,ед,вн
|
||||
бт C С мр,имя,ед,тв
|
||||
бу C С мр,имя,ед,пр
|
||||
бь C С мр,имя,ед,зв,разг
|
||||
бф C С мр,имя,мн,им
|
||||
бх C С мр,имя,мн,рд
|
||||
бц C С мр,имя,мн,дт
|
||||
бч C С мр,имя,мн,вн
|
||||
бш C С мр,имя,мн,тв
|
||||
бщ C С мр,имя,мн,пр
|
||||
|
||||
бН I С мр,имя,0
|
||||
|
||||
|
||||
вН E С мр-жр,имя,0
|
||||
вО E С мр-жр,имя,ед,им
|
||||
вП E С мр-жр,имя,ед,рд
|
||||
вР E С мр-жр,имя,ед,дт
|
||||
вС E С мр-жр,имя,ед,вн
|
||||
вТ E С мр-жр,имя,ед,тв
|
||||
вУ E С мр-жр,имя,ед,пр
|
||||
вЬ E С мр-жр,имя,ед,зв,разг
|
||||
вФ E С мр-жр,имя,мн,им
|
||||
вХ E С мр-жр,имя,мн,рд
|
||||
вЦ E С мр-жр,имя,мн,дт
|
||||
вЧ E С мр-жр,имя,мн,вн
|
||||
вШ E С мр-жр,имя,мн,тв
|
||||
вЩ E С мр-жр,имя,мн,пр
|
||||
|
||||
|
||||
до I С жр,имя,ед,им
|
||||
дп I С жр,имя,ед,рд
|
||||
др I С жр,имя,ед,дт
|
||||
дс I С жр,имя,ед,вн
|
||||
дт I С жр,имя,ед,тв
|
||||
ду I С жр,имя,ед,пр
|
||||
дь I С жр,имя,ед,зв,разг
|
||||
дф I С жр,имя,мн,им
|
||||
дх I С жр,имя,мн,рд
|
||||
дц I С жр,имя,мн,дт
|
||||
дч I С жр,имя,мн,вн
|
||||
дш I С жр,имя,мн,тв
|
||||
дщ I С жр,имя,мн,пр
|
||||
|
||||
|
||||
дН I С жр,имя,0
|
||||
|
||||
|
||||
|
||||
// мужские отчества
|
||||
|
||||
Ра Q С мр,отч,ед,им,
|
||||
Рб Q С мр,отч,ед,рд,
|
||||
Рв Q С мр,отч,ед,дт,
|
||||
Рг Q С мр,отч,ед,вн,
|
||||
Рд Q С мр,отч,ед,тв,
|
||||
Ре Q С мр,отч,ед,пр,
|
||||
Рн Q С мр,отч,мн,им,
|
||||
Ро Q С мр,отч,мн,рд,
|
||||
Рп Q С мр,отч,мн,дт,
|
||||
Рр Q С мр,отч,мн,вн,
|
||||
Рс Q С мр,отч,мн,тв,
|
||||
Рт Q С мр,отч,мн,пр,
|
||||
|
||||
// женские отчества
|
||||
|
||||
Рж Q С жр,отч,ед,им,
|
||||
Рз Q С жр,отч,ед,рд,
|
||||
Ри Q С жр,отч,ед,дт,
|
||||
Рк Q С жр,отч,ед,вн,
|
||||
Рл Q С жр,отч,ед,тв,
|
||||
Рм Q С жр,отч,ед,пр,
|
||||
Ру Q С жр,отч,мн,им,
|
||||
Рф Q С жр,отч,мн,рд,
|
||||
Рх Q С жр,отч,мн,дт,
|
||||
Рц Q С жр,отч,мн,вн,
|
||||
Рч Q С жр,отч,мн,тв,
|
||||
Рш Q С жр,отч,мн,пр,
|
||||
|
||||
|
||||
|
||||
// мужские отчества (разг.)
|
||||
|
||||
Та Q С мр,отч,разг,ед,им,
|
||||
Тб Q С мр,отч,разг,ед,рд,
|
||||
Тв Q С мр,отч,разг,ед,дт,
|
||||
Тг Q С мр,отч,разг,ед,вн,
|
||||
Тд Q С мр,отч,разг,ед,тв,
|
||||
Те Q С мр,отч,разг,ед,пр,
|
||||
Тн Q С мр,отч,разг,мн,им,
|
||||
То Q С мр,отч,разг,мн,рд,
|
||||
Тп Q С мр,отч,разг,мн,дт,
|
||||
Тр Q С мр,отч,разг,мн,вн,
|
||||
Тс Q С мр,отч,разг,мн,тв,
|
||||
Тт Q С мр,отч,разг,мн,пр,
|
||||
|
||||
// женские отчества (разг.)
|
||||
|
||||
Тж Q С жр,отч,разг,ед,им,
|
||||
Тз Q С жр,отч,разг,ед,рд,
|
||||
Ти Q С жр,отч,разг,ед,дт,
|
||||
Тк Q С жр,отч,разг,ед,вн,
|
||||
Тл Q С жр,отч,разг,ед,тв,
|
||||
Тм Q С жр,отч,разг,ед,пр,
|
||||
Ту Q С жр,отч,разг,мн,им,
|
||||
Тф Q С жр,отч,разг,мн,рд,
|
||||
Тх Q С жр,отч,разг,мн,дт,
|
||||
Тц Q С жр,отч,разг,мн,вн,
|
||||
Тч Q С жр,отч,разг,мн,тв,
|
||||
Тш Q С жр,отч,разг,мн,пр,
|
||||
|
||||
|
||||
|
||||
// ====== ПРИЛАГАТЕЛЬНЫЕ ========
|
||||
|
||||
йа Y П мр,ед,им,од,но
|
||||
йб Y П мр,ед,рд,од,но
|
||||
йв Y П мр,ед,дт,од,но
|
||||
йг Y П мр,ед,вн,од
|
||||
Рщ Y П мр,ед,вн,но
|
||||
йд Y П мр,ед,тв,од,но
|
||||
йе Y П мр,ед,пр,од,но
|
||||
йж Y П жр,ед,им,од,но
|
||||
йз Y П жр,ед,рд,од,но
|
||||
йи Y П жр,ед,дт,од,но
|
||||
йй Y П жр,ед,вн,од,но
|
||||
йк Y П жр,ед,тв,од,но
|
||||
йл Y П жр,ед,пр,од,но
|
||||
йм Y П ср,ед,им,од,но
|
||||
йн Y П ср,ед,рд,од,но
|
||||
йо Y П ср,ед,дт,од,но
|
||||
йп Y П ср,ед,вн,од,но
|
||||
йр Y П ср,ед,тв,од,но
|
||||
йс Y П ср,ед,пр,од,но
|
||||
йт Y П мн,им,од,но
|
||||
йу Y П мн,рд,од,но
|
||||
йф Y П мн,дт,од,но
|
||||
йх Y П мн,вн,од
|
||||
Рь Y П мн,вн,но
|
||||
йц Y П мн,тв,од,но
|
||||
йч Y П мн,пр,од,но
|
||||
йш Y КР_ПРИЛ мр,ед,од,но
|
||||
йщ Y КР_ПРИЛ жр,ед,од,но
|
||||
йы Y КР_ПРИЛ ср,ед,од,но
|
||||
йэ Y КР_ПРИЛ мн,од,но
|
||||
йю Y П сравн,од,но
|
||||
йъ Y П сравн,2,од,но
|
||||
йь Y П сравн,од,но,разг
|
||||
йя Z П 0,од,но
|
||||
|
||||
//== превосходная степень прилагательного
|
||||
иа Y П прев,мр,ед,им,од,но
|
||||
иб Y П прев,мр,ед,рд,од,но
|
||||
ив Y П прев,мр,ед,дт,од,но
|
||||
иг Y П прев,мр,ед,вн,од
|
||||
ид Y П прев,мр,ед,вн,но
|
||||
ие Y П прев,мр,ед,тв,од,но
|
||||
Гб Y П прев,мр,ед,пр,од,но
|
||||
Гв Y П прев,жр,ед,им,од,но
|
||||
Гг Y П прев,жр,ед,рд,од,но
|
||||
Гд Y П прев,жр,ед,дт,од,но
|
||||
Ге Y П прев,жр,ед,вн,од,но
|
||||
Гж Y П прев,жр,ед,тв,од,но
|
||||
Гз Y П прев,жр,ед,пр,од,но
|
||||
ин Y П прев,ср,ед,им,од,но
|
||||
ио Y П прев,ср,ед,рд,од,но
|
||||
ип Y П прев,ср,ед,дт,од,но
|
||||
ир Y П прев,ср,ед,вн,од,но
|
||||
ис Y П прев,ср,ед,тв,од,но
|
||||
ит Y П прев,ср,ед,пр,од,но
|
||||
иу Y П прев,мн,им,од,но
|
||||
иф Y П прев,мн,рд,од,но
|
||||
их Y П прев,мн,дт,од,но
|
||||
иц Y П прев,мн,вн,од
|
||||
ич Y П прев,мн,вн,но
|
||||
иш Y П прев,мн,тв,од,но
|
||||
ищ Y П прев,мн,пр,од,но
|
||||
|
||||
|
||||
|
||||
|
||||
// ======== безличные глаголы ============
|
||||
// подуматься,светать
|
||||
нр a ИНФИНИТИВ безл
|
||||
// подумается
|
||||
нс a Г безл,буд
|
||||
// подумалось,светало
|
||||
нт a Г безл,прш
|
||||
// светает
|
||||
ну a Г безл,нст
|
||||
|
||||
|
||||
|
||||
ка a ИНФИНИТИВ дст
|
||||
|
||||
// ========================================
|
||||
// ======== личные формы глагола ============
|
||||
|
||||
кб a Г дст,нст,1л,ед
|
||||
кв a Г дст,нст,1л,мн
|
||||
кг a Г дст,нст,2л,ед
|
||||
кд a Г дст,нст,2л,мн
|
||||
ке a Г дст,нст,3л,ед
|
||||
кж a Г дст,нст,3л,мн
|
||||
кз a Г дст,прш,мр,ед
|
||||
ки a Г дст,прш,жр,ед
|
||||
кй a Г дст,прш,ср,ед
|
||||
кк a Г дст,прш,мн
|
||||
кп a Г дст,буд,1л,ед
|
||||
кр a Г дст,буд,1л,мн
|
||||
кс a Г дст,буд,2л,ед
|
||||
кт a Г дст,буд,2л,мн
|
||||
ку a Г дст,буд,3л,ед
|
||||
кф a Г дст,буд,3л,мн
|
||||
|
||||
|
||||
// разговорные формы: "ложу", "ложим","дышут", "ложут", "ложат", "дождуся"
|
||||
Ръ a Г дст,нст,1л,ед,разг
|
||||
Ры a Г дст,нст,1л,мн,разг
|
||||
Рэ a Г дст,нст,2л,ед,разг
|
||||
Рю a Г дст,нст,2л,мн,разг
|
||||
Ря a Г дст,нст,3л,ед,разг
|
||||
кю a Г дст,нст,3л,мн,разг
|
||||
кя a Г дст,прш,мн,разг
|
||||
|
||||
кэ a Г дст,буд,1л,ед,разг
|
||||
Эа a Г дст,буд,1л,мн,разг
|
||||
Эб a Г дст,буд,2л,ед,разг
|
||||
Эв a Г дст,буд,2л,мн,разг
|
||||
Эг a Г дст,буд,3л,ед,разг
|
||||
Эд a Г дст,буд,3л,мн,разг
|
||||
|
||||
|
||||
|
||||
// архаичные формы: "указует",
|
||||
Эе a Г дст,нст,1л,ед,арх
|
||||
Эж a Г дст,нст,1л,мн,арх
|
||||
Эз a Г дст,нст,2л,ед,арх
|
||||
Эи a Г дст,нст,2л,мн,арх
|
||||
Эй a Г дст,нст,3л,ед,арх
|
||||
Эк a Г дст,нст,3л,мн,арх
|
||||
Эл a Г дст,прш,мн,арх
|
||||
|
||||
Эм a Г дст,буд,1л,ед,арх
|
||||
Эн a Г дст,буд,1л,мн,арх
|
||||
Эо a Г дст,буд,2л,ед,арх
|
||||
Эп a Г дст,буд,2л,мн,арх
|
||||
Эр a Г дст,буд,3л,ед,арх
|
||||
Эс a Г дст,буд,3л,мн,арх
|
||||
|
||||
|
||||
// ===================================================
|
||||
// ============== ДЕЕПРИЧАСТИЕ ====================
|
||||
// ===================================================
|
||||
кн a ДЕЕПРИЧАСТИЕ дст,нст
|
||||
ко a ДЕЕПРИЧАСТИЕ дст,прш
|
||||
|
||||
// ===================================================
|
||||
// ============== ДЕЕПРИЧАСТИЕ (архаизм) ==========
|
||||
// ===================================================
|
||||
Эт a ДЕЕПРИЧАСТИЕ дст,нст,арх
|
||||
Эу a ДЕЕПРИЧАСТИЕ дст,прш,арх
|
||||
|
||||
//===================================================
|
||||
// ============== ИМПЕРАТИВ ====================
|
||||
// "не будем же забывать наших предков!"
|
||||
|
||||
нп a Г дст,пвл,1л,мн
|
||||
къ a Г дст,пвл,1л,ед
|
||||
кл a Г дст,пвл,2л,ед
|
||||
км a Г дст,пвл,2л,мн
|
||||
|
||||
|
||||
// "прощевайте"
|
||||
ль a Г дст,пвл,2л,ед,разг
|
||||
кь a Г дст,пвл,2л,мн,разг
|
||||
|
||||
// см.
|
||||
Эю a Г дст,пвл,2л,ед,аббр
|
||||
|
||||
// "изыди", "изыдите"
|
||||
фъ a Г дст,пвл,2л,ед,арх
|
||||
фю a Г дст,пвл,2л,мн,арх
|
||||
|
||||
|
||||
// действительное причастие настоящего времени
|
||||
ла a ПРИЧАСТИЕ од,но,нст,дст,ед,мр,им
|
||||
лб a ПРИЧАСТИЕ од,но,нст,дст,ед,мр,рд
|
||||
лв a ПРИЧАСТИЕ од,но,нст,дст,ед,мр,дт
|
||||
лг a ПРИЧАСТИЕ од,нст,дст,ед,мр,вн
|
||||
Ла a ПРИЧАСТИЕ но,нст,дст,ед,мр,вн
|
||||
лд a ПРИЧАСТИЕ од,но,нст,дст,ед,мр,тв
|
||||
ле a ПРИЧАСТИЕ од,но,нст,дст,ед,мр,пр
|
||||
лз a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,им
|
||||
ли a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,рд
|
||||
лй a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,дт
|
||||
лк a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,вн
|
||||
лл a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,тв
|
||||
лм a ПРИЧАСТИЕ од,но,нст,дст,ед,жр,пр
|
||||
ло a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,им
|
||||
лп a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,рд
|
||||
лр a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,дт
|
||||
лс a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,вн
|
||||
лт a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,тв
|
||||
лу a ПРИЧАСТИЕ од,но,нст,дст,ед,ср,пр
|
||||
лх a ПРИЧАСТИЕ од,но,нст,дст,мн,им
|
||||
лц a ПРИЧАСТИЕ од,но,нст,дст,мн,рд
|
||||
лч a ПРИЧАСТИЕ од,но,нст,дст,мн,дт
|
||||
лш a ПРИЧАСТИЕ од,нст,дст,мн,вн
|
||||
Лй a ПРИЧАСТИЕ но,нст,дст,мн,вн
|
||||
лщ a ПРИЧАСТИЕ од,но,нст,дст,мн,тв
|
||||
лы a ПРИЧАСТИЕ од,но,нст,дст,мн,пр
|
||||
|
||||
// действительное причастие прошедшего времени
|
||||
ма a ПРИЧАСТИЕ од,но,прш,дст,ед,мр,им
|
||||
мб a ПРИЧАСТИЕ од,но,прш,дст,ед,мр,рд
|
||||
мв a ПРИЧАСТИЕ од,но,прш,дст,ед,мр,дт
|
||||
мг a ПРИЧАСТИЕ од,прш,дст,ед,мр,вн
|
||||
Лб a ПРИЧАСТИЕ но,прш,дст,ед,мр,вн
|
||||
мд a ПРИЧАСТИЕ од,но,прш,дст,ед,мр,тв
|
||||
ме a ПРИЧАСТИЕ од,но,прш,дст,ед,мр,пр
|
||||
мз a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,им
|
||||
ми a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,рд
|
||||
мй a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,дт
|
||||
мк a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,вн
|
||||
мл a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,тв
|
||||
мм a ПРИЧАСТИЕ од,но,прш,дст,ед,жр,пр
|
||||
мо a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,им
|
||||
мп a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,рд
|
||||
мр a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,дт
|
||||
мс a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,вн
|
||||
мт a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,тв
|
||||
му a ПРИЧАСТИЕ од,но,прш,дст,ед,ср,пр
|
||||
мх a ПРИЧАСТИЕ од,но,прш,дст,мн,им
|
||||
мц a ПРИЧАСТИЕ од,но,прш,дст,мн,рд
|
||||
мч a ПРИЧАСТИЕ од,но,прш,дст,мн,дт
|
||||
мш a ПРИЧАСТИЕ од,прш,дст,мн,вн
|
||||
Лк a ПРИЧАСТИЕ но,прш,дст,мн,вн
|
||||
мщ a ПРИЧАСТИЕ од,но,прш,дст,мн,тв
|
||||
мы a ПРИЧАСТИЕ од,но,прш,дст,мн,пр
|
||||
|
||||
// страдательное причастие настоящего времени
|
||||
па b ПРИЧАСТИЕ од,но,нст,стр,ед,мр,им
|
||||
пб b ПРИЧАСТИЕ од,но,нст,стр,ед,мр,рд
|
||||
пв b ПРИЧАСТИЕ од,но,нст,стр,ед,мр,дт
|
||||
пг b ПРИЧАСТИЕ од,нст,стр,ед,мр,вн
|
||||
Лг b ПРИЧАСТИЕ но,нст,стр,ед,мр,вн
|
||||
пд b ПРИЧАСТИЕ од,но,нст,стр,ед,мр,тв
|
||||
пе b ПРИЧАСТИЕ од,но,нст,стр,ед,мр,пр
|
||||
пж b КР_ПРИЧАСТИЕ од,но,нст,стр,ед,мр
|
||||
пз b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,им
|
||||
пи b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,рд
|
||||
пй b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,дт
|
||||
пк b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,вн
|
||||
пл b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,тв
|
||||
пм b ПРИЧАСТИЕ од,но,нст,стр,ед,жр,пр
|
||||
пн b КР_ПРИЧАСТИЕ од,но,нст,стр,ед,жр
|
||||
по b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,им
|
||||
пп b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,рд
|
||||
пр b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,дт
|
||||
пс b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,вн
|
||||
пт b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,тв
|
||||
пу b ПРИЧАСТИЕ од,но,нст,стр,ед,ср,пр
|
||||
пф b КР_ПРИЧАСТИЕ од,но,нст,стр,ед,ср
|
||||
пх b ПРИЧАСТИЕ од,но,нст,стр,мн,им
|
||||
пц b ПРИЧАСТИЕ од,но,нст,стр,мн,рд
|
||||
пч b ПРИЧАСТИЕ од,но,нст,стр,мн,дт
|
||||
пш b ПРИЧАСТИЕ од,нст,стр,мн,вн
|
||||
Лм b ПРИЧАСТИЕ но,нст,стр,мн,вн
|
||||
пщ b ПРИЧАСТИЕ од,но,нст,стр,мн,тв
|
||||
пы b ПРИЧАСТИЕ од,но,нст,стр,мн,пр
|
||||
пэ b КР_ПРИЧАСТИЕ од,но,нст,стр,мн
|
||||
|
||||
// страдательное причастие прошедшего времени
|
||||
са b ПРИЧАСТИЕ од,но,прш,стр,ед,мр,им
|
||||
сб b ПРИЧАСТИЕ од,но,прш,стр,ед,мр,рд
|
||||
св b ПРИЧАСТИЕ од,но,прш,стр,ед,мр,дт
|
||||
сг b ПРИЧАСТИЕ од,прш,стр,ед,мр,вн
|
||||
Ле b ПРИЧАСТИЕ но,прш,стр,ед,мр,вн
|
||||
сд b ПРИЧАСТИЕ од,но,прш,стр,ед,мр,тв
|
||||
се b ПРИЧАСТИЕ од,но,прш,стр,ед,мр,пр
|
||||
сж b КР_ПРИЧАСТИЕ од,но,прш,стр,ед,мр
|
||||
сз b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,им
|
||||
си b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,рд
|
||||
сй b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,дт
|
||||
ск b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,вн
|
||||
сл b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,тв
|
||||
см b ПРИЧАСТИЕ од,но,прш,стр,ед,жр,пр
|
||||
сн b КР_ПРИЧАСТИЕ од,но,прш,стр,ед,жр
|
||||
со b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,им
|
||||
сп b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,рд
|
||||
ср b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,дт
|
||||
сс b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,вн
|
||||
ст b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,тв
|
||||
су b ПРИЧАСТИЕ од,но,прш,стр,ед,ср,пр
|
||||
сф b КР_ПРИЧАСТИЕ од,но,прш,стр,ед,ср
|
||||
сх b ПРИЧАСТИЕ од,но,прш,стр,мн,им
|
||||
сц b ПРИЧАСТИЕ од,но,прш,стр,мн,рд
|
||||
сч b ПРИЧАСТИЕ од,но,прш,стр,мн,дт
|
||||
сш b ПРИЧАСТИЕ од,прш,стр,мн,вн
|
||||
Ло b ПРИЧАСТИЕ но,прш,стр,мн,вн
|
||||
сщ b ПРИЧАСТИЕ од,но,прш,стр,мн,тв
|
||||
сы b ПРИЧАСТИЕ од,но,прш,стр,мн,пр
|
||||
сэ b КР_ПРИЧАСТИЕ од,но,прш,стр,мн
|
||||
|
||||
|
||||
ча e МС 1л,ед,им
|
||||
чб e МС 1л,ед,рд
|
||||
чв e МС 1л,ед,дт
|
||||
чг e МС 1л,ед,вн
|
||||
чд e МС 1л,ед,тв
|
||||
че e МС 1л,ед,пр
|
||||
чж e МС 1л,мн,им
|
||||
чз e МС 1л,мн,рд
|
||||
чи e МС 1л,мн,дт
|
||||
чй e МС 1л,мн,вн
|
||||
чк e МС 1л,мн,тв
|
||||
чл e МС 1л,мн,пр
|
||||
чм e МС 2л,ед,им
|
||||
чн e МС 2л,ед,рд
|
||||
чо e МС 2л,ед,дт
|
||||
чп e МС 2л,ед,вн
|
||||
чр e МС 2л,ед,тв
|
||||
чс e МС 2л,ед,пр
|
||||
чт e МС 2л,мн,им
|
||||
чу e МС 2л,мн,рд
|
||||
чф e МС 2л,мн,дт
|
||||
чх e МС 2л,мн,вн
|
||||
чц e МС 2л,мн,тв
|
||||
чч e МС 2л,мн,пр
|
||||
ша e МС 3л,мр,ед,им
|
||||
шб e МС 3л,мр,ед,рд
|
||||
шв e МС 3л,мр,ед,дт
|
||||
шг e МС 3л,мр,ед,вн
|
||||
шд e МС 3л,мр,ед,тв
|
||||
ше e МС 3л,мр,ед,пр
|
||||
шж e МС 3л,жр,ед,им
|
||||
шз e МС 3л,жр,ед,рд
|
||||
ши e МС 3л,жр,ед,дт
|
||||
шй e МС 3л,жр,ед,вн
|
||||
шк e МС 3л,жр,ед,тв
|
||||
шл e МС 3л,жр,ед,пр
|
||||
шм e МС 3л,ср,ед,им
|
||||
шн e МС 3л,ср,ед,рд
|
||||
шо e МС 3л,ср,ед,дт
|
||||
шп e МС 3л,ср,ед,вн
|
||||
шр e МС 3л,ср,ед,тв
|
||||
шс e МС 3л,ср,ед,пр
|
||||
шт e МС 3л,мн,им
|
||||
шу e МС 3л,мн,рд
|
||||
шф e МС 3л,мн,дт
|
||||
шх e МС 3л,мн,вн
|
||||
шц e МС 3л,мн,тв
|
||||
шч e МС 3л,мн,пр
|
||||
ща e МС мр,ед,им
|
||||
щб e МС мр,ед,рд
|
||||
щв e МС мр,ед,дт
|
||||
щг e МС мр,ед,вн
|
||||
щд e МС мр,ед,тв
|
||||
ще e МС мр,ед,пр
|
||||
щж e МС жр,ед,им
|
||||
щз e МС жр,ед,рд
|
||||
щи e МС жр,ед,дт
|
||||
щй e МС жр,ед,вн
|
||||
щк e МС жр,ед,тв
|
||||
щл e МС жр,ед,пр
|
||||
щм e МС ср,ед,им
|
||||
щн e МС ср,ед,рд
|
||||
що e МС ср,ед,дт
|
||||
щп e МС ср,ед,вн
|
||||
щр e МС ср,ед,тв
|
||||
щс e МС ср,ед,пр
|
||||
щт e МС мн,им
|
||||
щу e МС мн,рд
|
||||
щф e МС мн,дт
|
||||
щх e МС мн,вн
|
||||
щц e МС мн,тв
|
||||
щч e МС мн,пр
|
||||
щщ e МС рд
|
||||
щы e МС дт
|
||||
щэ e МС вн
|
||||
щю e МС тв
|
||||
щя e МС пр
|
||||
ыа f МС-П мр,ед,им,од,но
|
||||
ыб f МС-П мр,ед,рд,од,но
|
||||
ыв f МС-П мр,ед,дт,од,но
|
||||
ыг f МС-П мр,ед,вн,но
|
||||
Лф f МС-П мр,ед,вн,од
|
||||
ыд f МС-П мр,ед,тв,од,но
|
||||
ые f МС-П мр,ед,пр,од,но
|
||||
ыж f МС-П жр,ед,им,од,но
|
||||
ыз f МС-П жр,ед,рд,од,но
|
||||
ыи f МС-П жр,ед,дт,од,но
|
||||
ый f МС-П жр,ед,вн,од,но
|
||||
ык f МС-П жр,ед,тв,од,но
|
||||
ыл f МС-П жр,ед,пр,од,но
|
||||
ым f МС-П ср,ед,им,од,но
|
||||
ын f МС-П ср,ед,рд,од,но
|
||||
ыо f МС-П ср,ед,дт,од,но
|
||||
ып f МС-П ср,ед,вн,од,но
|
||||
ыр f МС-П ср,ед,тв,од,но
|
||||
ыс f МС-П ср,ед,пр,од,но
|
||||
ыт f МС-П мн,им,од,но
|
||||
ыу f МС-П мн,рд,од,но
|
||||
ыф f МС-П мн,дт,од,но
|
||||
ых f МС-П мн,вн,но
|
||||
Лх f МС-П мн,вн,од
|
||||
ыц f МС-П мн,тв,од,но
|
||||
ыч f МС-П мн,пр,од,но
|
||||
ыш f МС-П 0,од,но
|
||||
ыщ g МС-ПРЕДК ед,рд
|
||||
ыы g МС-ПРЕДК ед,дт
|
||||
ыэ g МС-ПРЕДК ед,вн
|
||||
ыю g МС-ПРЕДК ед,тв
|
||||
|
||||
// это анал. форма "не о ком"
|
||||
ыь g МС-ПРЕДК ед,пр
|
||||
|
||||
ыя g МС-ПРЕДК
|
||||
эа h ЧИСЛ им
|
||||
эб h ЧИСЛ рд
|
||||
эв h ЧИСЛ дт
|
||||
эг h ЧИСЛ вн
|
||||
эд h ЧИСЛ тв
|
||||
эе h ЧИСЛ пр
|
||||
|
||||
Ца h ЧИСЛ им,арх
|
||||
Цб h ЧИСЛ рд,арх
|
||||
Цв h ЧИСЛ дт,арх
|
||||
Цг h ЧИСЛ вн,арх
|
||||
Цд h ЧИСЛ тв,арх
|
||||
Це h ЧИСЛ пр,арх
|
||||
|
||||
|
||||
эж h ЧИСЛ мр,им
|
||||
эз h ЧИСЛ мр,рд
|
||||
эи h ЧИСЛ мр,дт
|
||||
эй h ЧИСЛ мр,вн
|
||||
эк h ЧИСЛ мр,тв
|
||||
эл h ЧИСЛ мр,пр
|
||||
эм h ЧИСЛ жр,им
|
||||
эн h ЧИСЛ жр,рд
|
||||
эо h ЧИСЛ жр,дт
|
||||
эп h ЧИСЛ жр,вн
|
||||
эр h ЧИСЛ жр,тв
|
||||
эс h ЧИСЛ жр,пр
|
||||
эт h ЧИСЛ ср,им
|
||||
эу h ЧИСЛ ср,рд
|
||||
эф h ЧИСЛ ср,дт
|
||||
эх h ЧИСЛ ср,вн
|
||||
эц h ЧИСЛ ср,тв
|
||||
эч h ЧИСЛ ср,пр
|
||||
эш h ЧИСЛ сравн
|
||||
юа i ЧИСЛ-П мр,ед,им,од,но
|
||||
юб i ЧИСЛ-П мр,ед,рд,од,но
|
||||
юв i ЧИСЛ-П мр,ед,дт,од,но
|
||||
юг i ЧИСЛ-П мр,ед,вн,но
|
||||
Лт i ЧИСЛ-П мр,ед,вн,од
|
||||
юд i ЧИСЛ-П мр,ед,тв,од,но
|
||||
юе i ЧИСЛ-П мр,ед,пр,од,но
|
||||
юж i ЧИСЛ-П жр,ед,им,од,но
|
||||
юз i ЧИСЛ-П жр,ед,рд,од,но
|
||||
юи i ЧИСЛ-П жр,ед,дт,од,но
|
||||
юй i ЧИСЛ-П жр,ед,вн,од,но
|
||||
юк i ЧИСЛ-П жр,ед,тв,од,но
|
||||
юл i ЧИСЛ-П жр,ед,пр,од,но
|
||||
юм i ЧИСЛ-П ср,ед,им,од,но
|
||||
юн i ЧИСЛ-П ср,ед,рд,од,но
|
||||
юо i ЧИСЛ-П ср,ед,дт,од,но
|
||||
юп i ЧИСЛ-П ср,ед,вн,од,но
|
||||
юр i ЧИСЛ-П ср,ед,тв,од,но
|
||||
юс i ЧИСЛ-П ср,ед,пр,од,но
|
||||
ют i ЧИСЛ-П мн,им,од,но
|
||||
юу i ЧИСЛ-П мн,рд,од,но
|
||||
юф i ЧИСЛ-П мн,дт,од,но
|
||||
юх i ЧИСЛ-П мн,вн,но
|
||||
Лу i ЧИСЛ-П мн,вн,од
|
||||
юц i ЧИСЛ-П мн,тв,од,но
|
||||
юч i ЧИСЛ-П мн,пр,од,но
|
||||
ющ i ЧИСЛ-П рд,од,но
|
||||
|
||||
// наречия
|
||||
яа j Н
|
||||
ян j Н вопр
|
||||
яо j Н указат
|
||||
яп j Н разг
|
||||
|
||||
// "мне интересно","мне было страшно"
|
||||
яб k ПРЕДК нст
|
||||
як k ПРЕДК прш
|
||||
ял k ПРЕДК
|
||||
// мне лучше
|
||||
яр k ПРЕДК сравн,нст
|
||||
|
||||
// "вот", "хрусть" (нет анал. форм)
|
||||
ям k ПРЕДК 0
|
||||
|
||||
яв l ПРЕДЛ
|
||||
яг m ПОСЛ
|
||||
яд n СОЮЗ
|
||||
яе o МЕЖД
|
||||
яё o МЕЖД разг
|
||||
яж p ЧАСТ
|
||||
яз q ВВОДН
|
||||
яй s ФРАЗ
|
||||
Пп b Г стр,буд,1л,ед
|
||||
Пр b Г стр,буд,1л,мн
|
||||
Пс b Г стр,буд,2л,ед
|
||||
Пт b Г стр,буд,2л,мн
|
||||
Пу b Г стр,буд,3л,ед
|
||||
Пф b Г стр,буд,3л,мн
|
||||
|
||||
|
||||
|
||||
|
||||
// общие граммемы (словообразовательные)
|
||||
Уа a * лок
|
||||
// Уб a *
|
||||
// Ув a *
|
||||
// Уг a *
|
||||
// Уд a *
|
||||
Уе a * кач
|
||||
Уж a * дфст
|
||||
Уз a * дфст,орг
|
||||
Уи a * дфст,лок
|
||||
//Ук a *
|
||||
Ул a * св,пе
|
||||
Ум a * св,нп
|
||||
Ун a * нс,пе
|
||||
Уо a * нс,нп
|
||||
Уп a * св,нс,пе
|
||||
Ур a * св,нс,нп
|
||||
|
||||
|
||||
// для безличных глаголов
|
||||
Ус a * нс
|
||||
Ут a * св
|
||||
|
||||
Уф a * жарг
|
||||
Ух a * опч
|
||||
Уч a * жарг,опч
|
||||
Уц a * орг,жарг
|
||||
Уш a * лок,жарг
|
||||
|
||||
Ущ a * но,лок
|
||||
Уь a * но,орг
|
||||
Уы a * од,фам
|
||||
Уъ a * но,дфст,лок
|
||||
Уэ a * но,дфст,орг
|
||||
Ую a * но,жарг
|
||||
Уя a * но,опч,
|
||||
Фа a * но,
|
||||
Фб a * од,
|
||||
Фв a * орг,жарг,но
|
||||
Фг a * дфст,но
|
||||
Фд a * дфст,од
|
||||
Фж a * од,жарг
|
||||
Фз a * имя,притяж
|
||||
Фи a * притяж
|
||||
Фк a * св,пе,разг
|
||||
Фл a * св,нп,разг
|
||||
Фн a * нс,пе,разг
|
||||
Фо a * нс,нп,разг
|
||||
Фп a * но,разг
|
||||
Фр a * од,разг
|
||||
Фс a * св,пе,жарг
|
||||
Фт a * св,нп,жарг
|
||||
Фу a * нс,пе,жарг
|
||||
Фф a * нс,нп,жарг
|
||||
Фх a * разг
|
||||
Фц a * арх
|
||||
Фч a * св,пе,арх
|
||||
Фш a * св,нп,арх
|
||||
Фщ a * нс,пе,арх
|
||||
Фь a * нс,нп,арх
|
||||
Фы a * но,арх
|
||||
Фъ a * од,арх
|
||||
Фэ a * нс,арх
|
||||
Фю a * св,арх
|
||||
Фя a * кач,арх
|
||||
Фё a * но,од
|
||||
Ха a * од,опч,
|
||||
Хб a * лок,опч,
|
||||
|
||||
|
||||
|
||||
яю F С мр,жр,ср,ед,им,рд,дт,вн,тв,пр
|
||||
яя F С мр,жр,ср,,ед,мн,им,рд,дт,вн,тв,пр
|
1210
parser/mp-en.lua
Normal file
1210
parser/mp-en.lua
Normal file
File diff suppressed because it is too large
Load diff
1184
parser/mp-ru.lua
Normal file
1184
parser/mp-ru.lua
Normal file
File diff suppressed because it is too large
Load diff
2812
parser/mp.lua
Normal file
2812
parser/mp.lua
Normal file
File diff suppressed because it is too large
Load diff
3088
parser/mplib.lua
Normal file
3088
parser/mplib.lua
Normal file
File diff suppressed because it is too large
Load diff
41
parser/react.lua
Normal file
41
parser/react.lua
Normal file
|
@ -0,0 +1,41 @@
|
|||
-- react_ and postreact_ event module for reactions near the object
|
||||
|
||||
--[[ include 'listen'
|
||||
obj {
|
||||
nam = 'npc';
|
||||
react_Take = "Player in this room is taking something. Reject!";
|
||||
}:listen();
|
||||
]]--
|
||||
|
||||
--luacheck: globals mp
|
||||
--luacheck: no self
|
||||
game.react_list = std.list {}
|
||||
|
||||
function game:before_Any(ev, ...)
|
||||
for _, v in ipairs(game.react_list) do
|
||||
if v:inroom() == std.here() then
|
||||
local r = mp:runmethods('react', ev, v, ...)
|
||||
if r ~= false then
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function game:post_Any(ev, ...)
|
||||
for _, v in ipairs(game.react_list) do
|
||||
if v:inroom() == std.here() then
|
||||
local r = mp:runmethods('postreact', ev, v, ...)
|
||||
if r ~= false then
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
return false
|
||||
end
|
||||
|
||||
function std.obj.listen(s)
|
||||
game.react_list:add(s)
|
||||
return s
|
||||
end
|
Loading…
Reference in a new issue