Я пытаюсь использовать Ragel для реализации простого да / нет ФСМ. К сожалению, спецификация языка состоит из объединения около тысячи регулярных выражений, в большинстве из которых операторы * появляются один или несколько раз. Таким образом, число возможных состояний увеличивается, и кажется, что использовать Ragel для генерации fsm для моего языка будет невозможно. Есть ли инструмент, который может делать то, что мне нужно, или я должен поменяться подходами? Мне нужно что-то лучше, чем проверка входных строк по каждому регулярному выражению по очереди. Я мог бы разделить тысячу регулярных выражений на куски ~ 50 и сгенерировать fsm для каждого, и запустить каждую входную строку для всех машин, но если есть инструмент, который может справиться с такой работой без такого взлома, я был бы рад слышать об этом.
Спасибо!