Лучшие вопросы
Таймлайн
Чат
Перспективы

Ragel

Из Википедии, свободной энциклопедии

Remove ads

Ragel — компилятор конечных автоматов, производящий исходный код на C, C++, C#, Objective-C, D, Java, OCaml, Go и Ruby[4].

Remove ads

Особенности

Исходным текстом конечного автомата для Ragel служит расширенный язык регулярных выражений[5] и/или диаграмма состояний конечного автомата. Ragel хорошо подходит для построения лексических анализаторов и спецификации протоколов передачи данных[6].

Ragel позволяет внедрять в любой точке выполнения автомата определяемые пользователем действия. С целью разрешения недетерминизма предусмотрена система приоритетов для операторов регулярного языка.

Ragel поддерживает визуализацию генерируемого автомата с помощью graphviz.

Remove ads

Примеры применения

Зед Шоу[англ.] использовал Ragel для своего веб-сервера Mongrel при написании высокопроизводительного анализатора пользовательских HTTP-запросов[7].

См. также

Примечания

Ссылки

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads