Появился плагин, который должен самостоятельно генерировать лексемы. Но в связи с практически полным отсутствием свободного времени он делался крайне некачественно и сейчас выглядит больше как пробная болванка для тестирования системы плагинов ТОМ, чем генератора. В нормальных условиях я бы и не подумал выкладывать его, но сейчас я не уверен даже, что он запустится у других. Поэтому прошу, если у кого есть свободное время и трафик, протестировать плагин на корректный запуск и выгрузку. Даже у меня модуль генерации лексем не всегда корректно загружается (ни как не могу найти причину, больше похоже на проблемы с железом). Если у других будет загружаться нормально, то можно продолжить корректировать генерацию, иначе надо будет искать проблему с загрузкой.
Вот плагин, но он довольно редко правильно генерирует лексемы. Главное, что нужно проверить: при запуске ТОМа должно появляться окно "Загружено". При закрытии - "Выгружено". А так-же во время работы есть функции: "гл" и "gl", которые значат одно и то-же и генерируют лексему. Т.е. если набрать "гл ложка", то он сгенерирует лексему для ложки (ну или попытается сгенерировать). Пока есть только один шаблон "сущ" и функция автоопределения шаблона не сделана, поэтому даже добавление других шаблонов не изменит погоду - всегда будет использоваться "сущ" для генерации существительных.
А сейчас о размере: плагин сейчас очень много весит. Даже сама dll занимает больше мегабайта, что очень сурово для плагина. Но это временно, dll можно уменьшить, а вот словарь навряд-ли.
В связи с небольшими модификациями модуля генератор довольно долго грузится (около 2х секунд), поэтому ТОМ при запуске может ненадолго входить в ступор.
Если плагин пройдёт тесты на других компьютерах и будет свободное время, то вскоре возможно будет писать лексемы совсем по иному:
// Без применения плагина:
title = "ви%;; МрЕч3лНв;
    МрЕчПв=дел;   ЖрЕчПв=дела;   СрЕчПв=дело; МчПв=дели; //прошедшее время
    ТыЕч1лНв=жу;  ТыЕч2лНв=дишь; ТыЕч3лНв=дит; //настоящее время на ты
    ВыЕч1лНв=жу;  ВыЕч2лНв=дите; ВыЕч3лНв=дит; //настоящее время на вы
    МыЕч1лНв=дим; МыЕч2лНв=дите; МыЕч3лНв=дят; //настоящее время на мы
    Мч1лНв=дим;   Мч2лНв=дите;   Мч3лНв=дят;"
// То-же самое с плагином:
title = gl("видел")
// Без плагина:
title = "обычн%; Пи; МрЕчИп;
    МрЕчИп=ый; МрЕчРп=ого; МрЕчДп=ому; МрЕчВпОд=ого; МрЕчВпНд=ый; МрЕчТп=ым; МрЕчПп=ом;
    ЖрЕчИп=ая; ЖрЕчРп=ой;  ЖрЕчДп=ой;         ЖрЕчВп=ую;          ЖрЕчТп=ой; ЖрЕчПп=ой;
    СрЕчИп=ое; СрЕчРп=ого; СрЕчДп=ому;        СрЕчВп=ое;          СрЕчТп=ым; СрЕчПп=ом;
    МчИп=ые;   МчРп=ых;    МчДп=ым;    МчВпОд=ых;    МчВпНд=ые;   МчТп=ыми;  МчПп=ых;"
// С плагином:
title = гл("обычный")
// И ещё примерчик:
title="мышин% домик%; НдЕчМр; Ип; Ип=ый,; Рп=ого,а; Дп=ому,у; Вп=ый,; Тп=ым,ом; Пп=ом,е"
title = гл("мышиный домик")ПыЗы: ещё технический вопросик. Ведь строки, которые передаются из плагина в tom.dll - это ведь всего-лишь указатели на строки. А кто должен выгружать их из памяти? Это делается на стороне ТОМа? Не происходит ли тут утечек памяти?



 Действительно! Скомпилирована в релизном режиме, но вот менеджер памяти отключить забыл. Торопился в час ночи. Прошу прощения.
 Если не работает, пните меня за криворукость. 
 
 
 

 

