Какие есть фрэймворки/библиотеки для реализации конечного автомата под .NET? Всем доброго времени суток. Подскажите, пожалуйста, есть ли какие-нибудь фрэймворки/библиотеки для конечного автомата под .NET (C#). Нужны базовые функции для FSA - построение, проверка, редактирование, исполнение, может быть, преобразование NFA в DFA и минимизация. Также должна присутствовать возможность расширения - прикрутить частоты/вероятности к переходам, ограничения на циклы (типа квантификаторов в RE), объекты в качестве входных символов и т.д. (а может, уже есть что-то с подобным функционалом?). Или хотя бы похожие примеры.

21 Авг 2019 в 06:12
172 +1
0
Ответы
1

Есть несколько библиотек для работы с конечными автоматами под .NET:

Stateless – простая библиотека для создания и управления конечными автоматами. Она позволяет определять состояния, события и переходы между ними. Пример использования можно найти на сайте https://github.com/dotnet-state-machine/stateless.

Automatonymous – библиотека для работы с конечными автоматами, разработанная компанией MassTransit. Она позволяет создавать сложные автоматы с поддержкой состояний, событий, действий и дополнительных условий. Использует язык программирования F#.

Automata.NET – библиотека для работы с конечными автоматами и регулярными выражениями. Позволяет строить автоматы из регулярных выражений, определять переходы между состояниями и выполнять проверку входных данных на соответствие автомату.

NFA and DFA Library – библиотека для работы с конечными автоматами, включая поддержку преобразования из недетерминированных автоматов в детерминированные. Позволяет определять состояния, переходы, алфавит и другие параметры автомата.

Надеюсь, что эти библиотеки помогут вам реализовать ваш конечный автомат под .NET.

20 Апр 2024 в 13:22
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир