Mercurial > pub > ImplabNet
comparison Implab/Automaton/IAlphabetBuilder.cs @ 190:1c2a16d071a7 v2
Слияние с ref20160224
| author | cin |
|---|---|
| date | Fri, 22 Apr 2016 13:08:08 +0300 |
| parents | 0f70905b4652 |
| children |
comparison
equal
deleted
inserted
replaced
| 161:2a8466f0cb8a | 190:1c2a16d071a7 |
|---|---|
| 1 | |
| 2 using System.Collections.Generic; | |
| 3 | |
| 4 namespace Implab.Automaton { | |
| 5 public interface IAlphabetBuilder<TSymbol> : IAlphabet<TSymbol> { | |
| 6 /// <summary> | |
| 7 /// Добавляет новый символ в алфавит, если символ уже был добавлен, то | |
| 8 /// возвращается ранее сопоставленный с символом класс. | |
| 9 /// </summary> | |
| 10 /// <param name="symbol">Символ для добавления.</param> | |
| 11 /// <returns>Индекс класса, который попоставлен с символом.</returns> | |
| 12 int DefineSymbol(TSymbol symbol); | |
| 13 | |
| 14 int DefineSymbol(TSymbol symbol, int cls); | |
| 15 /// <summary> | |
| 16 /// Доабвляем класс символов. Множеству указанных исходных символов | |
| 17 /// будет сопоставлен символ в алфавите. | |
| 18 /// </summary> | |
| 19 /// <param name="symbols">Множестов исходных символов</param> | |
| 20 /// <returns>Идентификатор символа алфавита.</returns> | |
| 21 int DefineClass(IEnumerable<TSymbol> symbols); | |
| 22 | |
| 23 int DefineClass(IEnumerable<TSymbol> symbols, int cls); | |
| 24 } | |
| 25 } | |
| 26 |
