using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Implab.Parsing { /// /// Интерфейс для определения ДКА, позволяет добавить состояния и определить переходы. /// public interface IDFADefinition { /// /// Добавляет состояние в автомат. /// /// Индекс добавленного состояния. int AddState(); /// /// Добавляет конечное состояние с указанными метками, если метки не заданы, то /// добавленное состояние не будет конечным. /// /// Метки состояния. /// Индекс добавленного состояния. int AddState(int[] tags); /// /// Определяет переход между состояниями. /// /// Исходное состояние. /// Конечное состояние. /// Входной символ. void DefineTransition(int s1, int s2, int input); /// /// Размер входного алфавита. /// /// /// Размер входного алфавита определяет количество возможных выходов из одного состояния. /// int AlphabetSize { get; } } }