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 |