##// END OF EJS Templates
added Safe.DispatchEvent() a legacy equivalent for '?.Invoke()'...
added Safe.DispatchEvent() a legacy equivalent for '?.Invoke()' added Safe.Dispose(IEnumerable) added PromiseExtensions.CancellationPoint to add a cancellation point to the chain of promises added IPromise<T> PromiseExtensions.Then<T>(this IPromise<T> that, Action<T> success) overloads added PromiseExtensions.Error() overloads to handle a error or(and) a cancellation

File last commit:

r171:0f70905b4652 ref20160224
r207:558f34b2fb50 v2
Show More
IAlphabetBuilder.cs
26 lines | 1.3 KiB | text/x-csharp | CSharpLexer
using System.Collections.Generic;
namespace Implab.Automaton {
public interface IAlphabetBuilder<TSymbol> : IAlphabet<TSymbol> {
/// <summary>
/// Добавляет новый символ в алфавит, если символ уже был добавлен, то
/// возвращается ранее сопоставленный с символом класс.
/// </summary>
/// <param name="symbol">Символ для добавления.</param>
/// <returns>Индекс класса, который попоставлен с символом.</returns>
int DefineSymbol(TSymbol symbol);
int DefineSymbol(TSymbol symbol, int cls);
/// <summary>
/// Доабвляем класс символов. Множеству указанных исходных символов
/// будет сопоставлен символ в алфавите.
/// </summary>
/// <param name="symbols">Множестов исходных символов</param>
/// <returns>Идентификатор символа алфавита.</returns>
int DefineClass(IEnumerable<TSymbol> symbols);
int DefineClass(IEnumerable<TSymbol> symbols, int cls);
}
}