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