Mercurial > pub > ImplabNet
comparison Implab/Parsing/IAlphabetBuilder.cs @ 161:2a8466f0cb8a v2
DFA refactoring
author | cin |
---|---|
date | Fri, 19 Feb 2016 18:07:17 +0300 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
160:5802131432e4 | 161:2a8466f0cb8a |
---|---|
1 using System; | |
2 using System.Collections.Generic; | |
3 | |
4 namespace Implab.Parsing { | |
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 /// <summary> | |
14 /// Доабвляем класс символов. Множеству указанных исходных символов | |
15 /// будет сопоставлен символ в алфавите. | |
16 /// </summary> | |
17 /// <param name="symbols">Множестов исходных символов</param> | |
18 /// <returns>Идентификатор символа алфавита.</returns> | |
19 int DefineClass(IEnumerable<TSymbol> symbols); | |
20 | |
21 | |
22 | |
23 } | |
24 } | |
25 |