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);
     }
 }