Mercurial > pub > ImplabNet
comparison 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 |
comparison
equal
deleted
inserted
replaced
170:181119ef3b39 | 171:0f70905b4652 |
---|---|
19 /// Количество классов символов в алфавите. | 19 /// Количество классов символов в алфавите. |
20 /// </summary> | 20 /// </summary> |
21 int Count { get; } | 21 int Count { get; } |
22 | 22 |
23 /// <summary> | 23 /// <summary> |
24 /// Создает карту обратного сопоставления класса символов алфавита и сопоставленным | |
25 /// ему исходным символам. | |
26 /// </summary> | |
27 /// <returns></returns> | |
28 List<TSymbol>[] CreateReverseMap(); | |
29 | |
30 /// <summary> | |
31 /// Создает новый алфавит на основе текущего, горппируя его сиволы в более | |
32 /// крупные непересекающиеся классы символов. | |
33 /// </summary> | |
34 /// <param name="newAlphabet">Новый, пустой алфавит, в котором быдут определены классы.</param> | |
35 /// <param name="classes">Множество классов символов текущего алфавита.</param> | |
36 /// <returns>Карта для перехода классов текущего | |
37 /// алфавита к классам нового.</returns> | |
38 /// <remarks>Ползволяет укрупнить алфавит, объединив классы в текущем алфавите. Используется при оптимизации автомата.</remarks> | |
39 int[] Reclassify(IAlphabetBuilder<TSymbol> newAlphabet, IEnumerable<IEnumerable<int>> classes); | |
40 | |
41 /// <summary> | |
42 /// Преобразует входной символ в индекс символа из алфавита. | 24 /// Преобразует входной символ в индекс символа из алфавита. |
43 /// </summary> | 25 /// </summary> |
44 /// <param name="symobl">Исходный символ</param> | 26 /// <param name="symobl">Исходный символ</param> |
45 /// <returns>Индекс в алфавите</returns> | 27 /// <returns>Индекс в алфавите</returns> |
46 int Translate(TSymbol symobl); | 28 int Translate(TSymbol symobl); |
29 | |
30 bool Contains(TSymbol symbol); | |
31 | |
32 IEnumerable<TSymbol> GetSymbols(int cls); | |
47 } | 33 } |
48 } | 34 } |