- Код: Выделить всё
Type Word
Root As String 'корень слова
Prefix As Byte 'приставка
Postfix As Byte 'окончание
Suffixes As Suffixes 'суффиксы
End Type
Enum Suffixes
sufAD = 1
sufAC = 2
sufAĉ = 4
sufAĵ = 8
'и т.д. по степеням двойки
End Enum
Суффиксы хочу сохранять с помощью побитового Or, чтобы потом быстро проверять наличие того или иного суффикса с помощью And. Проблема в том, чтобы значение произвольного набора суффиксов гарантированно не содержало значение суффикса, которого там нет. Пока что закодировал суффиксы степенями двойки, однако суффиксов в эсперанто — 45, что дает напрягающе большое число, которое заведомо перекрывает все возможные комбинации.
Очевидно, что часть суффиксов в одном слове вместе встречаться не может. Как, учитывая это правило, выбрать значения суффиксов, чтобы выполнялось условие x or y or ... <> i or j or ...?
Вот полный список суффиксов:
-ac- - наменование семейства (бот.) / fabacoj - бобовые.
-ed- - наименование семейства (зоол.) / cervedoj - оленьи
-ĉj- - образование ласкательных существительных, относящихся к мужчине / paĉjo - папочка
-nj- - образование ласкательных существительных, относящихся к женщине / Manjo - Маша, Маня, Маруся
-iĉ- - мужской пол / katiĉo - кот
-in- - женский пол / katino - кошка
-ig- - сделать каким-то, заставить, побудить / blanka blankigi - белый побелить, bruligi - наточить, сжечь
-iĝ- - сделаться, стать / blankiĝi - побелеть
-ism- - пристрастие / alkoholismo - алкоголизм
-ist- - профессия, принадлежность / vodkisto - водочник
причастия и деепричастия
действительного залога
-ant- - настоящее / drinkanta - пьющий
-int- - прошедшее / drinkinta - пивший
-ont- - будущее / drinkonta - будущий пить
страдательного залога
-at- - настоящее / drinkata - выпиваемая
-it- - прошедшее / drinkita - выпитая
-ot- - будущее / drinkota - будущая выпитой
-ad- - продолжительность / pafo, pafado - выстрел, стрельба; drinki, drinkadi - пить, пьянствовать
-aĉ- - низкое качество, никчёмность, непригодность, пренебрежение, презрение / ĉevalaĉo - кляча, ridaĉi - ухмыляться, кривиться
-aĵ- - воплощение (объект) / aĵo - вещь
-an- - житель нас. пункта, член общества / vodkano - водчанин
-ar- - объявление коллекции (ряд однородных предметов) / vodkaro - ящик водки
-ebl- - пассивная возможность / manĝebla - съедобный
-ec- - воплощение (понятие) / dinkeco - пьянство
-eg- - увеличение / grandega - огромный
-ej- - помещение / vodejo - водчная (рюмочная)
-em- - склонность / drinkemo - пьяница
-end- - обязательство к исполнению / farenda laboro - работа, которая должна быть сделана
-er- - случайный; неопределенный элемент коллекции (частица целого) / fajro, fajrero - огонь, искра
-esk- - подобный
-estr - главная персона, начальник / ŝipestro - капитан корабля
-et- - уменьшительное / vodketo - водочка
-id- - потомок / kato - кошко, katido - котенок
-ik- - область науки или техники, специальность / ĵurnalistiko - журналистика
-il- - инструмент / skribi, skribilo - писать, ручка
-ind- - достойный, заслуживающий / drinkinda vodko - водка, достойная выпивания
-ing- - предмет, в который что-то вствляется / vodkingo - подводочник
-it- - болезнь (мед.), минерал (геол.), соль (хим.) / bronkito - бронхит, magnetito - магнетит, sulfito - сульфит
-iv- - способный, могущий / produktiva - производительный, продуктивный.
-iz- - снабжать, покрывать, добавлять / orizi - покрывать золотом
-obl- - кратное числительное / duobla vodko - двойная водка
-on- - дробное числительное / duono kaj du kvarono de litro de vodko eatas uno litro - половина и две четверти литра водки это один литр
-op- - собирательное числительное / ni drinkas la vodko triope - мы пьем водку втроем
-oz- - обилие, многочисленность (неофиц.) / poroza - пористый (= porhava, porplena), ŝtonoza - каменистый (= ŝtonhava, ŝtonplena, ŝtonriĉa)
-uj- - вместилище, плодовое дерево, страна (устарело)
-ul- - доминирующее свойство / drinkulo - пьяница
-um- - без определённого значения, применяется, когда никакой другой суффикс не подходит по смыслу / aerumi - проветривать
Список разделен пустыми строками на группы, суффиксы, входящие в каждую группу, не могут встречаться вместе в одном слове. За исключением последней группы.