Mercurial > pub > ImplabNet
diff Implab/Automaton/IAlphabet.cs @ 171:0f70905b4652 ref20160224
Working on regular DFA
author | cin |
---|---|
date | Thu, 10 Mar 2016 01:19:33 +0300 |
parents | 0526412bbb26 |
children |
line wrap: on
line diff
--- a/Implab/Automaton/IAlphabet.cs Fri Mar 04 01:56:31 2016 +0300 +++ b/Implab/Automaton/IAlphabet.cs Thu Mar 10 01:19:33 2016 +0300 @@ -21,28 +21,14 @@ int Count { get; } /// <summary> - /// Создает карту обратного сопоставления класса символов алфавита и сопоставленным - /// ему исходным символам. - /// </summary> - /// <returns></returns> - List<TSymbol>[] CreateReverseMap(); - - /// <summary> - /// Создает новый алфавит на основе текущего, горппируя его сиволы в более - /// крупные непересекающиеся классы символов. - /// </summary> - /// <param name="newAlphabet">Новый, пустой алфавит, в котором быдут определены классы.</param> - /// <param name="classes">Множество классов символов текущего алфавита.</param> - /// <returns>Карта для перехода классов текущего - /// алфавита к классам нового.</returns> - /// <remarks>Ползволяет укрупнить алфавит, объединив классы в текущем алфавите. Используется при оптимизации автомата.</remarks> - int[] Reclassify(IAlphabetBuilder<TSymbol> newAlphabet, IEnumerable<IEnumerable<int>> classes); - - /// <summary> /// Преобразует входной символ в индекс символа из алфавита. /// </summary> /// <param name="symobl">Исходный символ</param> /// <returns>Индекс в алфавите</returns> int Translate(TSymbol symobl); + + bool Contains(TSymbol symbol); + + IEnumerable<TSymbol> GetSymbols(int cls); } }