Лучшие вопросы
Таймлайн
Чат
Перспективы
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].
См. также
- Executable UML[англ.]
- Конечный автомат
- Flex
- Lex
- Регулярные выражения
- Umple[англ.]
Примечания
Ссылки
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads