Mercurial > pub > ImplabNet
comparison Implab/Parsing/IDFADefinition.cs @ 55:c0bf853aa04f
Added initial JSON support
+JSONParser
+JSONWriter
author | cin |
---|---|
date | Sun, 15 Jun 2014 19:39:11 +0400 |
parents | |
children | 130781364799 |
comparison
equal
deleted
inserted
replaced
51:2c332a9c64c0 | 55:c0bf853aa04f |
---|---|
1 using System; | |
2 using System.Collections.Generic; | |
3 using System.Linq; | |
4 using System.Text; | |
5 using System.Threading.Tasks; | |
6 | |
7 namespace Implab.Parsing { | |
8 /// <summary> | |
9 /// Интерфейс для определения ДКА, позволяет добавить состояния и определить переходы. | |
10 /// </summary> | |
11 public interface IDFADefinition { | |
12 /// <summary> | |
13 /// Добавляет состояние в автомат. | |
14 /// </summary> | |
15 /// <returns>Индекс добавленного состояния.</returns> | |
16 int AddState(); | |
17 /// <summary> | |
18 /// Добавляет конечное состояние с указанными метками, если метки не заданы, то | |
19 /// добавленное состояние не будет конечным. | |
20 /// </summary> | |
21 /// <param name="tags">Метки состояния.</param> | |
22 /// <returns>Индекс добавленного состояния.</returns> | |
23 int AddState(int[] tags); | |
24 /// <summary> | |
25 /// Определяет переход между состояниями. | |
26 /// </summary> | |
27 /// <param name="s1">Исходное состояние.</param> | |
28 /// <param name="s2">Конечное состояние.</param> | |
29 /// <param name="input">Входной символ.</param> | |
30 void DefineTransition(int s1, int s2, int input); | |
31 /// <summary> | |
32 /// Размер входного алфавита. | |
33 /// </summary> | |
34 int AlphabetSize { get; } | |
35 } | |
36 } |