annotate Implab/Automaton/IAlphabetBuilder.cs @ 187:dd4a3590f9c6 ref20160224

Reworked cancelation handling, if the cancel handler isn't specified the OperationCanceledException will be handled by the error handler Any unhandled OperationCanceledException will cause the promise cancelation
author cin
date Tue, 19 Apr 2016 17:35:20 +0300
parents 0f70905b4652
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
162
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
1 
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
2 using System.Collections.Generic;
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
3
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
4 namespace Implab.Automaton {
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
5 public interface IAlphabetBuilder<TSymbol> : IAlphabet<TSymbol> {
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
6 /// <summary>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
7 /// Добавляет новый символ в алфавит, если символ уже был добавлен, то
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
8 /// возвращается ранее сопоставленный с символом класс.
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
9 /// </summary>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
10 /// <param name="symbol">Символ для добавления.</param>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
11 /// <returns>Индекс класса, который попоставлен с символом.</returns>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
12 int DefineSymbol(TSymbol symbol);
171
0f70905b4652 Working on regular DFA
cin
parents: 164
diff changeset
13
0f70905b4652 Working on regular DFA
cin
parents: 164
diff changeset
14 int DefineSymbol(TSymbol symbol, int cls);
162
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
15 /// <summary>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
16 /// Доабвляем класс символов. Множеству указанных исходных символов
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
17 /// будет сопоставлен символ в алфавите.
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
18 /// </summary>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
19 /// <param name="symbols">Множестов исходных символов</param>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
20 /// <returns>Идентификатор символа алфавита.</returns>
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
21 int DefineClass(IEnumerable<TSymbol> symbols);
171
0f70905b4652 Working on regular DFA
cin
parents: 164
diff changeset
22
0f70905b4652 Working on regular DFA
cin
parents: 164
diff changeset
23 int DefineClass(IEnumerable<TSymbol> symbols, int cls);
162
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
24 }
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
25 }
0526412bbb26 DFA refactoring
cin
parents:
diff changeset
26