Mercurial > pub > ImplabNet
comparison Implab/Automaton/IAlphabetBuilder.cs @ 192:f1da3afc3521 release v2.1
Слияние с v2
author | cin |
---|---|
date | Fri, 22 Apr 2016 13:10:34 +0300 |
parents | 0f70905b4652 |
children |
comparison
equal
deleted
inserted
replaced
71:1714fd8678ef | 192:f1da3afc3521 |
---|---|
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 |