Учитывая шаблон и поток данных в качестве входных данных, создайте все возможные комбинации уникальных событий (алфавитов) в потоке, которые придерживаются шаблона, и найдите шаблоны (комбинации), которые соответствуют в потоке.
Поток должен обрабатываться по одному символу за раз.Шаблон задается пользователем, например (AB) +, где A и B являются заполнителями для алфавитов X, Y, Z.Следовательно, все возможные комбинации / шаблоны будут (XY) +, (XZ) +, (YX) +, ... и т. Д.). Эти шаблоны будут созданы в нескольких конечных автоматах, которые будут обрабатывать один элемент за раз изодновременно с потоковой передачей и выдачей соответствующих шаблонов в потоке.
Я пытаюсь использовать Ragel для создания конечных автоматов и добавления их в мой проект Java.
IЯ никогда не использовал Ragel.Некоторые примеры того, как решить проблему, были бы великолепны.Также, как использовать Ragel с Java и эффективен ли этот подход или есть ли какие-либо ограничения в использовании Ragel с Java.