генератор программного кода на основе описаний конечных автоматов
Ragel генерирует программный код на языках C, C++, Objective-C, D, Ruby или
Java, на основе описаний на регулярных языках. Ragel позволяет внедрять в
описание необходимые действия в любой точке выполнения автомата. Для
разрешения недетерминизма предусмотрены система приоритетов и операторы
регулярного языка. Ragel также позволяет конструировать сканнеры и конечные
автоматы по диаграммам состояний. Ragel может быть использован для
создания универсальных быстродействующих распознавателей и анализаторов. Он
может работать с 32-разрядными алфавитами и компилировать большие
конечные автоматы.
Генерируемый код не требует подключения каких-либо библиотек.