Ragel – свободный компилятор конечных автоматов, производящий исходный код на C, C++, C#, Objective-C, D, Java, OCaml (Objective Caml), Go и Ruby. Работает под управлением Microsoft Windows и на UNIX-подобных операционных системах.
Особенности Ragel
Ragel хорошо подходит для построения лексических анализаторов и спецификации протоколов передачи данных.
С целью разрешения недетерминизма предусмотрена система приоритетов для операторов регулярного языка.
Примеры применения Ragel
Зед Шоу использовал Ragel для своего веб-сервера Mongrel при написании высокопроизводительного анализатора пользовательских HTTP-запросов.
Ссылки