@svgboyzs

Проверка строки через Stateless Framework. Как реализовать?

Всем привет! Написал программу-модель ДКА с помощью framework stateless, введенная строка после посимвольной проверки должна остаться в начальном состоянии. Не могу понять как связать строку и модель ДКА. Для примера можно взять строку, элементы которой пройдут всю модель и останутся в q0
string isValue = "11010";


Сама модель:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Stateless;
using Stateless.Graph;

namespace Lib1
{
    enum State
    {
        Q0,
        Q1,
        Q2
    }

    enum Input
    {
        One = 1,
        Zero = 0
    }

    class Program
    {

        static void Main(string[] args)
        {
            string isValue = "11010";
            var stateMachine = new StateMachine<State, Input>(State.Q0);

            stateMachine.Configure(State.Q0)
                .Permit(Input.Zero, State.Q2)
                .PermitReentry(Input.One);

            stateMachine.Configure(State.Q1)
                .Permit(Input.Zero, State.Q0)
                .PermitReentry(Input.One);

            stateMachine.Configure(State.Q2)
               .Permit(Input.One, State.Q1)
               .PermitReentry(Input.Zero);

          //  stateMachine.Fire(Input.Zero);

            string graph = UmlDotGraph.Format(stateMachine.GetInfo());
            Console.WriteLine(graph);
        }
    }
}


Вывод на консоль:

1hI_3i1IHi4.jpg

Сама модель:

XMZ7mjX-7qA.jpg
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы