annotate Implab/Automaton/IAlphabetBuilder.cs @ 209:a867536c68fc v2

Bound promise to CancellationToken Added new states to ExecutionSate enum. Added Safe.Guard() method to handle cleanup of the result of the promise
author cin
date Wed, 16 Nov 2016 03:06:08 +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