using System.Collections.Generic; namespace Implab.Automaton { public interface IAlphabetBuilder : IAlphabet { /// /// Добавляет новый символ в алфавит, если символ уже был добавлен, то /// возвращается ранее сопоставленный с символом класс. /// /// Символ для добавления. /// Индекс класса, который попоставлен с символом. int DefineSymbol(TSymbol symbol); int DefineSymbol(TSymbol symbol, int cls); /// /// Доабвляем класс символов. Множеству указанных исходных символов /// будет сопоставлен символ в алфавите. /// /// Множестов исходных символов /// Идентификатор символа алфавита. int DefineClass(IEnumerable symbols); int DefineClass(IEnumerable symbols, int cls); } }